PR

例えば、ログイン回数を減らす

 例として、ECサイトのテストを想定してみよう。商品購入ボタンを押したとき、アカウントの年齢に応じて遷移先が変化することを確認する目的で、次のようなテストケースが割り振られたとする。

割り振られたテストケース
No.1とNo.13のテストケースは同じ条件で確認できる
No.テスト対象画面テスト対象エリアテスト対象要素項目トリガーパターン確認項目期待値
1お酒、タバコ通販TOP画面お酒、タバコ購入エリア「お酒」購入ボタンパターンの年齢のアカウントでログインし「お酒」購入ボタン押下P1_1
年齢:18歳
画面遷移先が正しいこと年齢制限エラー画面に遷移すること
2お酒、タバコ通販TOP画面お酒、タバコ購入エリア「お酒」購入ボタンパターンの年齢のアカウントでログインし「お酒」購入ボタン押下P1_2
年齢:19歳
画面遷移先が正しいこと年齢制限エラー画面に遷移すること
12お酒、タバコ通販TOP画面お酒、タバコ購入エリア「お酒」購入ボタンパターンの年齢のアカウントでログインし「お酒」購入ボタン押下P1_12
年齢:21歳
画面遷移先が正しいこと購入画面に遷移すること
13お酒、タバコ通販TOP画面お酒、タバコ購入エリア「タバコ」購入ボタンパターンの年齢のアカウントでログインし「タバコ」購入ボタン押下P2_1
年齢:18歳
画面遷移先が正しいこと年齢制限エラー画面に遷移すること

 割り振られたテストケースを順番に実行すると、次のような流れになる。まず18歳のアカウントでログインしてお酒購入ボタンを押す。次に、ログアウトして19歳のアカウントでログインし直してお酒購入ボタンを押す。さらにログアウトして、20歳のアカウントでログインしてお酒購入ボタンを押す。

 お酒購入ボタンのテストが終わったら、次はタバコ購入ボタンのテストを実行する。18歳のアカウントでログインして、お酒購入ボタンの場合と同様のテストを繰り返す。

 これではテストケースの数だけログイン/ログアウトを行うことになり、時間が掛かる。

 テスト実行の速い人は、いったんテストケース全体を眺める。そして、上から順にテストケースを消化すると、ログイン、ログアウトを何度も繰り返すことになると気付き、その回数を減らせないかと考える。考えた結果、ログインした後にお酒購入ボタンを押し、そのままタバコ購入ボタンを押せば、1回のログインで2つのテストケースを消化できると気付く。

 つまり、速い人は次のような順番でテストを実行する。まず、18歳のアカウントでログインしてお酒購入ボタンを押す。次に、そのままログアウトせずに「タバコ購入ボタン」を押す。18歳の場合のお酒とタバコそれぞれのテストケースを確認できたら、今後は19歳のアカウントでログインして同様のテストを実行する。