TM-7.4.1 (K2)独立テストのオプションを説明する。
独立テストのオプション
開発者が自らテストを行う
最も独立性の低いオプションです。開発者が自らテストを行うため、開発者の主観的な判断がテスト結果に反映されやすくなります。ただし、開発者がテストを行うことで、テストのフィードバックが開発に迅速に反映されるというメリットもあります。
開発者以外の開発者がテストを行う
開発者以外の開発者がテストを行うオプションです。開発者とテスト担当者との間の関わりが少ないため、開発者の主観的な判断がテスト結果に反映されにくいというメリットがあります。ただし、開発者以外の開発者がテストを行うことで、テストのフィードバックが開発に迅速に反映されにくくなるというデメリットもあります。
開発チームに属するテスト担当者がテストを行う
開発チームに属するテスト担当者がテストを行うオプションです。開発者とテスト担当者との間のコミュニケーションが取りやすいため、テストのフィードバックが開発に迅速に反映されやすいというメリットがあります。ただし、開発者と同じ目標や価値観を持つテスト担当者が多いため、テストの客観性が損なわれるというデメリットもあります。
ビジネス組織やユーザコミュニティなどの外部組織がテストを行う
ビジネス組織やユーザコミュニティなどの外部組織がテストを行うオプションです。開発者やテスト担当者とは独立した立場にあるため、テストの客観性が高くなるというメリットがあります。ただし、外部組織のテスト担当者には、開発やテストの知識や経験が不足している可能性があるというデメリットもあります。
外部テスト専門家が特定のテストタイプについてテストを行う
外部テスト専門家が特定のテストタイプについてテストを行うオプションです。特定のテストタイプに関する専門知識を活かして、より効果的なテストを実施することができます。ただし、専門的な知識が必要なテストタイプの場合、テストのコストが高くなるというデメリットもあります。
企業外部組織がテストを行う
企業外部組織がテストを行うオプションです。開発者やテスト担当者とは完全に独立した立場にあるため、テストの客観性が最も高くなるというメリットがあります。ただし、テストのコストが高くなるというデメリットもあります。
独立テストのオプションの選択
独立テストのオプションを選択する際には、以下の点を考慮する必要があります。
ソフトウェアの重要度
ソフトウェアの複雑度
ソフトウェアの開発規模
テストのコスト
テストのスケジュール
ソフトウェアの重要度や複雑度が高いほど、独立性が高く、客観性の高いテストを行うことが重要になります。また、ソフトウェアの開発規模が大きいほど、テストのコストやスケジュールを考慮する必要があります。
独立テストのオプションは、組織の状況やソフトウェアの特性に合わせて選択することが重要です。
独立テストの混在
組織によっては、上記のオプションを組み合わせて、独立テストを実施することもあります。例えば、開発チームで初期のテストを行い、その後、独立したテストチームがさらに詳細なテストを行うという方式が考えられます。また、外部組織に最終的なテストを依頼するという方式もあります。
独立テストのオプションを組み合わせることで、テストのメリットを最大限に活かしながら、コストやスケジュールを抑えることができます。
練習問題
組織はアジャイル開発プロセスを用いて、国内市場向けのインターネットバンキングソフトウェアを開発しています。このソフトウェアは、オープンソース領域からの外部ソフトウェアコンポーネントに依存しており、既存のウェブサービスも利用しています。開発と統合の過程では、ウェブサービスはテストスタブに置き換えられます。このインターネットバンキングソフトウェアをグローバル展開する銀行のために国際化することも計画されています。
以下の選択肢のうち、プロジェクトにテストを適合させるための最善提案はどれですか?
a)
開発者がユニットテスト
独立内部テスト組織がコンポーネント統合テスト
銀行専門家がシステムとユーザー受け入れテスト
外部専門家が国際化テスト
b)
開発者がユニットとコンポーネント統合テスト
独立内部テスト組織が開発者支援付きシステムテスト
独立内部テスト組織支援の銀行専門家によるユーザー受け入れテスト
外部専門家が国際化テスト
c)
開発者がユニットテスト
独立内部テスト組織がシステムテスト
独立内部テスト組織支援の銀行専門家がユーザー受け入れテストと国際化テスト
d)
開発者がユニットとコンポーネント統合テスト
独立内部テスト組織支援の銀行専門家がシステムとユーザー受け入れテストと国際化テスト
正解:b)
a) 正しくありません。システムテストを銀行専門家だけが実施する場合、ウェブサービスのテストは誰が担当するのでしょうか?
b) 正解です。開発者が技術的な側面を担当し、内部のテスターとドメインエキスパートが機能面を担当し、国際化は外部のエキスパートが担当します。
c) 正しくありません。コンポーネント統合テストがなく、国際化テストの知識もありません。
d) 正しくありません。国際化テストの知識がありません。
【出典元】
ISTQBテスト技術者資格制度
Advanced Level シラバス日本語版
テストマネージャ
Version2012.J04
この記事が気に入ったらサポートをしてみませんか?