Web Service QAMeeting Vol.1
ソフトウェアテストの分類
Who Which
How What
11
テストレベル
テスト技法 テストタイプ
12.
Web Service QAMeeting Vol.1
ソフトウェアテストの分類
Who
⁃ Developer Testing
⁃ Acceptance Testing
Which
⁃ Unit Testing
⁃ Integration Testing
How
⁃ Black Box Testing
⁃ White Box Testing
⁃ Gray Box Testing
What
⁃ Functional Testing
⁃ Non-Functional Testing (Performance, Stress, Usability, …)
12
13.
Web Service QAMeeting Vol.1
Webサービスの一般的な構成
13
View
Controller
Model
data
data
data
14.
Web Service QAMeeting Vol.1
Webサービスの一般的な構成とテスト戦略
14
View
Controller
Model
data
data
data
Acceptance
Integration
Black Box, Gray Box
Functional, Usability, Stress
Developer
Unit
White Box, Black Box
Functional
Developer
Integration
Gray Box
15.
Web Service QAMeeting Vol.1
Webサービスの一般的な構成とテスト戦略
15
View
Controller
Model
data
data
data
Acceptance
Integration
Black Box, Gray Box
Functional, Usability, Stress
Developer
Unit
White Box, Black Box
Functional
Developer
Integration
Gray Box
開発者がしっかり
単体テストする
自動化できる部分と
できない部分がある
View/Model 境界
重複しがち
16.
Web Service QAMeeting Vol.1
Model のテスト
開発時にしっかり単体テストをする
⁃ ビジネスロジックごとにテストする
単体テストできるように設計する
⁃ ビジネスロジックを適切に分割する
⁃ 外部依存を切り離せるようにする
• テストダブル、フィクスチャ
⁃ テスタビリティの高い設計にする
16
17.
Web Service QAMeeting Vol.1
View のテスト
ユーザシナリオに沿ってエンドツーエンドテストをする
⁃ シナリオテスト・機能テストに相当する部分は自動化可能
自動化できない・しない部分こそ、マニュアルでしっかりやる
⁃ 表示・レイアウトの確認
⁃ ユーザビリティテスト
⁃ スクリーンショットなど効率化できる部分は半自動化
17
18.
Web Service QAMeeting Vol.1
Controller のテスト
いっそのこと重複する部分はやらない
⁃ Model と重複する部分はビジネスロジックのテストとして実施
⁃ View と重複する部分はエンドツーエンドテストとして実施
⁃ 上 (View) と下 (Model) からトータルでしっかり抑える
重複・スキップするための設計
⁃ Model と View の設計・実装範囲が適切であること
⁃ テスタビリティの高い設計(ry
(参考) プログラマの三大美徳
⁃ 怠惰(Laziness)
⁃ 短気(Impatience)
⁃ 傲慢(Hubris)
18