Selenium
newrelic
QAエンジニア
パフォーマンス
ボリュームテスト

テスト内容(非機能テスト)

システムに大容量データを与えても仕様通り動作することを確認するテスト
どれくらいのユーザーを想定しているかも念頭におき、テストデータを作成する。

データ量によって、「500 Internal Server Error」「503 Service Unavailable」また、Loadingでのtimeoutとならないように。Javascriptであれば何秒でtimeoutするのか。確認しておく。

FireShot Capture 4 - 500 Internal Server Error - http___shimada2012.tank.jp_tmp_login.php.png

まずは、テストデータの作成から着手する。どの機能のボリュームテストがしたいのか。
テスト計画を立てる、サーバーのスペックやDBのスペックを考慮する。

また、仕様がわからないシステムに対しても、同様な手順で実施。
MaxLengthが決まっていない、いくらでもデータを追加可能であるUI。
アジャイル開発に多い課題でもあるので、ボリュームテストは大事である。

どんなテストケースが必要か(※例)

・入力した件数のCSVダウンロードができること
・入力した件数のCSVアップロードができること
・画像をたくさん並べた時に表示すること
・リンクをクリックした時に画面遷移できること
・ボタンをクリックした時に画面遷移できること
・ドラッグ・アンド・ドロップができること
・リロードを数回行っても動作に問題がないこと
・レスポンスが規定した時間内であること
・権限の付与有り無しに関わらず、動作に問題がないこと

確認

・どこまでのデータ量であれば問題ないのか。データの境界値。
・現状処理のレスポンス。あまりにも遅いのであれば速度改善も。
・GoogleChromeデベロッパーツールで確認。

無題.png

.YSlowで確認する。

確認.png

PageSpeed Insights
https://developers.google.com/speed/pagespeed/insights/?hl=ja

無題.png

New Relic Browser
https://newrelic.nissho-ele.co.jp/products/newrelic-browser
ボリュームテスト.png

準備

・テストデータ(100件単位、1000件単位、10000件単位)※提供システムによります。

データの入れ込み

・ツールを使用するパターン
Seleniumで頑張る
・一括にDBに入れるパターン
https://photo-tea.com/p/aws-ec2-to-rds-csv/