ソフトウェアテスト関連の用語 メモ2
趣旨: → 資格試験の「JSTQB AL TA」を受験するので、学習のためのメモ
(以下、用語のメモ)
---
テストアナリスト(T A) とは
テストアナリストの主な焦点は、
「テスト設計」→「テスト実装」→「テスト実行 」の活動に置かれます、
テストアナリストの職務
TAの職務の一つは、
特定の状況で最適な[テストケースの設計レベル]を決定すること
特に、
以下が最も重要となります(JSTQB AL Test Analyst シラバス Business Outcomes.pdf ビジネス成果 より)
①適切なテスト技法の選択と適用
②リスクに基づいたテスト活動の優先順位付け
---
「テストケースの設計」 について
テストケースの設計レベル とは?
「テストケースの設計レベル」はローレベル と ハイレベル がある。
ローレベルテストケースは詳細度の高いテストケースのことで
テストの実行と実際の結果の検証に必要な特定の情報と手順のすべて(すべてのデータ要件を含む)を提供するものです。
主な長所
再現性の高さ:手順が明確に提供される詳細な情報に頼ってテストを実施できます。経験の少ない異なるテスト担当者がテストを再実行しても高い再現性を持つ。
独立した検証:詳細な度合いにより、必要に応じて、テストケースについて監査のような独立した検証が可能になります。
自動化の効率化:自動化に使うテストケースの実装に費やす時間を削減できます。
自明ではない欠陥の検出:テストベース(テストする仕様)に存在する「自明ではない欠陥」を検出できる可能性があります。
主な短所
→労力:作成とメンテナンスの両方に非常に多くの労力が必要となる場合があります。
→創造性の制限:実行時にテスト担当者の創造力を制限する傾向にあります。
→テストベースの必要性:テストベースを明確に定義する必要があります。
→トレーサビリティの確保:テスト条件のトレーサビリティを確保するための労力が、ハイレベルテストケースよりも多い場合があります。
→抽象度が高く、テスト手順や期待結果を大まかに記述したテストケース。
テスト実行時に、テスト担当者の柔軟性や経験を活かすことを可能にするガイドラインを提供するものです。
主な長所
早期の定義:テストベースがまだ完全に定義する必要がない場合でも、要件プロセスの初期に定義を開始できます。
柔軟性:テストすべきことに関するガイドラインを提供し、テストアナリストがテスト実行時に実データや手順さえを変更することを可能にします。
リスクカバレッジ:実行のたびに少しずつ違うテストを行うため、ローレベルテストケースよりも優れたリスクカバレッジを提供できることがあります。
再利用性:異なるテストデータを使用できる場合に、異なるテストサイクルでの再利用性に優れています。
主な短所
再現性の低さ:詳細な説明が不足しているため、テスト実施の再現能力が低く、検証を困難にします。
経験豊富な担当者の必要性:テスト実行をするためには、より経験のあるテスト担当者が必要となることがあります。
自動化の課題:詳細な情報が不足していることにより、ハイレベルテストケースに基づいて自動化を行うと、誤った実際の結果を検証したり、検証すべきアイテムを見逃したりすることがあります。
---
---
テスト技法 の話
→(JSTQB では)テスト技法は、いくつかのカテゴリに大きく分かれます
→ ブラックボックステスト技法 のこと
仕様書(要件やユーザーストーリーなど)に基づいてシステムの振る舞いを検証する技法です
例:境界値分析(BVA)、同値分割法(EP) など
同値分割法
境界値分析
デシジョンテーブルテスト
状態遷移テスト
クラシフィケーションツリー技法
ペアワイズテスト
ユースケーステスト
→ テスト担当者のスキルや直感、およびテスト対象に類似したアプリケーションや技術での経験を活用する技法
例:
エラー推測(Error Guessing)
コードの設計および開発時に発生した可能性のある潜在的なエラーを推測する技法
この技法は、リスク分析時に潜在的な故障モードを識別するためにも役立ちます。
この技法によるカバレッジの評価は難しく、テストアナリストの能力と経験によって大きく異なります。
チェックリストベースドテスト(Checklist-based testing)
テスト対象に対して検証を行う一連のルールや基準(ハイレベルで汎用化した一覧)を使用する技法
チェックリストは、標準、経験、およびその他の考慮事項に基づいて構築されます(例:ユーザーインターフェースの標準チェックリスト)
テスト文書の準備とメンテナンスにかかる時間を削減できるため、ソフトウェアのリリースや変更が頻繁なプロジェクトに適しています。
探索的テスト(Exploratory Testing)
テスト担当者が、
テスト対象とその欠陥についての学習、
テスト作業の計画、
テストの設計と実行、および結果の報告
を同時に行うという特徴を持つ技法です。
この技法は、ドキュメントが入手できない状況や、他のテスト技法では不十分な状況で頻繁に使用されます。テスト担当者は、テスト実行時にテストのゴールを動的に調整し、軽量のドキュメントのみを準備します。
探索的テストのセッションは、テストのゴール、対象領域、および成果物を定めたテストチャーターと、テストに使える時間を決定するタイムボックスによって管理されます。
欠陥ベースのテスト技法(Defect-based testing)
→ 探したい欠陥のタイプをテスト設計のベースとして使用する技法です。
この技法では、欠陥に着目した一覧(欠陥のタイプ、根本原因、故障の兆候など)からテストを体系的に導き出します。
テストケースをテストベースから導き出すブラックボックステストとは異なり、特定の欠陥のタイプに対象を絞ったり、既知の一般的な欠陥の一覧を通して体系的に作業したりできます。
その他:
→システムの内部構造や実装に基づいてテストを設計する技法
いわゆるホワイトボックステスト技法のこと
例:ステートメントカバレッジ、デシジョンカバレッジなど
(テスト技法の話 おわり)
---