こちらの記事ではJSTQBのシラバスのうち、第1章テストの基礎分野における以下の分野の学習内容及び学習してみて私が思ったことについて記載します。
・1.4テストプロセス
・1.5テストの心理学
【JSTQB(FL)対策】第1章テストの基礎 1.4テストプロセス1.5テストの心理学
1. 1.4テストプロセス
テストプロセスとはテスト実行を含めたテスト計画からテスト完了までといったテスト段階の一連の作業であり、テスト目的を達成できる確率をできる限り上げるためのテスト活動のセットにしたものを指す。
1-1. 状況に応じたテストプロセス
万能なテストプロセスは存在しないため、状況に応じてテストプロセスを決定しなければならないのである。
すべてではないが組織のテストプロセスに与える影響は以下のとおりである。
・予算とリソース
・開発期間
・複雑さ
・契約及び規制上の要件
・考慮対象のテストレベルとテストタイプ
1-2. テスト活動とタスク
主なテストプロセスの一連の活動は以下の活動を指す。
・テスト計画
・テストのモニタリングとコントロール
・テスト分析
・テスト設計
・テスト実装
・テスト実行
・テスト完了
テスト計画
テストの目的を段階ごとに明確する。
状況や納期を考慮し、テストで達成すべきことを定義し、決定する。
テストのモニタリングとコントロール
テストモニタリングはテストの進捗が計画書通りであるか監視するために、計画書で定義したメトリクスを使用して継続的に計画と実際の進捗状況を比較する活動である。
テストコントロールはテストの計画書も目的と合致させるために対策を講じる活動である。
両社は終了基準の評価により支援される。
テスト分析
テストを実施するための情報を収集し、テストレベルごとにテストベースを適切に分析することで何を対象にテストするのかを決定する。
テスト設計
テスト分析で明らかにしたことを踏まえて、どのようにテストするのかを決定する。
テスト実装
テスト設計の結果を踏まえて、後工程のテスト実行に必要なもののすべての準備を実施する。
テスト手順の優先度の割り当てや自動化テストスクリプトの作成、テスト手順や自動化テストスクリプトをもとにテストスイートを作成する他、テスト環境の構築などを行う。
テスト設計と同時に実施されることがある。
テスト実行
テスト実行スケジュールに従ってテストスイートを実施する。
テスト実行者は実行結果や期待結果の比較、テスト実行結果の記録、欠陥の発見・報告などを実施する。
テスト完了
完了したテストの全データ、ソフトウェア、プロジェクトから得られた情報をまとめる。
まとめた情報は次回も使用できるように整理・保管したり、ほかのステークホルダーに引き継いだり、テストプロセスの成熟度を改善するために利用したりもする。
1-3. テスト作業成果物
テスト計画の作業成果物
テストベースに関する情報が含まれる1つ以上のテスト計画書が含まれる。
テストのモニタリングとコントロールの作業成果物
テスト進捗レポートやテストサマリーレポートなどといった様々な種類のレポートが含まれる。
テスト分析の作業成果物
決定して優先順位を付けたテストの条件が含まれる
テスト設計の作業成果物
テスト分析で決定したテスト条件実行のためのテストケースとテストケースのセットになる。
テスト実装の作業成果物
テスト手順とそれらの順序付け、テストスイート、テスト実行スケジュールになる。
テスト実行の作業成果物
テストケースやテスト手順に関するドキュメント、欠陥レポート、テストアイテムなどに関するドキュメントになる。
テスト完了の作業成果物
テストサマリーレポートや変更対応済みのソフトウェアなどになる。
1-4. テストベースとテスト作業成果物の間のトレーサビリティ
テストとテスト作業成果物の間にはトレーサビリティをテスト全体通して確立および維持しておかなければならない。
優れたトレーサビリティは変更影響度の分析やテスト監査、テスト進捗レポートとテストサマリーレポートの理解しやすさの向上につながるのである。
2. 1.5テストの心理学
2-1. 人の心理とテスト
テスト担当者がテスト対象となる開発物をレビューすることや欠陥・故障の発見することが開発担当者にとっては開発物に対する非難と解釈されることがある。
自分の持っている信念に背いた情報を受け入れない傾向にある確証バイアスの心理状態を持っている人には、開発物を誰よりも理解をしているという思いが強く、プログラムが誤っているというテスト結果を悪い情報ととらえてしまい、受け入れがたくする傾向にある。
そのため、テスト担当者は開発担当者と良好な関係を保てるように、以下のようなコミュニケーションを適切にとれるような対人スキルが必要となる。
・テストは対決としてとらえずに、プロジェクト全員で高品質な開発物にすることを目標に掲げたうえで協調的な姿勢をとるようにする。
・テスト活動の大切さを理解してもらうようにする。
・テスト結果に対して否定的に反応をした理由を理解する。
・自分と他人の言ったことに対して適切に相互理解をする。
・テスト担当者は中間立場であるため、テスト結果は事実を伝えることを焦点に伝え、プログラムの誤りを作りこんだ担当者を非難しないようにする。
2-2. テスト担当者と開発担当者のマインドセット
テスト担当者と開発担当者はそれぞれ持っている思考が異なることが多いため、両社の異なるマインドセットを組み合わせ、補完しあう必要がある。
それにより高品質なプロダクトを達成できる。
テスト担当者のマインドセットは以下の要素が必要となり、経験を積むにつれて成熟する傾向にある。
・好奇心
・プロとしての悲観的な考え
・批判的な視点
・細部まで見逃さない注意力
・良好で建設的なコミュニケーションと関係を保つモチベーション
一方で開発担当者のマインドセットはテスト担当者と同じ要素を含むことがあるものの、解決策の設計・構築への関心が強いことや確証バイアスにより自身の作成したプログラムのエラーに気づきにくい傾向にあるため、正しいマインドセットを持って自身のプログラムをテストする必要があるのである。
3. エピローグ
JSTQB(FL)の第1章テストの基礎 <1.4テストプロセス~1.5テストの心理学>を学習してみて、テスト実行以外の工程でどのようなことを実施しなければならないことや、テスト担当者と開発担当者との心理関係など、客先常駐で実際にテスト案件に入っていた当時は知らなかった部分をたくさん学ぶことができたと思いました。
テストプロセス部分に関して、私は実際の案件でテスト実行のみしか経験しておらず、それ以外の工程の経験がなかったため、ほかの工程に関する知識が不十分でした。
今回学習してみて、自分が試験実行時に参照していた試験仕様書はテスト計画からテスト設計の工程にてどの部分をどのようにテストするかなどを熟考して作成した苦労の賜物であったと感じました。
テストの心理学に関して、私はテスト担当者としてテストを実行し、欠陥を発見することを考えて実施していましたが、開発担当者からしてみれば非難とみなされることもあると知り、動揺しました。
今後、テスト案件に入り、開発担当者と関わる機会があった際にはできる限り、相手の気持ちを寄り添うことを心がけていきたいと思いました。
今後テストの上位工程に携わすことになった際には、今回学んだことを踏まえたうえで、作業に生かしていきたいと思います。