JSTQB(ALTM) シラバス学習:7 スタッフのスキル(チーム構成)
2020.08.29更新
プロジェクトには様々なものがあるため、テストチームのスキルセットを見える化して各プロジェクトに適応させるための仕組みの構築が必要となります。
7.2 個人のスキル
ソフトウェアテストのためのスキルだけでなく、テストに関わるその他の活動に対するスキルや、そこから得られる情報にはソフトウェアテストに役立つものが多くあります。
テクニカルスキル
ソフトウェアシステム
エンドユーザのシステム要件や運用方法などを理解することは、テストの優先順位やテストケースの作成に役立ちます。
ソフトウェア開発プロセス
開発プロセスで発生する分析結果は、欠陥混入の原因、欠陥の見つけ方、欠陥の防ぎ方などの推察に役立ちます。
ソフトウェア開発
プログラミングや設計に関する知識は、それらの知識が必要なテストツールの作成やレビューへの参加に役立ちます。
テクニカルサポート
ユーザエクスペリエンスやユーザが期待することに関する知識は、テストケースの作成に役立ちます。
プロジェクトマネジメント
プロジェクトマネジメントに関わる作業は、進捗管理やステークホルダへのレポート作成に役立ちます。
対人スキル
チームで行う作業、ステークホルダとの交渉など、テクニカルスキルに加えて、影響力、交渉力、コミュニケーション能力などの対人スキルが業務を遂行する上では大切となります。
スキルアップ
テストチームにはスキルセットや経験値の異なるスタッフが混在しています。プロジェクトごとに最適なスキルセットは異なるため、チームスタッフのバランスを整えること、チームスタッフが自発的にスキルアップを意識する仕組みの構築が大切となります。
そこで、チームが必要とするスキルセットをベースに、チームスタッフのスキルアセスメントシートを作成し、各スタッフの強み弱みを見える化することで、誰が何を強化する必要があるのかを把握しスキル開発計画を立案します。
トレーニングは強み、弱みの両面の強化を行い、チームのスキルのバランスを整えます。
- チームに影響を及ぼす弱みは優先的に強化する
- 強みはより強化する
7.3 テストチームの力学
強力なチームを作るには、テストチームに働く力と、それによってチームメンバに起きる相互作用を意識することが重要です。
チームに働く力
テストメンバはテストに関するスキル以外にも必要な能力があり、それらは環境に対応する能力です。
プレッシャー耐力
以下のようなプレッシャーのかかる状況においても、集中して作業を進めることができる力が必要です。
- スケジュールがひっ迫した状況
- ステークホルダの高い期待
- 非現実的な作業量
チーム貢献への意識付け
テストメンバが自分の価値と必要性について認識することが、チームに貢献するメンバに変化する第一歩となります。そのために、テストマネージャはスキルアセスメントに基づき、強みと弱みを分析して育成・トレーニングを行います。
- 新しいメンバへの適切なコーチング
- 各個人の性格に応じた明確な役割付与
その結果、個人の成功がチームに貢献する結果となり、チームを成功へと導きます。
スキルアセスメント
環境によって違いはありますが、テストメンバに必要な基本的なスキルは以下のようなものがあります。
テクニカルスキル(ハードスキル)は、次の項目で示される。
- 要件ドキュメントからテストケースを抽出する。
- テクニカルドキュメント(要件、コードなど)をレビューする。
- レビューコメントを明確で分かりやすく、目的に沿った形式で記述する。
- 特定のシナリオでさまざまなテスト技法を適用する(たとえば、デシジョンテーブルを使用して一連のビジネスルールをテストするなど)
- 故障を評価し、正確に記録する。
- 欠陥分類情報の理解度をはっきりと示す。
- 欠陥の根本原因の理解度をはっきりと示す。
- ツールを使用して、正常系テストと異常系テストを含む、特定の API をテストする。
- SQL を使用してデータベース情報を検索および変更し、特定のシナリオをテストする。
- 複数のテストを実行して、テスト結果を収集するテスト自動化ハーネスを設計する。
- 自動化したテストを実行し、故障のトラブルシューティングをする。
- テスト計画、テスト仕様を記述する。
- テスト結果のアセスメントを含むテストサマリレポートを記述する。
対人関係スキル(ソフトスキル)は、次の項目で示される。
- スケジュールが遅れているテストプロジェクトに関する情報を提示する。
- 欠陥がないと思っている開発者に欠陥レポートを説明する。
- 同僚をトレーニングする。
- 効果的でないプロセスに関して、問題をマネジメント層に提示する。
- 同僚が作成したテストケースをレビューし、その同僚にコメントを提示する。
- 同僚をインタビューする。
- 開発者を称賛する。
相互作用
テストメンバが貢献を意識するようになると、チームに力学が働き、メンバ間の相互作用が生じます。例えば、自発的にテストメンバによる以下の行動が起きます。
- 非公式のクロストレーニング
- 仕事量の平準化
この状態になると、テストマネージャはテストメンバのトレーニングなどから解放され(マネージャが何もしなくても良いというわけではありません)、ステークホルダなどの対外的な対応に集中できるようになります。ここでマネージャには以下の能力が必要となるため、日頃からのスキルアップが必要です。
- 外部との交渉能力
- 組織内の調整能力
7.4 組織内におけるテストの適合
テストの適合方法は組織によって異なりますが、独立したテストチームを用い、テスト工程を標準化することは、品質に貢献する重要な要素となります。可能な予算とスケジュールの範囲内で、できるだけ品質が向上するようなテストチームを構築する必要があります。
マネージャによる傾向
- 開発マネージャ:品質に重点
- 独立したテストマネージャ:スケジュールに重点
独立性による傾向
- 高い独立性:開発チームからテストチームへの知識の移転が少なくなる
- 低い独立性:テスト内容とプロダクト要件の間に乖離が発生しやすくなる
このような独立性の違いによるテスト環境や重点項目に対する傾向を理解して、複数のテストを混在させるなど、品質の最大化を目的とした活動が必要となります。
7.5 モチベーション
テストマネージャは、何がモチベーションを向上させ、何が低下させるのか、モチーベーションに与える影響を考慮した活動が必要となります。それには、まずは自らが規範となり、テスト担当者の成果を明確なアセスメントリストによって公平に評価する必要があります。
また、テスト担当が成果を出しやすい、貢献を示しやすい環境づくりを行うことも大切です。
モチベーションの向上
成果や貢献に対して正当な評価や報酬が得られることがモチベーション向上につながります。
- 無形要因:周囲からの承認や尊敬
- 有形要因:昇給、昇進、自己裁量権の付与
モチベーションの低下
正当に評価されない場合だけでなく、プロジェクトの実行環境があるべき状況と乖離している場合にもモチベーションの低下につながります。
- 正当な評価や報酬が得られない
- 不可能な日程でのリリース計画
- 品質が優先されないプロジェクト進行
7.6 コミュニケーション
テストマネージャはテスト担当者からユーザまで、広範囲の相手とコミュニケーションをとる必要があります。そのため、さまざまなタイプの人と品質プロセスの改善を目的とし、メッセージが正しく伝わるようなコミュニケーションの取り方やレポートの書き方について考える必要があります。
コミュニケーションの種類
会話だけがコミュニケーションではなく、メッセージを伝える行為をコミュニケーションとして考えます。
テストプロダクト関連文書
テスト戦略、テスト計画、テストケース、テストレポート、欠陥レポート
ドキュメントのレビュー結果
要件、機能仕様、ユースケース
情報共有
開発者間、テストチーム間、マネージャ間とのやりとり
コミュニケーションの客観性
メッセージを伝える際には、客観的に相手が必要な情報の見せ方が大切になります。同じ結果を伝える場合でも、伝える相手が異なれば伝え方も変わるということです。
- テスト担当とステークホルダの間では、専門的、客観的、効果的なコミュニケーションによりテスト担当者に対して敬意が保たれます。
- 他者の成果物に対して建設的なフィードバックを行う場合は、外向性、客観性が必要となります。