開発業務の中で当たり前に実施されているテスト作業。とはいえ、テストの「計画」「実行」とプロセスを体系立てて整理する機会はなかなか無いと思います。別記事「テストプロセスvol.1〜テストの準備〜」では、テスト実施前に考えておくべきポイントをタスクとしてご紹介しました。
このようにプロセスとして整理してみると「そういえば、こんなところも気にしなければいけないんだったな」と改めて気付きが得られると思います。
本記事では、別記事でご紹介した「テストの計画とコントロール」、「テストの分析と設計」の各フェーズを経て、テストを実行するフェーズについてご説明します。
テストの実装と実行
テストを「実装する」という概念は、あまり馴染みが無いかもしれません。ですが、テストそのものも「計画」され「分析と設計」を経て定義された内容を基に、実行へと落とし込んだものです。テストの実行へと落とし込むフェーズを「実装」と言い、「実装」された内容に従って実際にテストを行う「実行」へとプロセスが進んでいきます。「実装」と「実行」には、それぞれ5つのタスクがあります。
1.テストの実装
①テストケースの作成
テスト設計のフェーズで設計された仕様を元に、「テストケース」を作成していきます。テストケースの管理方法は別記事「テストケースの管理方法」にて解説していますので、そちらも併せてご覧ください。
②テスト手順の作成
テストの実施手順を「手順書」にまとめます。作成されたテストケースの優先順位を検討し、テストデータを作成します。テストを自動実行する場合は、テストハーネスや自動実行用のスクリプトも作成します。
③テストスイートの作成
テスト手順を元にテストケースを組み立てた「テストスイート」を作成します。このとき、実行するテストの目的によっては、組み込むテストケースが異なってきます。
④テスト環境のセットアップ
テスト対象のセットアップはもちろん、テストデータも配備します。テストを自動実行する場合にはテストツール・テストハーネス・テストスクリプトの配備も必要になります。そのほかにもテスト結果の取得・計測に必要な機器類など、テストに関わる環境全体のセットアップを行います。
⑤テストベース〜テストケース間のトレーサビリティの確保
「テストの分析と設計」のフェーズでまとめたテストベースと、作成されたテストケースの間でトレーサビリティを確保できるよう、マトリックスや表で資料を作成し、管理していきます。テストベースが変更された場合は、この資料を元に関連するテストケースの修正(場合によっては追加・削除)をします。
2.テストの実行
①テストケースの実行
手動でテストを実行する場合は、ここまでに立てた計画に沿ってテストを実行します。テストを自動実行する場合は、作成されたテストハーネス・テストスクリプトに記述された内容の通りに行います。
②テスト結果の保管
テストケースや手順書で定められた通りに記録を保管します。テストの実行環境、実行日時、実行時に発生した事象やログ等、あらゆる情報を「エビデンス」として保管します。
③エビデンスの検証
テストケースに規定された「期待されるテスト結果」と、実際に保管されたエビデンスが一致しているかを確認します。一致している場合は「合格」となり、次のテストケースの実行に移ります。一致していない場合は「不合格」となり、「インシデント報告」のタスクに移ります。
④インシデント報告
エビデンスの検証結果が「不合格」だった場合、インシデントとして報告します。ほかのテストケースへの影響が出ているか、再現性があるかなどを確認し、報告に盛り込みます。さらに、「テストの計画とコントロール」のフェーズにおいて定められている、不具合が発見された際のエスカレーションルールや、その後のテストの中断可否などにも従って対処していきます。
⑤再テストの実行
報告されたインシデントの内容を開発者が修正し、当該テストケースに合格するかどうか「確認テスト」を実施します。そして修正内容がほかのテストケースに影響を与えていないことを確認する「回帰テスト」も実行します。ソースコードの修正を行った場合、主要なテストケースを一通り再実行することが多く、これも「回帰テスト」に含まれると言えるでしょう。再テストを実行した結果、全てのテストケースが合格となれば、次の開発プロセスやテストフェーズに移行できます。
まとめ
ソフトウェアの品質向上に欠かすことができないソフトウェアテストですが、改めてテストプロセスとして振り返ってみると、多くの項目があることに気付きます。ソフトウェアテストにおいて、テストプロセスは効率化をすることはできても、省略することはできません。
開発者と同じ目線でプロジェクトに参画し、テストプロセスを遂行してくれるパートナー、それがソフトウェアテストのスペシャリスト集団である株式会社ウェブレッジです。ソフトウェア品質の向上についてまとめた資料を無料でご提供しております。
■テストプロセスに関するその他の解説記事
テストプロセス vol.1〜テストの準備〜
テストプロセス vol.2〜テストの実行〜【本記事】
テストプロセス vol.3〜テストの終了〜
【参考文献】
ソフトウェアテスト教科書 JSTQB Foundation 第3版(株)翔泳社