テスト自動化
テスト自動化のステップをまとめます。
自動化のやり方
開発チームが少しずつテストカバレッジを上げる。
そのためには以下のステップが良いだろう
- テストケースを一覧にまとめる。
- テストケースにリスクとコストを付与
- テストケースの優先順位をつける。
- 優先順位の高いテストケースから少しずつ自動化させる。
Step1.テストケースを一覧にまとめる。
手動で実行しているテストケースをまとめればOKでしょう。
サンプルケース
No | テストケース |
---|---|
1 | ログイン |
2 | 検索 |
3 | 登録 |
4 | 削除 |
Step2. テストケースにリスクとコストを付与
テストケースにリスクとコストを付与します。
リスクを付与
リスクは障害が発生する確率と、その障害による損失コストの組み合わせ。
難しく考えるとキリがないので、ざっくりでいいだろう。
No | テストケース | リスク |
---|---|---|
1 | ログイン | 中 |
2 | 検索 | 低 |
3 | 登録 | 高 |
4 | 削除 | 中 |
コストを付与
次に、テストケースのコストを付与する。
コストは以下の2つを付与する。
* 手動テストを実施した場合のコスト
* 自動テスト用意するのにかかるコスト
手動テストコスト付与
No | テストケース | リスク | 手動テストコスト |
---|---|---|---|
1 | ログイン | 中 | 高 |
2 | 検索 | 低 | 高 |
3 | 登録 | 高 | 低 |
4 | 削除 | 中 | 低 |
自動テスト準備コスト付与
No | テストケース | リスク | 手動テストコスト | 自動テストコスト |
---|---|---|---|---|
1 | ログイン | 中 | 高 | 低 |
2 | 検索 | 低 | 高 | 中 |
3 | 登録 | 高 | 低 | 高 |
4 | 削除 | 中 | 低 | 中 |
Step3. 優先順位をつける。
今回のパターンだとどれを自動化させるべきだろうか?
- 高リスク低コストのケース3
- 低リスク高コストのケース2
ケースバイケースだが、高リスクなものから潰したほうが良いだろう。
並び替え結果
No | テストケース | リスク | 手動テストコスト | 自動テストコスト |
---|---|---|---|---|
3 | 登録 | 高 | 低 | 高 |
2 | 検索 | 低 | 高 | 中 |
1 | ログイン | 中 | 高 | 低 |
4 | 削除 | 中 | 低 | 中 |
リスクやコストに具体的な点数をつけても良いが、複雑にしすぎない程度に収めたほうが良いだろう。
Step4. 少しずつ自動化
バックログから少しずつ自動化させよう。 完璧でなくて良いし、テストケースを100%実装しなくて良い。
50%テストを自動化させた時点で、これ以上やっても意味ないと判断することもOKだろう。
問題はどうなる?
短期間で効果がでるかは分からないが、数ヶ月で大きな違いが出るはずだ。