今回はシステムテストのお話しです。
結合テストで、プログラム、モジュール、コンポーネント、サブシステムなどと呼ばれるさまざまな要素間のインタフェースの検証を終えて、システム全体としてのテストであるシステムテストが始められます。システムテストはシステムの全機能がシステムの要件にしたがって動作することを保証する、このことを目的としたテストです。
一般にシステムテストには、機能仕様書をベースにシステム全体についてのテスト項目を設定する機能テストと、システムの性能が機能仕様書通りかどうかを検証する総合テストがあります。
| 機能仕様書(ユーザの要求仕様をコンピュータに実装するための仕様書)に基づきユーザ要件を満足しているかを検証するテストです。 機能テストにおけるテスト項目の設定には、一般に、原因−結果グラフ、要因分析表、ディシジョン・テーブルなどの技法が使われます。 |
||
| 総合テストには、以下のような種類のテストがあります。 (1)負荷テスト(stress test) 短時間に大量のデータを投入するなど極端に重い負荷をシステムにかけるテスト ・大量の処理要求/問い合せ/データ転送/トランザクションなど (2)大容量テスト(volume test) 長時間にわたって大量のデータにシステムをさらすテスト ・大量のデータ/ファイル数/通信量など (3)適合性テスト(degrade test / compatibility test) 既存機能がそのまま動作するかどうかのテスト ・データ形式/フォーマット/制御コード/プロトコルなど (4)機密保護テスト(security test) システムの保護機能のテスト ・暗号化など (5)性能テスト(performance test) レスポンスタイムやスループットなどの、システムの性能目標の達成を確認するテスト ・ターンアラウンドタイム/レスポンスタイム/入出力処理時間/ネットワーク系処理時間/ スループットなど (6)信頼性テスト(reliability test) システムの信頼性の目標が達成されているか確認するテスト(品質目標とテスト結果の 差異分析による) ・障害発生数/残存バグ数/誤入力・誤操作検出率/平均故障間隔/平均復旧時間など (7)回復テスト(recovery test) 失われたデータの回復など、システムの回復機能に関するテスト ・平均ダウン時間/平均再開時間/平均復旧時間など (8)使用性テスト(usability test) システムの使いやすさに関するテスト(一部のテストではシステムの実使用者の協力が必要) ・画面操作方式統一化率/使用準備平均時間/タッチ回数/コマンド形式統一化率/画面 表示時間/オペレーション習熟時間/システム停止時間・立上げ時間/ログイン時間など 上記の他、システム構成(ハードウェア/ソフトウェア)に関するテスト、メンテナンス性に関するテスト、マニュアルの正確性に関するテスト、システムの設置・導入に関するテストなどがあります。 |
||
| 参考文献: | ソフトウェア品質ガイドブック 森口繁一編 日本規格協会 日科技連 ソフトウェアの品質管理セミナー技術者コース テキスト |