繰り返される負荷テストの話

LyRH1819
2025-05-13
2025-05-13

・テストで見る携帯端末版サイト


テストの中には敢えて多大な負荷をかけて動作を確認する『負荷テスト』と言うものが存在します。例えば大量のデータを投入してシステムの動作をみたり、通常ではあり得ない挙動をさせてみてどの様に動くかを確認する様なテスト等があります。普段のテストではあまりやらない様な動きをさせる事が出来るので、やってみると面白い事が多いです。なので今回はその少し触れてみたいと思います。

The image depicts a modern workspace filled with technology and creativity
負荷テストでよく行なわる物と言えば、一つの機能に大量のデータを投入するテストが多いかと思います。例えば、問い合わせフォームに大量のデータを送ったり、ユーザー登録機能に大量の仮登録データを追加したりします。この大量のデータによって正常に動いている機能がどの時点で、動きに問題が発生するかを確認する事が目的になります。言い換えれば、何処で問題が起きるかではなく目標としている耐久性があるかの確認です。

大量のデータが送りこまれた事で各種ページに表示が時間が掛かったとします。その大量のデータ件数が3万件だったとして、本来であれば5万件位は問題ない筈の想定だった場合は何かしらの対策や改良が必要になって来ると言う事です。またデータ情報が全て問題無く登録される筈だったのに、一部のデータの内容に抜けが発生して場合も同じです。データのやり取り方法やデータの保管方法等の対応が求められます。短時間の内に大量のデータが送られてくると言うのは、基本的にはあまりない事ではありますがシステムの耐久性や処理速度の限界値等を知っておく為にも負荷テスト言うのは重要です。

因みにこの大量のデータ送られてくると言うのはサイバー攻撃の一種にあります。どこかの有名なサイトが大量のデータによってパンクし一時的に閉鎖されると言ったニュースを見たことがある人も多いのではないでしょうか。あれは本当に負荷テストとは比べ物にならない量のデータが送られてくる事による、サーバーやネットワーク過負荷によるものです。


通常ではあり得ない挙動をさせてみるテスト言うのは、本当にその通りで普段であればまずやらないであろう事をやってみて動作を確認します。例えば1つの管理アカウントを使い、複数のブラウザから特定のデータに対してアクションをかけると言った事です。特定のデータに更新/削除/内容追加が行われた時、エラーとして処理されるかを確認する事が目的ですね。ここがもし何の動作も決められていなかった場合、特定のデータが『更新されてた後に削除された結果、内容が追加された状態で残っている』と言う訳の分からない事になります。当然極端な例ですが、こんな酷い有様になる事があり得る訳です。そもそも1つ管理アカウントが複数の場所で同時に使われていると言う時点で、管理的な意味であまり良くはありません。

他にも『Aのページで仮データを2件追加した後、Bのページで正式登録処理を実施、正式登録処理中のデータを正式登録される前に削除を実施』等と言う儀式の様な手順を踏んでみたりする事もあります。正式登録が一瞬で完了する場合、何度も確認の為にデータを追加したり消したりを繰り返していると、結果として大量のデータを短時間に送り付けている事になっていて一時的にシステムダウンを起こしてしまう事も稀にあります。これはこれで貴重な情報なので、開発チームの人達に詳細な手順を添えて連絡すると喜んでもらえます。


大量のデータを追加する負荷テストと言うのは地味ながらも重要な役割を持っており、正式にサービスやシステムを公開する時の大事な要素です。新しく公開されたウェブサイトがアクセス過多でエラー表示を出している時、それは作り手の想定がある意味甘かったと言う事でもあります。しかし、データはある意味で無限に上限があるので、限界値を決めるのは非常に難しい事です。もしも、アクセス過多でエラーを出しているページを見た時は、画面更新等を行いデータを送り付ける様な追い打ちをする事無く復帰するまで見守ってあげましょう。

今回は主にシステムの管理機能、データを入力し登録すると言った内容について触れていますが、他にも実動作の反応速度についてテストする物もあります。例えば『検索した商品を表示させるのが平均1.2秒だが、1000回繰り返すと平均2秒になる』と言った動作を確認するものです。それらについてはまた別の機会に触れてみたいと思います。