
106
5 章 テストを安定させる
5.1.5
したテストスイートを持する
技術的問題のためにテストが不定期に失敗していると、カルチャの変化は長続きしません。こう
した技術的問題には、
Ajax
を適切に扱っていないことや、テスト環境の実行を遅くする外的影響
を把握していないことなどが挙げられます。この章では、最もよく見かける、テストを不安定にす
る技術的問題の解決策に注目します。それでは始めましょう。
Ajax(Asynchronous JavaScript and XML)は比較的新しいウェブ開発テクニックで、ウェ
ブページがバックグラウンドでコンテンツを送受信することを可能にします。
5.2
Ajax
を待つ
非同期ページロードが主流になる前、テスト自動化はもっと単純でした。テストがボタンをクリッ
クすると、ページ全体がリロードされます。新しいページがロードされたら、私たちはエラーが表
示されていないかチェックします。ページのロードを待つことで、ページ上の要素がすべてそこに
あることが保証されていました。もし期待していた要素が見当たらなければ、テストは自信を持っ
て失敗することができたのです。ところが今や、数秒待っても要素は見当たらないかもしれません。
そして、不特定の遅延のあと、まるで魔法のように要素が現れるのです。テストはもっと賢くなる
必要があります。
クレジットカード情報の記入というのは、どんなオンラインストアにも見られる共通のテストで
す。私たちのサイトにも、次のような単純なクレジットカード購入フォームがありました。 ...