Skip to content

はじめての性能テスト

Performance Test

はじめに

性能はシステム全体の品質やユーザの利用体験を左右するため極めて重要である。

リリース直後にアクセスが集中してサイトが動かなくなったり、大量のデータ処理が終わらずに翌朝の業務に支障が出たりといったトラブルは後を絶たない。これらはすべて性能の問題であり、性能問題は性能テストによって事前に検出し、対処しなければならない。通常の機能テストとは別に「性能テスト」という専用の工程が必要とされるのは、机上での予測や開発環境での確認だけでは本番稼働時のリスクを排除できないためである。

しかしながら、性能テストは機能テストに比べて「何をどこまでやればいいのか」という基準が曖昧になりがちであり、場当たり的な実施に留まってしまうケースも少なくない。本ガイドラインは、性能テストの計画から実行、分析に至るまでの実践的なプロセスについてまとめたものである。

本ガイドラインの目的は次の通りである。

  • 性能テストの経験がない人でも、ステップバイステップで手順を理解し、現場で実践できるようになる
  • これまでなんとなく性能テストを実施していた人が、用語や考え方を体系的に理解し、理論にもとづいたテストを実践できるようになる

免責事項

  • 有志で作成したドキュメントである。フューチャーには多様なプロジェクトが存在し、それぞれの状況に合わせて工夫された開発プロセスや高度な開発支援環境が存在する。本ガイドラインはフューチャーの全ての部署/プロジェクトで適用されているわけではなく、有志が観点を持ち寄って新たに整理したものである
  • 相容れない部分があればその領域を書き換えて利用することを想定している。プロジェクト固有の背景や要件への配慮は、ガイドライン利用者が最終的に判断すること。本ガイドラインに必ず従うことは求めておらず、設計案の提示と、それらの評価観点を利用者に提供することを主目的としている
  • 掲載内容および利用に際して発生した問題、それに伴う損害については、フューチャー株式会社は一切の責務を負わないものとする。掲載している情報は予告なく変更する場合がある

前提

本ガイドラインが想定しているシステムや環境は次の通りである。

対象システム

本ガイドラインはWebアプリケーションの性能テストを前提として記述している。
具体的には、エンドユーザ(ブラウザ)からのHTTPリクエストを起点とするオンライン処理や、それらに付随して発生する非同期処理、裏側のバッチ処理等を想定している。全体として主にサーバサイドの性能検証に焦点を当てているが、Webフロントエンドの性能(例. JavaScriptの実行速度、レンダリング速度)なども一部切り出して説明する。

インフラ環境

オンプレミス環境ではなくAWS等のパブリッククラウド環境を想定している。
ただし、本ガイドラインに記載されている考え方の大部分はオンプレミス環境でも適用できるものである。オンプレミス固有の考慮事項などは、適宜補足を入れた上で説明する。

参考文献

  • Myers・Sandler・Badgett(2011)『The Art of Software Testing, Third Edition』Wiley
  • Molyneaux(2009)『The Art of Application Performance Testing』O'Reilly Media
  • 仲川・森下(2017)『Amazon Web Services負荷試験入門 ―クラウドの性能の引き出し方がわかる』技術評論社

謝辞

このガイドラインの作成には多くの方々にご協力いただいた。心より感謝申し上げる。

  • 作成者: 武田大輝、宮崎将太
  • レビュアー: 真野隼記、澁川喜規、亀井隆徳、山田勇一、前原応光、村瀬善則

Articles