2. テスト自動化の準備
自動化コードを書き始める前に、環境とツールを整えるフェーズです。
2.1 SUTの試験性 (Testability)
Section titled “2.1 SUTの試験性 (Testability)”自動化の難易度は、テスト対象システム(SUT)の作りに依存します。
- 可観測性: システムの状態や出力を外部から確認できるか(ログ出力など)。
- 制御性: システムを特定の状態に強制できるか(APIによるデータ投入など)。
- 操作性: UI要素に一意のIDが振られているか。
2.2 試験性を考慮した設計 (Design for Testability: DFT)
Section titled “2.2 試験性を考慮した設計 (Design for Testability: DFT)”テスト自動化エンジニア(TAE)は、開発者に対して「テストしやすいコード」を書くよう働きかける必要があります。
- 例: 画面のボタンに
data-testid属性を付与してもらう。 - 例: テスト用のバックドア(認証スキップ機能など)を用意してもらう。
2.3 ツール選定
Section titled “2.3 ツール選定”「人気があるから」ではなく、以下の基準で選びます。
- 技術適合性: SUTの言語やプラットフォームと合っているか。
- 組織適合性: チームのスキルセット、予算、CIツールとの連携。
- PoC(概念実証): いきなり導入せず、まずは小規模に試してリスクを洗い出す。