7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ボリュームテスト

7
Last updated at Posted at 2017-10-04

目的

ボリュームテストの主な目的:システムが扱えるデータ量の限界を把握する

大量データ投入時でもレスポンスタイム(処理速度)、エラー発生、データ消失、メモリ/ディスク使用率などに異常がないかを確認

想定ユーザー数や実運用で発生しうるデータ量を超えた場合でも、システムが破綻しないかを検証

特に、データベース(DB)に大量のレコードを登録したり、ファイルサーバーに大量のファイルを格納したりするシステムで重要になります。
例:1,000万件以上の取引履歴データをDBに投入して、検索・集計処理が遅延しないか確認
数GB〜数十GBの画像やログファイルをアップロード/処理してもエラーが出ないか確認

ボリュームテストと他のテストの違いボリュームテストは「パフォーマンステスト」の一種で、以下のように区別されます:

image.png

テスト内容

稼働システムに大容量データを与えても仕様通り動作することを確認するテスト
どれくらいのユーザーを想定しているか。
またこの時間帯にこれくらいのアクセスがあるかなどのアウトプットの用意し
、使用するテストデータを作成する。

データ量によって、5xx系エラーが発生

1.「500 Internal Server Error」:内部サーバーエラー
FireShot Capture 4 - 500 Internal Server Error - http___shimada2012.tank.jp_tmp_login.php.png
アクセスが集中している
サーバーのメモリが不足している
サーバーの設定やプログラムに問題

2.「502 Bad Gateway」:サーバーが応答を拒否
アクセスが集中している
サーバー側のスペック
ファイアウォールの設定
サーバー側のメンテナンス

3.「503 Service Unavailable」:サービス利用不可
サーバー負荷のため
アクセスが集中している

4.「504 Gateway Timeout」:リクエストが正しく処理されずタイムアウト
サーバーダウンが発生している
タイムアウトまでの設定時間が短い

※Javascriptであれば何秒でtimeoutするのか。確認しておく。

例になります。
image.png

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

・入力件数のCSVダウンロードができること(例:1000件、1万件、10万件)
・入力件数のCSVアップロードができること(例:1000件、1万件、10万件)
・画像をたくさん並べた時に一覧に表示すること(例:1000件取り込んだ時にエラーが無く一覧画面で表示する)
・リンクをクリックした時に仕様記載されている画面遷移できること
・ボタンをクリックした時に仕様記載されている画面遷移できること
・ドラッグ・アンド・ドロップができること
・リロードを数回行っても動作に問題がないこと(例:500系のエラーが返ってこないこと)
・レスポンスが規定した時間内であること(例:3秒以内、5秒以内、10秒以内)
・権限の付与有り無しに関わらず、動作に問題がないこと(例:有りの場合は10秒だが無しの場合は3秒)

確認

・環境単位での確認。Staging環境とProduction環境で結果が同じである。
・どこまでのデータ量であれば問題ないのか。データの境界値確認も含む。
・現状処理のレスポンス。あまりにも遅いのであれば速度改善も。
・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/

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?