JSTQB
テストの7原則¶
- テストは欠陥があることしか示せない
- 全数テストは不可能
- 初期テスト
- 欠陥の偏在
- 殺虫剤のパラドックス
- テストは条件次第
- 「バグゼロ」の落とし穴
レビューの種類¶
レビューの種類 | 説明 |
---|---|
非公式レビュー | * 決まったプロセスはない。 * ペアプログラミングや、設計やコードを技術指導的にレビューする形式を取ることがある。 * レビュー結果をドキュメント化することがある。 * レビューアにより、効果が様々である。 * 主な目的は、金や時間をかけずにある程度の効果を出すことである。 |
ウォークスルー | * 作成者が進行を主導する。 * シナリオを基に、同僚のグループが机上で処理をたどる形式を取ることがある。 * 制約を付けないセッション。 - レビューアの事前準備ミーティングを行うことがある。 - 指摘の一覧を含む、レビューレポートを準備することがある。 * (作成者以外が)記載者になることもある。 * 運営により、きわめて非公式のものから、高度に公式なものまである。 * 主な目的は、ソフトウェアの内容を学習、理解し、欠陥を見つけることである。 |
テクニカルレビュー | * 欠陥摘出には、同僚や技術のエキスパートが参加し(管理者が参加する場合もある)、そのプロセスはあらかじめ定義し、ドキュメント化してある。 * 管理者の参加しないピアレビューとして進めることもある。 * 経験を積んだモデレータ(作成者ではなく)が進行を主導するのが理想である。 * レビューアが事前ミーティングを準備する。 * チェックリストを作ることがある。 * 指摘一覧、ソフトウェア成果物が要求事項を満たしているかどうかの判定、そして適宜、指摘事項に関連する推奨事項を含むレビューレポートを準備する。 * 運営により、きわめて非公式のものから、高度に公式なものまである。 * 主な目的は、ディスカッションすること、判断を下すこと、他の方法を評価すること、欠陥を見つけること、技術的な問題を解決すること、仕様や計画、規定、標準に準拠していることをチェックすることである。 |
インスペクション | 経験を積んだモデレータ(作成者ではなく)が進行を主導する。 * 同僚によるチェックが一般的である。 * 各人の役割が決まっている。 * メトリクスの収集が含まれる。 * 規則やチェックリストを使い、形式に基づいたプロセスで進める。 * ソフトウェア成果物の受け入れに対する開始、終了基準を決める。 * インスペクション前の準備が必要である。 * インスペクションのレポートや指摘一覧を書く。 * 形式の決まったフォローアッププロセスがある。 - プロセス改善が含まれる場合がある。 * ドキュメントを読みあげる人を加えたりすることもある。 * 主な目的は欠陥の検出である。 |
テストレベル(test level)¶
系統的にまとめ、管理していくテストの活動のグループ。各テストレベルはプロジェクトの特定の責務と対応付けができる。テストレベルの例には、コンポーネントテスト、統合テスト、システムテスト、受け入れテストがある。
テストレベル | 説明 |
---|---|
コンポーネントテスト | 個々のソフトウェアコンポーネントのテスト。 |
統合テスト | 統合したコンポーネントやシステムのインターフェースや相互作用の欠陥を摘出するためのテスト。 |
システムテスト | 統合されたシステムが、特定の要件を満たすことを実証するためのテストのプロセス。 |
受け入れテスト | システムが、ユーザのニーズ、要件、ビジネスプロセスを満足するかをチェックするための公式なテスト。このテストにより、システムが受け入れ基準を満たしているかどうかを判定したり、ユーザ、顧客、その他の認可団体がシステムを受け入れるかどうかを判定したりすることができる。 |
テストタイプ(test type)¶
コンポーネント又はシステムをテストするためのテスト活動をまとめたものであり、たとえば機能テスト、使用性テスト、回帰テストなどのように特定のテスト目的に焦点を当てている。テストタイプは一つ又は複数のテストレベル又はテストフェーズで行なわれる。
テストタイプ | 説明 |
---|---|
機能テスト | コンポーネントやシステムの機能仕様の分析に基づいて実施するテスト。 |
使用性テスト | ソフトウェア製品が、特定の条件下で理解され、学びやすく、使用しやすく、ユーザにとって魅力的である能力を判定するためのテスト。 |
回帰テスト | 変更により、ソフトウェアの未変更部分に欠陥が新たに入り込んだり、発現したりしないことを確認するため、変更実施後、すでにテスト済みのプログラムに対して実行するテスト。ソフトウェアや、実行環境が変わる度に実施する。 |
テストフェーズ(test phase)¶
テスト活動をプロジェクト中で管理(マネジメント)しやすいフェーズにまとめたセット。たとえば、あるテストレベルの実行活動。
テストプロセス(test process)¶
基本的なテストプロセスは、テストの計画とコントロール、テストの分析と設計、テストの実装と実行、終了基準の評価と報告、テスト終了作業によって構成される。