PR

テスト実行の6つの作業、準備作業が意外に多い

 テスト設計が終わったら、いよいよテスト実行だ。ただし、テストケースに書かれた手順を実行する前にやるべきことがある。テスト実行で実施する作業は(1)テスト環境の準備、(2)テストデータの準備、(3)実行手順の準備、(4)ツールの準備、(5)実行スケジュールの作成、(6)実行の6つだ。

テスト実行プロセスでやること
テスト実行プロセスでやること
番号は順序を示したものではない

 (1)テスト環境の準備では、テストを行うシステムをテスト環境で動作する状態にセットアップする。

 (2)テストデータの準備では、テストケースに記載された前提条件とひも付いたデータを準備する。こうしたテストの実行に必要なデータを「テストデータ」と呼ぶ。

 例えば、ECサイトで「無効な会員」のテストがしたい場合、無効な会員のデータとは何のテーブルにどのような値が入ったものかを調べて、無効な会員のデータを準備する必要がある。「会員テーブルのステータス項目が無効」であれば、そうしたデータを準備する。

 (3)実行手順の準備では、1つひとつのテストケースを実行する手順を整理して準備する。というのも、1つの実行手順で複数のテストケースを同時に消化できる場合があるからだ。例えば「ECサイトの商品購入画面からの商品購入ボタンを押下する」という手順で、画面遷移、データベースへのデータ登録、ログ出力の3つのテストケースを確認できる。こうした実行手順とテストケースの関係を整理しておくと、テストを実行する手間を少なくできる。

 (4)ツールの準備では、テスト実行作業を支援するツールをセットアップしたり、スクリプトを準備したりする。よくあるのがテスト実行を自動化する場合だ。テスト手順を記述したスクリプトを作成し、スクリプトを実行するためのツールをセットアップする。

 (5)実行スケジュールの作成では、テストケースの実行順番と具体的な実施日時を決める。テスト計画でテスト作業全体のスケジュールは検討しているが、ここではさらに具体的な実行スケジュールを決める。ただ単に、テストケースの一番上のテストケースから実行していけばいいわけではない。例えば、基本的な機能や重要な機能のバグを早く見つけられるようにスケジュールの初めの方に実行する、メンテナンスなどでテスト環境が使えない日にはテストの実行を予定しない、といった事項を考慮してスケジュールを作成する。

 (6)実行では、実行手順に従ってシステムを操作して結果を確認する。「テスト実行」という言葉で誰もが連想するのがこの作業だろう。実行結果とテストケースに記載された期待結果との間に差異があれば、事前に決めたルールに従って「バグ票」を起票する。バグ票はテストで発見したバグの情報を記述した個票である。

 開発者はバグ票を基にバグを確認し、修正が必要であると判断した場合にはソフトウエアの修正を行う。その後、きちんと修正されたか確認するテストをテスト担当者が実施する。バグを修正したことで、手を加えていない部分に影響を与えていないかを確認するテストも実施する。また、開発者と連携しながら、バグの傾向を分析し、その分析結果を踏まえた追加のテストやレビューを行うこともある。例えば、同じようなバグが他の機能に潜んでいないか、という観点で追加のテストを実施したりする。

 ここまで説明したように、テスト実行は(6)実行の前に様々な準備作業がある。この点に注意しておこう。準備不足なままテスト実行フェーズに突入すると、テスト環境やテストデータの不備でテスト実行作業自体ができない状態に陥ったりする。これが進捗遅れの原因となる現場はかなり多い。テストケースが完成しているだけでは、テストの実行作業を開始できるわけではない。


 以上、テストの主軸となる3つのプロセス、15の作業を紹介した。意外とやることが多い、と感じた人が多いと思う。プロジェクトの規模やシステムの特徴によっては、一部の作業は省略できるかもしれない。しかし、基本的にはどのプロセスも着実なテストの実施に必要な作業ばかりだ。仮に省略するにしても、主要なプロセスを理解してからにしよう。でないと、テストの進行が混乱したり、進捗が遅れたり、目的通りのテストができなかったりする。

 今回紹介した作業を参考に、自分のプロジェクトや組織に合わせて作業を洗い出し、着実に推進してほしい。

春田 優子(はるた ゆうこ)
SHIFT ビジネストランスフォーメーション事業本部 エンタープライズビジネスユニット 技術支援グループ テスト計画ファンクション ファンクションマネージャー
大手SIerで10年以上にわたり金融業界を中心としたシステム開発に従事。要件定義から保守・運用までの開発業務やプロジェクトマネジャーを務めた。開発標準の策定にも従事。SHIFT入社後、金融業界向けのシステムで品質保証業務を担当。上流工程のテスト計画策定支援やテストプロセスの標準化・改善を専門とする。社内向けのプロジェクト支援や教育、新規技術開発にも精力的に取り組んでいる。