テスト手順について考える
テスト実行者がテストを実行する上で、必要な情報の一つに『テスト手順*1』があります。テスト手順はテストケースごとに必要になるものから、大きい範囲ではテストサイクルで必要となる事前準備などもテスト手順に含まれています。
プロジェクトによっては、テスト実行者の熟練度が高くテスト手順が簡略的に書かれるケースもありますが、今回は不特定多数のメンバーがテストを実行することが想定される中規模プロジェクトを想定しています。このようなプロジェクトでは、テストを適切に行う為に、テスト手順の明記が不可欠になります。また、テスト実行者がより効率的にテスト手順を実施できるようにする為には、適切な範囲や粒度に分けてこのテスト手順を提示していく必要があります。
期待結果を確認するのに必要な手順
- テスト対象となるデバイスの準備手順
- テスト対象に接続する備品の準備手順
- テストに必要なツールの設定手順
- テストケースの期待結果を確認するのに必要な手順
簡単に書きだしただけでも、テストを行う上で必要な手順の多さが見えてきます。また、これらの情報はテスト実行時に『簡単に参照できること』、そして、変更があった際にどの手順書に影響があるのかが分かるよう、『トレーサビリティ』も考慮した管理が必要になります。
QF上でテスト手順を管理する方法
それでは、QF上でテスト手順を管理するにはどうしたらよいでしょうか。それぞれ考えていきましょう。
テストケースの期待結果を確認するのに必要な手順
QualityForwardはスプレッドシート形式のテスト実行管理ツールです。そのため、テストケースを記述する際に期待結果に合わせて「テスト手順」を定義し書くことで、期待結果と対になる状態でテスト手順を確認できます。
では、この手順をどこまで詳細に書き込むべきでしょうか?環境構築や機材の接続準備などは、テストケースに書き込むことが適切でしょうか?
おそらく、多くのプロジェクトではテストケースとは別に環境構築の手順書を用意しているのではないでしょうか。全ての手順をテストケースに書いてしまうと、テストの可読性を下げてしまい、テスト実行者が本当に必要な情報の確認ができなくなってしまいます。QFでも同様に、テストケースで共通して必要になる事前準備などは、テストケースとは分けて、テスト実行者が分かりように管理しておくと良いでしょう。
テストスイート間で共通する手順書
QualityForwardには、テスト実行管理とは別にテストスイート*2管理の機能が備わっています。
そして、テストスイートには関連する「ファイルを添付」したり、「備考」を記載することが出来ます。テストスイートに紐づくテスト手順書を作成した場合、これらの資料をテストスイートに添付することで、テスト実行者はテスト実行画面から関連する資料などを確認することが可能です。
また、テストスイートはバージョン毎にファイルを添付することが出来るため、バージョンで参照する手順書が異なる場合でも問題なく紐づけることが出来ます。
もちろん、こういった運用を開始するに当たり、テスト設計者とテスト実行者で認識を合わせテスト実施前に『備考・添付ファイルを必ず確認する』ルールを作るのも大切です。
複数のテストスイートで共通する手順書
テストでは、複数のテストスイートで共通な手順も存在します。その場合、それぞれのテストスイートに手順書を添付する方法も可能ですが、変更があった場合、すべてのファイルの差し替えが必要になります。もし複数のテストスイートで参照され更新が発生する可能性があるのであれば、チームWikiを使って手順書を管理すると良いでしょう。
作成したページのリンクを備考に書いておくことで、テスト実行画面から直接Wikiページへ移動できるようになります。
備考にはHTMLタグを埋め込むことができるため、ちょっとした装飾をつけておくとより見やすくなります。
Wikiのより詳細な活用方法はこちらの記事をご覧ください。
トレーサビリティの確保
テストスイートとWikiを紐付ける場合、Wiki側にも参照されるテストスイートを記載し、トレーサビリティを確保することも重要です。例えば、Wikiページの修正を行った際、そのWikiに紐付くテストスイートは何らかの再テストが必要になるかもしれません。メンテナンス性を考慮し、Wikiページのフォーマットを予め決めて紐付けたテストスイートを記入するようプロジェクト全体で認識を合わせておきましょう。
テストスイートに手順書を添付したり、Wikiと紐付けて管理することで、適切な範囲で適切な手順を展開できるようになります。もし、テスト手順書の管理にお困りの方は、今回ご紹介した機能を使って手順書の管理をご検討いただければと思います。
*1:テスト手順<test procedure>: 複数のテストケースの実行順序。最初の事前条件や実行後の終了活動をセットアップするために必要な関連するアクションも含む
*2:テストスイート<test suite>:特定のテストサイクルで実行されるテストケースやテスト手順のセット