【今回の登場人物】
- 大塚先輩:
- 入社10年目。5年前に柏田マネジャーと一緒にソフトウェアテスト事業を立ち上げた。カメラが趣味で,暇さえあれば写真を撮りに出かける。
- 中山君:
- 入社5年目。本連載の主人公。入社以来ソフトウェアテスト一筋で経験を積んできた。そろそろ大きい仕事をしたいと考えている。
- 小川君:
- 入社2年目。新人研修後,その有望さから半年間顧客先に常駐。テスト業務の他,設計作業も経験を積んできた。趣味はベースで,定期的に仲間とライブを行うなど仕事と趣味を両立している。
- 千秋ちゃん:
- 入社2年目。小川君の同期で,開発部門所属。今までコーディングと単体テストは経験があるが,システムテストに関わるのは初めての経験。趣味は自分磨き。


ここまでの状況
テスト実行の工程に入り,まずはそれぞれがテスト実装で分担した範囲のテストケースを実行することとなりました。15時になりお互いの状況を確認するために会議室に集合した3人でしたが,お互いに状況を共有してみると問題が山積みでした。混乱した状況を見た大塚先輩は,3人にアドバイスを出すことにしました。前回は,小川君にテストレポートやインシデントレポートのフォーマットについてのアドバイスを行いました。今回は千秋ちゃんへのアドバイスに移ります。
テスト実行のためにはテスト環境とその準備が必要
大塚先輩:- 次に千秋ちゃん。
千秋:- はい,私には何でしょう?
大塚先輩:- 千秋ちゃんはハードの確保やソフトのインストールの作業に手間取っていたという話だったね。
千秋:- だって中山クンが準備してくれてないんだもの。やになっちゃうわ。
中山君:- ご,ごめん。
大塚先輩:- こらこら,人のせいにするんじゃない。千秋ちゃんはテストケースのリストは持っていたわけだから,テストケースの実行計画を考えておくべきだったね。
千秋:- じゃぁテストケースの実行作業の前に準備作業が必要ということ?
大塚先輩:- そう。それから,テストケースの実行順番も考えておいたほうがいいね。小川君の実行結果の記録を見てごらん?
千秋:- リストの一番上からじゃなくて,いろんなところをやっているわね。
小川君:- 馬鹿正直に上からやっていくよりは,実行順番を変えたほうが効率的だったからね
テスト環境を用意しておこう
テストケースができたらすぐにテストが実行できるわけではありません。そのテストが適切に実行できるための環境を準備する必要があります。
環境には実行端末やネットワーク,OSやアプリケーション,テストツールなどがあります。また,広い意味での環境にはロケーション(場所)や設備(電源等)も含まれます。テストケースの実行が滞りなく行われるように事前に計画し,準備を行っておく必要があります。
また,テストを実行するための“状態”もあります。たとえば,テストケースの実行時,レジストリの内容,HDDの空き容量やディレクトリ構成,その時のOSやパッチ,DBやメモリ空間の状況などが指定される場合があります。場合によっては複数の状況でテストケースを実行することがあります。この状況をいちいち手作業で設定するのは手間がかかります。この場合は,複数のイメージファイルを用意しておいて,状態の復元を容易にしておくなどの手を打っておくとよいでしょう。
中山君は実行環境についてリソース管理の面からも気を配っておくべきでした。
代替機も用意しておこう
テスト環境ではさまざまな機材を使用しますが,それが突然壊れないとも限りません。代替機を用意しておくか,壊れたときにすぐに手配できるようにしておかねばなりません。そして,テスト実行担当者はその手段を事前にリーダから知らせてもらうことが必要です。
社内ネットワークを使うときには情報システム部門に連絡を
ときに,社内のネットワークを借用してテストを実行する場合があります。このときは必ず関係部門と協議を行い,そのスケジュールや体制を作っておかねばなりません。事前に調整しておかなければ,半月ぐらいテストができないこともあり,進捗に大きな影響を与えます。
テストケースの実行は頭を使おう
テストケースの実行はリストの一番上から行うことが唯一の正解ではありません。
小川君はあまり意識していませんが,複数のテストケースの流れを考慮し,束ねて実行することで,できるだけ効率を上げようとしています。
これは「テストスイートを意識したテスト実行をした」ということです。リーダはテスト実行担当者に対して「どのような考え方でテストケースの実行をすれば効率的になるか」ということを教育したほうがいいでしょう。ときどき現場を回り,適切なアドバイスを与えることもリーダの仕事のひとつです。
テストケースだけではテストできない人もいる
テストケースの粒度は組織によって異なり,プロジェクトやチームによっても異なるところもあるでしょう。そのため,実行手順を把握しにくいテストケースになっているかもしれません。
経験豊富なメンバの場合,このようなテストケースでも自らの力で実行手順を考えられます。しかし,経験が少ないメンバがチーム内にいる場合,テストケースの粒度を下げ,テスト手順まで書かなくては,実行できない可能性があります。
テストケースを手順レベルまで記述すると,誰でも同じ手順に従って間違えずに行うことができます。しかし,手順レベルまで記述するのは非常に手間がかかりますし,時間もかかります。手順を細かく書くことに工数がとられ,期間内にテストが終わらせることができなければ本末転倒です。だからといって,テスト手順を書かなくてもよいと短絡的に決めるわけにはいきません。チームメンバの経験やスキルを考慮し,テスト手順までブレイクダウンしておかないとテストを実行できなくなり進捗が進まなくなることもあります。
テスト手順を書くかどうかはトレードオフになり,リーダの判断に委ねられることになります。今回のケースでは,小川君はテスト手順まで落とさなくてもよいのですが,千秋ちゃんの場合は必要だったかもしれません。どのようにすればよいのか皆さんも考えてみてください。

