ALTA-E-3.2.1 (K4) プロジェクトに適切なTAAを設計する
適切なTAAの要件を把握する
自動化する範囲: テストプロセス全体、あるいは一部のフェーズを自動化するのかを明確にする。
テストレベル: コンポーネント、統合、システムなど、どのレベルのテストを対象にするのかを決定する。
テストタイプ: 機能テスト、適合性テスト、相互運用性テストなど、どのような種類のテストをサポートするのかを定義する。
対象の役割: テスト実行者、テストアナリストなど、どの役割のユーザをサポートするのかを特定する。
対象のソフトウェア: どのソフトウェア製品を対象にするのかを定義し、TAAの寿命を決定する。
サポートする技術: SUTで使用される技術との互換性を考慮し、TAAでサポートする技術を決定する。
異なるアプローチとの比較・対比を行う
テスト生成: 手動、自動、要件ベースなど、様々なテスト生成アプローチのメリットとデメリットを比較し、最適な方法を選択する。
テスト定義: データ駆動、キーワード駆動など、様々なテスト定義方法の特性を理解し、適切な表記法を選択する。
テスト実行: テスト実行ツール、テスト手順の実装技術、ヘルパーライブラリなど、様々な要素を考慮し、効率的なテスト実行環境を構築する。
テスト適合: SUTとのテストインターフェース、テスト実行時の監視、テスト実行のトレースなど、テスト結果の信頼性を確保するための仕組みを検討する。
抽象化によるメリットを最大限に引き出す
抽象化レベル: テスト適合レイヤー、テスト実行レイヤーなど、どのレベルで抽象化を行うのかを決定する。
抽象化の目的: 技術依存性の低減、移植性の向上、保守性の向上などを目的とした抽象化を行う。
トレードオフ: 抽象化によるメリットと、初期投資の増加やパフォーマンス低下などのデメリットを比較検討する。
SUTとの関係を深く理解する
アクセスレベル: ソフトウェアレベル、APIレベル、プロトコルレベルなど、SUTへのアクセス方法を決定する。
相互作用パラダイム: イベント駆動、クライアント/サーバー、ピアツーピアなど、SUTとの相互作用のパラダイムを選択する。
SUT環境を理解するテスト
テスト環境: SUTとTAAの配置、ネットワーク構成、テストデバイスなど、テスト環境を設計する。
環境シミュレーション: SUTの物理環境や操作環境をシミュレートするためのツールや手法を検討する。
TAA実装の計画を立てる
時間と複雑度: TAAの開発に要する時間と複雑度を見積もる。
使いやすさ: テスト担当者が使いやすいインターフェースを設計する。
フィードバック: イテレーティブな設計を通じて、TAAを改善していく。
練習問題
Question #9 (3 point)
【出典元】
ISTQBテスト技術者資格制度
Advanced Level シラバス
テスト自動化エンジニア
Version2016.J01
この記事が気に入ったらサポートをしてみませんか?