mablのE2Eパフォーマンステスト(負荷テスト)を試してみる
みなさんこんにちは。mablのおだしょーこと小田祥平です!本投稿は mabl Advent Calendar 2023 Day 16(12/16) 向けの記事となります。
先月弊社の1st Party カンファレンスである「mabl Experience’23 Japan」を開催しました。米国では毎年、日本でも昨年から開催されているこのカンファレンスでは、mablの最新Updateかつプロダクトにインパクトがあるものをキーノートなどで発表し、早期アクセスとしてご参加いただいている皆さまにもすぐに使える環境を提供しています。
今年は目玉として、iOSやAndroidのネイティブモバイルアプリテスト、API及びE2Eパフォーマンス(負荷)テスト、そしてLLMを活用した自動修復機能のUpdateについて発表がありました。
ということで、さっそく自分も試してみたいなと思い、今回はE2Eパフォーマンステストについて検証してみます…!!
(おだしょーならモバイル書くんじゃないの??と思った方、スマンな。mabl Blogに書くことがもう決まっているんだ… ←)
さて、ではさっそくmablデスクトップアプリにログインしてみるのですが、そもそもアカウントを持っていない方は、まずASCIIさんに寄稿しているこちらの記事をご参照ください。全6回のシリーズ記事となっており、テストの自動化の必要性から、実際にmablを使ってE2Eテスト自動化やAPIテスト自動化、アクセシビリティテストの自動化、そして様々なDevOpsツールと連携したCI/CDインテグレーションの具体的な方法まで書いてあります。ぜひご一読ください!
前置きが長くなったのでそろそろ始めますね??←
デスクトップアプリへのログイン後、まずは「ワークスペース」を選択して、「LABS」に行きましょう。いくつかの早期アクセスメニューが並んでいます。今回は「APIパフォーマンステストを試す」をOnにします。これにより各種パフォーマンステスト自動化の作成が可能となります。
そしていつも通り「テスト作成」を試みます。メニューに「パフォーマンステスト」が選択可能な状態になっていることを確認して、選択します。
設定項目画面に遷移するので、ちょっと色々眺めてみましょうか。
「名前」「ラベル」「説明」この辺はこれまでmablを使ってきた方ならお馴染みの設定項目ですね。必須項目は「名前」のみなので、適当に名前をつけましょう!
続いてテストの追加となりますが、mablでは過去に作成したE2EテストやAPIテストを流用することが可能です!再度作成する手間が省けて非常に時短ですね~!良い…!もちろんプラン(テストを複数個入れておける箱のようなもの)からインポートも可能です。
「ブラウザテスト」を選択すると、画面が変化して更なる設定を求められます。とりあえず昔に作ったログイン画面を検証するテストを使いまわしてみるか…?
ちなみに、お手元で簡単に試したいときは mablのSandboxサイトがオススメです。mablで提供しているE2Eテストの機能は網羅しているので、テストサイトどうしよ~?なんて方は是非ご活用ください!
「データテーブル」は同一のテスト内で異なるデータセットを使ってテストをしたい時に使用します。「クレデンシャル」はいわゆるユーザー名とパスワードを予め設定しておけば、自動で入力してログインし、テストを続行できる機能ですね。少し前にMFAにも対応(早期アクセス)したので、活用できるシチュエーションが増えました。一旦なしでもテストは作れるので、今回は無視します。
そして「負荷の構成」。1000名の仮想ユーザーまで作成可能ですが、社員なのになぜか未だにトライアルユーザーな筆者は最大25ユーザーまで…orz (←なんか懐かしくない??) まぁええやろ!25ユーザーでも問題ない!(少なくとも本記事では)
その下を見ると「失敗基準」、失敗基準…?失敗しないが??←??
…おそるおそる押してみると何やらパフォーマンステストの合否判定基準を決めろということですね。
メトリックの詳細は以下をご参照のこと。
今回はGoogleのドキュメントにも説明がある「Largest contentful paint」を失敗基準として設定してみます。なによりわかりやすいですよね。
さて、準備が概ね整ったので、実行していきましょう!作成したテストを「保存」すると以下の画面に遷移するので、「テスト実行」を行います。
上記の操作を行うとすぐに「開始しています」と表示されるので、それを選択するとテストの様子がmablデスクトップアプリ上に表示されます。
画面を眺めているとリアルタイムに生成されたユーザーたちが負荷をかけていっている様子を確認できます。ランプアップを設定しているとユーザーが徐々に増えていく様子が観測できてなかなかおもしろいですね。
設定した5分を経過して、テストが完了しました。無事に成功しています。折れ線グラフを眺めると3:15あたりで4.875秒程かかったようですが、それ以外は安定した読み込みで平均値で見たときには失敗基準をクリアしているようです。指標の追加もできるので、失敗基準に設定した以外の数値もグラフ表示させることも可能です。
(せっかく最近キーボードを新調したのに) ほぼマウス操作だけで簡単にパフォーマンステストを実行できました。先に解説をした通り、今回は簡単に1つだけのパフォーマンステストを作成実行しましたが、APIテストを含む複数のパフォーマンステストを同じテスト内で作成することも可能です。失敗基準も柔軟に作成、変更できます。
従来より提供しているブランチを切るといった操作も可能です。テスト実行結果をExcelに吐き出す機能もついているので、テスト結果をお客様に報告する際もそのまま使えそうですね。
今回はE2Eパフォーマンステストにフォーカスしましたが、是非お手元の環境でAPIパフォーマンステストやそれらの複合パフォーマンステストを試してみてください!
For Your Information!
2週間の無料トライアル: https://www.mabl.com/ja/trial-registration
mabl University: https://university.mabl.com/page/ja
mabl Skills Certifications (認定資格制度): https://university.mabl.com/page/mabl-skills-certifications-ja