4. 4
Success Factors in Test Automation
• テストレベル(Unit, IT ..)によって自動化のアプローチは異なる
• システムのアーキテクチャ (IF , 開発言語 ..)によって自動化のアーキテクチャは異なる
• システムの複雑さ (外部連携も含む) によって自動化の構成は異なる
Unit Test
Integration Test
phpUnit
Selenium,appium
GUI
Selenium,appium
SoapUI
テスト自動化導入時に念頭に入れる事
V字モデル
5. 5
Design for Testability and Automation
• Observability: システムの状態を判断できるI/Fを提供。
• Control(ability): システムを操作するI/Fを提供
• Clearly defined architecture: 上記I/Fを一意に判別でき
る
テスタビリティとは?
• 機械(自動化)が合否を判断できる仕組みが必要
• 機械が操作できる手段(I/F , Object)が必要
• 機械が操作する手段を特定できることが必要
Button A
Button B
Button C
Process is success!
Text text text
GUI
Validateが
しやすい
操作でき
る
Objectを
一意に特
定できる
6. 6
The Generic Test Automation Architecture
テスト自動化アーキテクチャの構成
Test Generation Layer
Test Definition Layer
Test Execution Layer
Test Adaption Layer
Manual
Design
Test
Models
Test
Conditions
Test
Cases
Test
Procedures
Test Data , Library
Test Execution
Test Logging Test Reporting
GUI API
Proto
cols
Data
base
Simul
ator
• テストハーネスの制御
• システムのモニタリング
• システムのシミュレーション/エミュレーション
• テストケースの自動実行
• テストケース実行のロギング
• テスト結果のレポート
•テストケース、テストデータ、手順を定義
•テストケース実行のテストSCRIPTを定義
•テストライブラリ(キーワード駆動)の利用
• マニュアルでテストケースの設計
• テストデータの生成、取得
• モデルから自動でテストケースを作成
※ほとんどの自動化は下のlayerから検討、実装していくが全体像を考慮する必要がある