SODA Engineering Blog
👋

datadogブラウザテストを触ってみた

2023/12/22に公開

\スニダンを開発しているSODA inc.の Advent Calendar 22日目の記事です!!!/

こんにちは。SODAでQAエンジニアをやっているokauchiです。
今回は、datadogブラウザテストを触り始めての所感をお伝えします。

触りはじめたきっかけ

datadogブラウザテスト
https://docs.datadoghq.com/ja/synthetics/browser_tests/?tab=リクエストオプション

SODAではまだE2Eテスト自動化(以降、テスト自動化と記載します)の導入が十分とは言えない状況です。検討を始めているところなのですが、すでにSREとして導入実績のあるdatadogでのブラウザテストを触ってみることにしました。社内にすでに有識者がいるとなれば、テストシナリオ作成、運用でつまずいても相談しやすい環境があるということなので。結果的に他のテスト自動化ツールを選んだとしても、シナリオ作成をする組織の状況も軸として入れておきたいですね。

レコーディングでシナリオを作成する

テストシナリオ作成は、ユーザー操作のレコーディングになります。その後処理の順番や、ウェイト、Assertionなどを追加し、テストシナリオにしていきます。要素の指定はCSSやXPathで厳密にすることも出来、テスト自動化でありがちな似たようなボタンが多い画面での誤操作も回避が出来ますね。シナリオ作成で追加するコマンドも他社の自動化ツールと比べても遜色ない印象を受けました。まだ試せていませんが、Eメールのリンクをクリックする・・というようなステップも追加できるようなので、会員登録のテスト自動化も検討出来そうです。

地味に助かるブラウザ越しのステップのコピぺ

テストシナリオを作成していると、過去に作ったテストシナリオの1ステップだけ他のテストシナリオだけで使いたい・・というようなことも出てきます。datadogブラウザテストでは、コピーしたステップを別のタブで開いているテストシナリオにペーストすることが可能です。コピーが出来るのは1ステップかすべてのステップには限られますが、再度レコーディングをしたり、巨大なテストシナリオをコピーしてテストシナリオ作成、その後必要な数ステップだけ残すというようなこともなくなり、テストシナリオ作成の小回りが効く感じです。

シナリオとサブシナリオを意識する必要がない

自動化テスト対象が会員制のサービスであれば、ログインをしてから各種機能のユースケースをテストすることになりますが、ログインの一連の流れをどのシナリオからでも参照できるように作成すること(サブシナリオ化)が多いと思います。自動化テストツールによっては、この時に通常のシナリオか、他から参照できるサブシナリオなのか、シナリオ作成時点でステータスとして持たせる必要があります。datadogブラウザテストでは 作成したシナリオが共通かどうかと言う区分けはなく、他のシナリオから直接シナリオを呼ぶことができます。これによって作成が完了してから共通シナリオにするべきだった・・というような、テストシナリオ作成時点で意識することが減るので、柔軟なテストシナリオ作成が可能になります。

グローバル変数、ローカル変数

どのシナリオでも使うような値(例えば、メールアドレスやWebURL、検索用の特定のキーワードなど)はグローバル変数として、同じようにそのシナリオだけで使う値はローカル変数として管理が出来ます。変数名も独自につけられるので、あまり組織のテスト自動化に明るくない方でも、決められたデータセットを利用、再利用ができるようになります。

おわりに

まだ他のQA業務の横でちょっと触り始めたぐらいなので、ユースケース数種類のテスト自動化検証に留まっていますが、datadogブラウザテストだけでも、ある程度のテスト自動化が行えることが見えてきました。今後もdatadogブラウザテストのtipsや他の自動化ツールとの検討状況を発信していきますね!

そんなSODAではテスト自動化を推進して頂けるSETエンジニアを募集しています!
まずはカジュアル面談を聞きにきてもらうだけでも全然OKです!よろしくお願いします😊

https://open.talentio.com/r/1/c/soda-inc.jp/pages/85498

SODA Engineering Blog
SODA Engineering Blog

Discussion