0

ある種のスケジュールを含むWebアプリケーションを書いています。特定のアクションの後、スケジュールが更新され、ユーザーがその日にページにアクセスすると、何かが発生します。

その種の機能の機能(受け入れ)テストを作成する方法について何かアイデアはありますか?

私はSeleniumを使用してこれらのエンドツーエンドのテストを書いています。/set-fixed-time?time=...私が持っている唯一のアイデアは、のようなURLにアクセスし、テスト訪問後にサーバーに特定の日付を使用させる可能性/set-real-timeです。

サーバーでは、カスタムオブジェクトを使用して現在の時刻を取得し、URLの1つにアクセスするとそのオブジェクトが交換されます。

4

2 に答える 2

2

開発者テストは問題ないと思いますが、受け入れテストはモックなしで実行する必要があります(モックコードにバグがある可能性があります)。受け入れテストがそれらのツリー日を待つ必要があるよりも3日間待たなければならない場合、またはサーバー時間を変更することによってそれをバイパスすることができます。テストのためだけにバックドアを残すのは悪い考えだと思います(一部のテスターは手動でテストすることができ、/ set-real-timeを忘れるよりも)。

于 2009-05-19T12:19:22.267 に答える
0

Monkey に同意します。これは開発者が処理するのが最善です。

ハイブリッドも試せます。すべての受け入れテストを実稼働サイトの変更されていないシミュレーションで実行する必要がある、または Web インターフェイスの使用のみが許可されている、管理者として変更できない、またはコードを実行できないという理由はありません。また、サーバー全体の時刻を変更する必要もありません。これはグローバルであり、意図しない結果をもたらす可能性があります。代わりに、ユーザーが最後に更新された日時を変更できます。

プログラムから Selenium を駆動できるため、Selenium とコードのハイブリッド テストでは、コードを使用してユーザーの「前回の更新日時」データを設定し、Selenium テストを実行して結果を確認できます。一度も実行されていないとき、時間がなくなる直前、ちょうど時間がなくなるとき、および直後に試してください。

于 2009-05-24T22:57:47.330 に答える