2022/3/10 JaSST'22 Tokyo
末村拓也(Autify)・伊藤由貴(ベリサーブ)
Webアプリケーションを題材に、テスト設計からテストコード実装までの自動テスト作成の流れを一気通貫で、実践的に解説していきます。
大きく2部構成です
「E2Eテストを自動化しよう」と思った場合、何から始めますか?
アンチパターンです
テスト自動化を行うと、テストケースの追加や実行が(一見)簡単になるため、テストを増やしてしまうことがある。
行っても効果がないテストが増えてしまうと、
など、不都合が生じる。(そして自動テストはお蔵入りへ・・・)
そもそも、テストプロセス(e.g.テスト分析、テスト設計、テスト実装、報告)、特にテスト分析、テスト設計が適切に行われていないテストは、優秀なテスターが手動でテストを実施したところで、テストに期待される動作の保証やバグの検出といった効果を発揮しない。いわんや、自動テストにおいておや、である。
テスト自動化研究会 - テスト自動化の8原則 より。強調は伊藤。
「やみくもに」はダメ、つまり自動化の前に考えるべきことを考えましょう、ということ。
8原則にもあるように、「テスト分析」と「テスト設計」を適切に行う必要がある。
参考:ソフトウェアテスト基礎講座 - 株式会社ベリサーブ
※組織でのE2Eテストの定義が本ページと異なっていても、実践編でテストを自動化する際の技術要素は共通しているため、何らかお役には立つと思います
E2Eテストをどう自動化するかという視点ではなく、開発・テストをどうしたいかを考え、そのためにE2E自動テストがどうあるべきか、を検討しましょう。
テストベースをもとに、どの機能(フィーチャ・シナリオ)をどこまでテストするか、を検討します。
※この検討の過程で「このテストは手動でやろう」などの判断も発生
ここからは具体的なサイトに対してE2Eテストを考えてみましょう
このうち、1番目の「非会員で予約」のシナリオを、具体的な手順として書き起こします
ここからは、選定&手順化したテストケースについて、実際にコードを書いて自動化していきましょう