この記事が答える問い
テストマネージャは何を考慮してマネジメントをすればよいのか?
テストマネジメントを最適化するために考慮すること
- テストマネージャは、テストのプロセスを最適化する必要がある。すなわち、どんなプロセスでもテキトーに進めていれば上手くいくわけではない。
- では、良いプロセスとは何か。1つはコンテキストに適合するプロセスである。コンテキストに適合するとは、ステークホルダのニーズと適合し、彼・彼女らの活動と歯車が噛み合っていて、成果物の要件を満たしている、などである。つまり、コンテキストの要素1つ1つが制約としてプロセスに作用するということであると考えられる。
テストプロセスとプロジェクトのコンテキストの関連のイメージは以下の図。
コンテキスト内の要素
テストにかかわるステークホルダ
テストに影響しあうタスク
- テストに影響を与えたり、テストから影響を受けるタスク、成果物を認識しておく必要がある。それらは以下の図を参照。
- それに整合するようにプロセスを作ることで、プロセスの効果と効率を高められる。
- テストマネージャーは動的な要素を認識し、テストに影響する変更があればすぐに察知する必要がある。
非機能テストのマネジメント
- 非機能テストの種類は多様にある。だが、リスクと制約に基づいて絞って選択する必要がある。
- 選択時は、テストマネージャにすべての考慮事項を考慮するだけの専門知識がない場合がある。その場合、選択の仕事をテクニカルテストアナリストに委任する必要がある。
- 非機能テストの優先順位を考慮するべき。機能テストが全て完了するのを待って非機能テストを行うのは大抵良くない。というのも、重要な非機能的欠陥の発見が遅れる可能性があるためである。それゆえ、非機能テストも機能テストと同様に、リスクに応じて優先順位をつけ、順番を決める必要がある。
テストの早期や開発中に、非機能面の品質の問題による影響を抑える方法も検討すべきである。例えば、システム設計時にプロトタイプを作り、ユーザービリティをレビューする。そうすることで、システムテストの最後に発見したら大きな手戻りが発生した可能性のある欠陥を早期に発見できる。
経験ベースのテストのマネジメント
- 経験ベースのテストのメリットは、他のテスト技法では炙り出しきれなかったバグを発見できること。一方、デメリットもある。デメリットは、結果記録が難しいことと、再現性が低いことだ。
- マネジメント方法は2つある。
- 1.テストセッションという30~120分のタイムボックスを設ける。
- テスト作業を分割し、そのタイムボックスに割り当てる。そうすることで、作業量を制限し、さらにある程度の進捗管理とスケジュール作成が可能となる。
- テストセッションでは、テストチャータを参照する。テストチャータとは、テストセッションでの目的を大まかに定義したもの。具体的には、テストのスコープ、テスト観点と制限時間、大まかなシナリオ、テストツール、レポート用の項目を含む。ただし、テスト観点の粒度は細かすぎてはいけない。経験ベースのテストでは、テストでやるべきことを指定するよりも、テスターがアイデアを発散できるようにすることが重要。テスターが経験や独自のビジネスの知識をもとに、バグが潜んでいそうな条件や操作を自由に決めうちち、テストを実施できるように条件を整える必要があるためだ。さらに、テスト結果として記載する情報の例を挙げる。テスト時に行った操作を1文で記載する。その後、観察した事象とその操作の具体的なステップを記載する。
- 2.従来のテストセッションに自律的かつ自発的なテストをできるよう、テストに余分な時間と権限を与える。ここで今後テストすべき領域が新しく発見されたら、テストケースを追加したり、変更したりする。
- 1.テストセッションという30~120分のタイムボックスを設ける。
参考資料
テストチャーター
テスト技術者資格制度 Advanced Level シラバス日本語版 テストマネージャ Version 2012.J04