私は現在、クライアントの Web サイトからデータを解析している環境にいます。テストを使用して、クライアントがサイトを変更したときに、いつ情報を受信できなくなったかを確認したいと考えています.
私の最初のアプローチは、テストがクライアントのサイトにヒットし、データが見つかったことをアサートする純粋な統合テストを行うことでした。しかし、途中で500回のテストが行われると、テストの実行が耐えられなくなり、場合によってはタイムアウトが発生し始めました. そのため、提供されているコア保護を失わずにできる限り多くのテストをクリアし、350 程度まで減らしました。すべてのテストを破るためだけにテストを追加することを恐れています。また、変更を加えると、5 分以上実行していないことに気付きます (サイトとの通信速度に基づいているため、一部のクライアントはそれより長くなります)。これは完全な失敗だと思います。
私はこれについて多くのことを考え、オフィスで尋ねてきました。次の試みとして、クライアントのページをプルダウンし、プロジェクトに埋め込まれたこれらのリソースに対してテストを作成することを考えています。これにより、テスト範囲が広がり、孤立したテストに戻ることができます。ただし、変更を行ったときに通知を受け、ページを再度プルダウンしてテストする必要があります。クライアントがこれに固執するとは思わない。
失敗したテスト (クライアント サイトをヒット) と同じ機能を果たすが、以前よりもはるかに少ない数で機能する一連の「ランダムな」統合テストを使用して、これを補強するよう提案されました。私はランダムなテストのアイデアが本当に好きではありません。同じコードで赤信号が発生したり、緑信号が発生したりする可能性があります。しかし、これまでのところ、クライアントのサイトが変更され、コードがデータを見つけられなくなったことを認識できるようにするための最良のアイデアのように思えます。
このような環境をテストしていることに気付いた人はいますか? テスト コミュニティからの提案はありますか?