はじめに:Chapter 6の概要
ISTQB Advanced Test Analystの**Chapter 6「Test Tools and Automation」では、テストツールと自動化に関する知識を扱います。
この章の6.1「Introduction」は復習的な内容で、メインとなるのは6.2「Keyword Driven Automation(キーワード駆動型自動化)」**です。
本記事では、この6.2で学ぶ内容を初心者にもわかりやすく解説します。
1. テストツールの基本復習
Foundation Level(基礎レベル)で学んだように、テストツールには以下のような役割や特徴があります。
-
テスト効率の向上:自動化により手作業を削減できる
-
品質向上:繰り返しテストで人為的ミスを減らす
-
リスク:ツール導入にはコスト・学習時間・メンテナンス負荷がある
-
ツール選定のポイント:組織のプロセスやスキルに適しているか
-
パイロット導入:一部プロジェクトで試験的に導入し、効果を検証する
これらを踏まえたうえで、キーワード駆動型テストの理解を深めましょう。
2. キーワード駆動型テスト自動化とは?
● 定義
**キーワード駆動型テスト(Keyword Driven Testing)**とは、
テストケースを「キーワード(=アクションを表す言葉)」によって制御するテスト自動化の手法です。
各テストケースに、**一意のキーワード(アクションワード)**を割り当てます。
このキーワードを使って、テストスクリプトを動的に呼び出す仕組みです。
● 例:ECサイトのテストを自動化する場合
|
テストケースID |
キーワード |
テスト内容 |
|---|---|---|
|
TC001 |
login |
ログイン処理 |
|
TC002 |
place_order |
商品をカートに追加して注文確定 |
|
TC003 |
cancel_order |
注文をキャンセル |
|
TC004 |
view_order |
注文履歴を表示 |
スクリプトのメイン部分では「login」「place_order」などのキーワードを呼び出して、
必要なテストケースだけを実行します。
たとえばシステムアップデート後に「注文関連だけ再テストしたい」ときは、
place_orderとcancel_orderのみ呼び出せばOKです。
これがキーワード駆動の強みです。
3. なぜキーワード駆動型が使われるのか?
この手法は特に**回帰テスト(Regression Testing)**で効果を発揮します。
主な目的
-
テストスイート(多数のテストケース)の中から、変更に関連するものだけを効率的に実行できる
-
各テストケースが独立して管理でき、再利用性が高い
-
ビジネスロジックの変更があっても、スクリプト全体を書き直す必要がない
4. キーワード駆動型テストのメリット
-
ドメイン専門家がキーワードを定義できる
→ 例えば「顧客登録」「注文確定」など、業務用語に沿った命名が可能。
→ テストアナリストが業務理解をもとに、プロジェクト標準に沿ってキーワードを設計します。
-
コーディング知識が不要
→ テストケースの実行はキーワード呼び出しで完結するため、
ドメイン知識はあるがプログラミングが得意でない担当者でもテストを実施可能。
-
再利用性と保守性が高い
→ スクリプトの関数部分(アクション定義)は一度書けば、何度でもキーワードから呼び出せる。
→ UI変更などがあっても、関数の一部修正で済む。
-
仕様と実装の分離
→ テスト仕様書(何をするか)と自動化コード(どのようにするか)を分離できるため、
ドキュメントとスクリプトの両方の保守が容易になります。
5. テストアナリストの役割
キーワード駆動型自動化では、**Test Analyst(テストアナリスト)**の責任が大きくなります。
テストアナリストが担うべき業務
-
適切なキーワードの設計と命名(業務・技術の両視点から)
-
キーワードとビジネスプロセスのマッピング
-
自動化スクリプト担当者(Automator)との連携
-
実行時の異常(アノマリ)解析
→ 不具合がキーワード定義・テストデータ・スクリプト・アプリ側の欠陥のどこにあるかを特定
6. 継続的インテグレーション(CI/CD)との関係
キーワード駆動型テストは、**継続的インテグレーション(CI)**や
**継続的デプロイメント(CD)**環境にも適しています。
-
新しいビルドごとに自動的にテストスイートが実行される
-
回帰テストを短時間で効率的に行える
-
開発とテストのサイクルを高速化できる
これにより、品質保証と開発スピードの両立が可能になります。
7. 注意点と実践上のポイント
|
項目 |
内容 |
|---|---|
|
キーワードの一貫性 |
チーム全体で統一した命名規則を設けること |
|
フレームワーク設計 |
スクリプト構造・関数呼び出し・ログ管理を整理すること |
|
異常検知 |
失敗時の原因分析を自動で記録できるようにすること |
|
スキル連携 |
テストアナリストと自動化エンジニアが協働して保守すること |
8. まとめ
キーワード駆動型自動化は、
再利用性・保守性・チーム連携性に優れた自動化フレームワークです。
-
テストケースごとに一意のキーワードを設定
-
キーワードを通して自動化スクリプトを呼び出す
-
ビジネス知識と技術スキルの橋渡しをするのがテストアナリストの役割
テスト自動化の基盤を強化したいチームにとって、非常に有効なアプローチといえます。
💡まとめ図:Keyword Driven Automationの構造イメージ
[テストケース一覧]
↓(キーワード)
[キーワードマッピング表]
↓(対応する関数呼び出し)
[自動化スクリプト群]
↓
[アプリケーション実行]


コメント