2017-02-14 7 views
1

特定のWebページにアクセスして更新する複数のユーザーをテストする必要がある状況があります。そのオークションのページと私は、ブラウザが正しい応答を表示することを主張して、アイテムに入札する3人のユーザーをテストする必要があります。例えば複数のユーザーによる受け入れテストページ

  • ユーザ
  • ユーザ
  • ユーザ1件の入札で3つのログの2つのログ内

    • ユーザ1つのログ -
    • ユーザ2件の入札を獲得している - 勝っています - ユーザー1が非公開で通知を受ける
    • ユーザー3の入札単価は不十分
    • user 3 bi dsは再び勝っている - ユーザー1とユーザー2のget高値通知

    を、私は、各ユーザーのログを、順番にこれらのステップを実行するスクリプトのセットを持っている現時点では、各時間内外に入札がperformed.Iは」 PhantomJSでPHPとCodeceptionを使用してこれを行うが、テストには数分かかる。

    は私が

    1. これをテストするための最良のアプローチ、および並行して、ユーザーをテスト達成することができます
    2. ツールについてのアドバイスを探しています。
  • 答えて

    2

    最初のものが最初です。 UIテストは、本質的に遅いです。私はあなたがその道を行くパフォーマンスの劇的な増加を期待することはできないと思います。

    確かに、より高速なマシンで、より良いインターネット接続性でテストを実行することができますが、それはこれまでのところあなただけになります。

    パフォーマンスの改善の1つは、UIテストを並行して実行することです。マシン上の複数のブラウザインスタンス(つまり、マシンのリソースに物理的な制限があります)または中央オーケストレーターがテストを実行する複数のノード(例えば、Selenium Gridを見てください)のいずれかを意味します。

    私の意見では、この問題に取り組むための最良の方法は、UIテストを完全にスキップして、すべてをサーバー側コード層でテストしようとしているビジネスロジックに移動することです。

    このようにして、ビジネスロジックをテストするテストを書くことに集中することができます。これは最も重要なことです(ステークホルダーがその意見を共有することが重要です)。

    このアプローチの詳細については、Clean Architectureでこの講演をご覧ください。 1時間ですが、それだけの価値があります!

    +0

    私は実際にビジネスロジックの統合テストとユニットテストを行っています。私がテスト/シミュレートする必要があるものは、「ライブ」オークションであり、インターフェースが期待していることをテストします。 – Euperia

    関連する問題