私は現在、クライアントのウェブサイトからデータを解析している環境にいます。クライアントがサイトを変更したときに、私たちが情報をもはや受け取っていないことを確認するためにテストを使用したいと思います。TDDシナリオ:アドバイスを探す
私の最初のアプローチは、テストがクライアントのサイトにヒットし、データが見つかったと主張する純粋な統合テストを行うことでした。しかし、途中で500回のテストが行われたにもかかわらず、テストランは耐え難きになり、場合によってはタイムアウトになりました。だから私は彼らが提供している中核的な保護を失うことなくできるだけ多くのテストをクリアして、私は350程度に下がっています。私は、すべてのテストを壊すだけで、より多くのテストを追加するという恐れがあります。また、私はもう5分以上の時間を実行していない(一部のクライアントは、サイトとの通信の速度に基づいているため、一部のクライアントは長くなります)。私はこれを完全な失敗と見なします。
私はこれについて多くのことを考えていて、オフィスを尋ねてきました。私の次の試みは、クライアントのページをプルダウンし、プロジェクトの埋め込みリソースに対してテストを書くことです。これにより私はより高いテストカバレッジを得ることができ、私は孤立してテストに戻ることができます。しかし、私が変更を加えたときに通知を受ける必要があり、テストするページを再度プルダウンする必要があります。私はクライアントがこれに従うとは思わない。
失敗したテスト(クライアントサイトにヒットした)と同じ機能を提供するが、前よりもはるかに少ない数の「ランダム」統合テストでこれを増やすことを提案しました。私はランダムテストのアイデアは本当に好きではありません。時には赤いライトが点灯し、同じコードで緑色のライトが点灯する可能性があります。しかし、これまでのところ、クライアントのサイトが変更され、コードがデータを見つけなくなったときの認識を得るために私が聞いた最良のアイデアのように思えます。
誰もがこのような環境をテストしていますか?私のためのテストコミュニティからの任意の提案?
外部Webサイトからデータを削っているのですか?はいの場合は、大きな変更が行われる前に頭をアップさせることができますか?そうでない場合は、テストの最小限のサブセット(煙)にタグを付け、最初に実行します。この基本セットが通過したら、スイートの残りの部分を呼び出します。 – Gishu
おかげさまで皆様のご提案をいただきました。困ったことに間違いなく良い情報。 – Joe