4

私はC.I.最近私はTeam Cityが実装されたばかりのプロジェクトを継承しており、ゆっくりと頭を抱えています。私たちがしたいことの1つは、ビルドプロセスの一環としてSelenium Testsを実行することです。私はセレンテストを作成し、開発マシンのnunit-consoleを使用してそれらを正常に実行できます。ビルドサーバーはプロジェクトをビルドし、それをステージングサーバーにデプロイします(Webフォームアプリケーションが発生した場合)。連続積分とセレンのテストについて初心者の質問

各セレンテストの前に、データベースを既知の状態に設定します。つまり、特定のレコードのみを保持するように設定します。つまり、各テストは他と独立しています。問題は、ステージングサーバーが実際の "人間"テスターに​​よって使用されるため、データベースが継続的にリセットされる問題(レコードが削除されるなど)が発生するためです。ビルドサーバーとそれに対してセレンテストを実行し、それらのテストが合格するとステージングサーバーにのみ展開しますか?

これを完全に間違っていますか?もしそうなら、あなたはどのようにあなたの組織でそれをしますか?

答えて

2

自動テスト用にステージングされたサーバーにテスターがアクセスできるようにして、自動テストと手動テストを混在させないことをお勧めします。これにより、自動テストと手動テストの両方で偽陰性が発生する可能性があります。これらの「バグ」は不確定性があり、再現性がない可能性が高い(非常に悪いニュースです)。これにより、不必要な「バグレポート」が多く発生し、障害が発生します。だからここ

はあなたの現在の設定に加えて...

を行うことができるものである、あなたは余分を作成することができ、あなたの手動テスト担当者のためのサーバーを上演。これは少なくともです。おそらくをいくつか、のそれぞれにを作成してください。我々は最近、私たちのテスターは(我々は彼らの〜10を持っていた)一つのサーバを再利用することが判明私の現在のプロジェクトで

そして、ここに暴言を付属しています...

。彼らは、私たちのアプリが複数の同時ユーザーを持つので、個々の機能をテストしている間に、複数のユーザーが同じサーバー上で作業している間にこれらの機能がどのように機能するかをテストすることも良い考えです。 誤って!

複数のユーザーが懸念される場合は、特定の懸案事項のテストケースが必要です。機能#1が機能#2を妨害する可能性がある場合、それは具体的にテストされるべきであり、単に「試験される運」ではない。

これは私たちのマニュアルテスターに​​説明される前に、1人のテスターが別のテスターのつま先を単に踏んでいたために、多くの誤ったバグ報告がありました。 (例えば、テスター1がテスター2がシステムに導入したレコードを削除したなど)。これにより不必要なバグレポートがたくさん作成され、これらのバグは決して再現できませんでした。

暴言については申し訳ありませんが、私はこれはまだ役立ちます:)良い音

+0

おかげで、期待し、我々は、自動と手動テストを混合することは悪いことであろうと推測しました。ビルドサーバーにアプリケーションをビルドし(明らかに)、自動セレンテストを実行し、すべての自動テストが正常に実行された場合は手動テストのためにステージングサーバーにデプロイします。アドバイスありがとうございます。 –