私は現在途方に暮れています。開発者が所有するテスト環境からQAが所有するテスト環境に移行しています。私は以前、QAが所有するテスト環境で働いていました。しかし、私はこれを最初から設定したことはありません。可能な限りプロダクションを反映する必要があることを理解しています。しかし、どのように?QA環境をどのように設定しましたか?
3 に答える
QA テストベッドをセットアップするための要件は、実際には 3 つだけです。
1) クリーンでリアルな演出を再現。アプリケーションが Win2k8 サーバーで実行される場合、QA には Win2K8 サーバーが必要です。5 つの Web ブラウザーをサポートする必要がある場合、QA では 5 つすべてをインストールする必要があります (同時にまたは複数のクライアント間で)。クライアント/サーバー セットアップで展開する場合、製品が 1 つのシステムだけで動作する場合でも、2 台のマシンが必要になります。典型的な展開を圧倒するつもりはありません。わずかに弱いハードウェアでテストすると、パフォーマンスの問題を明らかにするのに役立ちます。
2) 一貫したサンプル データ。これは、データベース ダンプ、ダミー データ、またはランダムに生成されたデータである可能性があります。今回は簡単にリロードできるはずです。アプリがデータベース テーブルからレコードを表示する場合は、まずそこに適切な量のサンプル データが必要です。その後、QA 担当者はそれをいじったり、追加したり、削除したりできます。現実的なデータとエッジ ケースのシナリオを含めます。
3) ロールバック。これを処理する最も簡単な方法は、システム イメージングを使用することです。QA には、製品が正しく展開されることを確認するために、テストするためのクリーンで手付かずの環境が必要です。また、QA は、変なことをしてテスト環境を爆破することを心配する必要がなくなります。最悪の場合、ロールバックが進行している間、コーヒー ブレークを取るだけです。
毎週本番環境のバックアップを取り、QA にあるものを置き換えます。本番コピーでは、すべての機密情報 (SSN、電子メール アドレス、電話番号など) がスクラブされ、「ダミー」値に置き換えられています。
次に、ビルド プロセスを使用して、更新された QA 環境を、テストしているコードのバージョン (UI、ビジネス レイヤー、およびデータ レイヤー) にします。
まず、QAの対象と、テストのどの部分を所有したいかを自問してください。
- ユニットテスト
- 機能/統合
- 上記の自動化
私は次のように始めます。開発者(技術者でない場合)に次のように依頼します
- ビルドサーバーをセットアップします。ここで、コードをビルドし、アプリケーションを実行してテストできます
- 理想的には、継続的インテグレーションをセットアップします。たとえば、Jenkinsを使用して、コードをチェックアウトし、ビルドします
JenkinsとHudsonはどちらも、適切なハードウェアがあり、ビルドスクリプトが適切に配置されていれば、テスト環境のセットアップが非常に簡単です。