JSTQB Advanced Level テスト自動化エンジニア (TAE)(v2.0)シラバス 要約
JSTQB Advanced Level テスト自動化エンジニア (Test Automation Engineer: TAE)(v2.0) のシラバス要約です。
自動テストを単なるスクリプトではなく、「ソフトウェアシステム (TAS)」 として設計・運用するための知識体系です。
最新のv2.0シラバスの構成に合わせてアップデートしています。
v2.0における主な変更点のポイント:
旧版にあった「第3章 汎用テスト自動化アーキテクチャ (gTAA)」や「第6章 手動テストからの移行」といった章タイトルが再編され、代わりにアーキテクチャのモジュール化やCI/CDパイプラインへの統合といった、より現代の開発プロセス(DevOps)に即した「デプロイメント戦略(第5章)」が強調される構成になっています。
- 目的: 効率化だけでなく、信頼性の向上、カバレッジの拡大、手動テストでは不可能なテスト(並列実行など)の実現。
- 成功要因:
- 自動化は「銀の弾丸」ではないというメリット・デメリットの理解。
- 異なるソフトウェア開発ライフサイクル(アジャイル、DevOpsなど)や、システムアーキテクチャが自動化の適合性に与える影響を考慮する。
- SUTの試験性(Testability):
- 可観測性(Observability)と制御可能性(Controllability)など、明確なアーキテクチャによる「試験性を考慮した設計(DFT)」が重要。
- ツール選定とインフラ:
- 組織の技術スタックに合わせたツールの評価と選定プロセス。
- 自動化を可能にするためのインフラストラクチャの構成ニーズを理解する。
- TAAの設計: テスト生成、テスト定義、テスト実行、テスト適応などのレイヤー構造を理解し、プロジェクトに合わせてTAA(テスト自動化アーキテクチャ)を設計する。
- 設計原則とパターン:
- モジュール化やスケーラビリティを確保するためのデザインコンセプトやデザインパターン(抽象化など)を適用して構築する。
- パイロットプロジェクト: いきなり全展開せず、小規模なパイロットプロジェクトを通じてアプローチを選択し、デプロイを計画する。
- リスクと保守性:
- 「メンテナンスの悪夢(修正コストが手動テストを上回る)」などの開発リスクを評価・緩和する。
- スクリプトがスパゲッティ状態になるのを防ぎ、TAS(テスト自動化ソリューション)の保守性を高める。
- CI/CDへの統合: 自動テストをモダンな継続的インテグレーション/継続的デリバリー(CI/CD)パイプラインに効果的に統合する。
- デプロイメント: テストウェアの保守スコープを考慮し、様々な環境へのデプロイメントアプローチを設計する。
- 計測と分析: テスト実行データやカバレッジなど、テスト自動化データの収集・分析方法を理解する。
- レポーティング: 自動化のメリット(ROI)やシステムの品質状態を、ステークホルダーにわかりやすく適切に報告する仕組みを作る。
- インフラとTASの検証: 自動テストコード自体や、テスト自動化のインフラストラクチャが正しく機能しているかを検証する(テストのテスト)。
- 偽陽性と偽陰性: バグじゃないのに落ちる(偽陽性)、バグがあるのに通ってしまう(偽陰性)を排除し、検証ロジックの正確性を継続的に担保する。
- プロセスの見直し: TASの継続的な改善機会を定義・特定し、組織のテスト自動化を持続可能なものにする。
- リファクタリングと更新: アプリケーションの変化に伴い、自動テストコードやライブラリ、アーキテクチャを定期的に最適化する。