システム開発工程においてシステムテストとはどのような役割を持ち、どのような利点があるのでしょうか?テスト工程において最終ステージに位置づくシステムテストの重要な取り組みについて見ていきましょう。
この記事ではシステムテスト(総合テスト)を理解するために一般的な取り組みに必要な要素を簡単に解説していきます。
システムテストとはシステムが全体をとおして要求された機能や性能を満たしているかどうかを確認、検証を行うシステム開発工程におけるテストフェーズの最終段階のテスト工程です。システムテストを実施する際は、本番に近い環境を用いてテストを実施します。
英語表記は“Product Test”
略式は”PT”
となっております。
※英語で表現される機会もあるため参考までに
またシステムテストについて、“総合テスト”と表現する場合もあります。
システム開発の基本工程について解説された記事はこちら>>
テスト工程全体について解説された記事はこちら>>
『お客様の要件通りの”機能”や”性能”を満たしたシステムかどうかの最終確認』
システムテストは開発者側の対応する工程として最後のステージとなります。
システムテストではどういった観点で分類をし、要件を満たしていくのでしょうか?
株式会社ソフテック様の内容を参考に分類された項目ごとに簡単に見ていきましょう。
仕様書に記載された機能や性能を確認するためのテストです。
システム、サブシステム、個々のプログラムなど、それぞれの階層における環境でテストを実施する必要がありますが、システムテストにおける機能テストはお客様に提供する機能をベースにテストの実施を行います。
システムに膨大なデータを流しても不具合無しに通常通り動作するかを確認します。
予測及び仕様化した負荷、もしくはメモリやサーバなどの可用性が低減した際の限界、または、それを超えた条件でシステムやコンポーネントを評価するテストです。
サーバの応答時間や、ファイルの読み込み時間など、性能を測定するテスト項目を作成します。ポイントは、不適合と判断する際の時間規定の作成です。
通信仕様では無応答時間を規定することは一般的ですが、ファイルの読み込み時間の規定などは要求仕様で規定されるケースが少ないです。こちらの規定はお客様のシステム運用に紐づくためお客様と相談しながら決める必要があります。
発生した不具合などの問題から復旧(回復)に関するテストです。不具合が生じた場合にどのように復旧をするのかや普及までにどれくらいの時間をようするのかなどを確認します。
設置及び運用方法を想定したテストを実施です。お客様の作業環境を想定し、通信機器との接続などシステムと関わりを持つ様々な機器との相性や操作性を確認します。
システムを連続稼働させた場合を想定して行うテストです。連続した稼働に伴う不具合や検出漏れなどが発生しないかを確認します。
参考:株式会社ソフテック
システムテストの手順について見ていきましょう。
はじめに『システムテスト計画』の作成をします。
このシステムテスト計画とは全体の方針や概要などを示したもので、主に目的、対象範囲、実施方法、テスト体制、テスト環境、テストスケジュールなどを計画します。
次に『テスト仕様書』の作成をします。
テスト仕様書を作成する際には、テストの目的を分類化した上で品質を担保するために必要な要件を満たすことが出来ているかへの注意を重ねることが必要です。
上述の”システムテストの種類”を参考にしてみてください。
続いてテストを実施するための『環境の構築』をします。システムテストでは本番と極力近い環境(マシンやデータなど)を用意した上でシステムとそれに関わるもの全ての動作確認を実施します。
仕様書や環境構築が整った上で『システムテストの実行』します。不具合やリスクがあると判断される場合、それらの内容を記録した上で修正及び再度テストを行います。仕様書の内容を元に全ての要件が合格されればシステムテストの完了となります。
システムテスト(総合テスト)を理解するために一般的な取り組みに必要な要素を紹介させて頂きました。テスト工程における最終ステージであるシステムテストでは、開発者側が万全の状態と自信を持ってお客様へシステムの納品を行うために非常に大切な工程です。実際のシステムテスト実行作業を円滑に進めるためにも計画、仕様書作成を抜け目なく実施し、品質レベルの高い検証作業を実現しましょう。