2008-09-16 12 views
2

私たちは、VMWareとNUnitを使用して自動回帰テストを開発しています。私たちは、テストを段階的に分けました。そして今、私は各段階でパフォーマンスの回帰を調べることを望みたいと思います。 NUnitのようにテストを行うだけでは、信頼できるとは思えません。私は約15%の受入れ係数で計算しましたが、私たちのステップは35%を超える場合があります。このようなリソース依存のテスト環境では、パフォーマンスをテストする一貫した方法がありますか? 「スマート」タイミングシステムは私の唯一の選択肢ですか?パフォーマンステスト

答えて

5

この種のパフォーマンステストには、単純な合格/不合格の結果をもたらすシステムはありません。実際の生活では、あなたのシステムを変えることによって、いくつかのことがより速くなり、他のいくつかのことは遅くなる可能性が高いので、通常、「良い」と「それほど良くない」の選択肢ではありません。 (もちろん、厳密に悪化するケースを避けたい)

これまで私がこれまで行ってきたことは、時間の経過とともに統計を保持することです。テストを実行するたびに、リビジョン番号とテストタイミングを含むSQLデータベースに結果をドロップします。その後、いつでも、しかしあなたが望むように(チームの全員がレビューできるように小さなWebアプレットでは理想的です)、あなたのパフォーマンスがトレンドアップしているかどうか、特定のリビジョン以降パフォーマンスが絶え間なく変化しているかどうかを確認できます。

ここで重要なことは、グラフである必要があることです。そうすれば、人間の目はそれを見て、その傾向を見つけることができます。 AIアルゴリズムを使って数値的にデータを分析しようと一週間も過ごすことができますが、人間のパターン認識能力を打ち負かすことは決してありません。

0

Ants Profilerなどのツールで利用可能な機能は、メソッドの実行/実行時間を調べるためのものですが、繰り返しテストで何が提供されているかわかりません。

0

パフォーマンステストに関して、私は、VMwareや他の仮想化プロセスを使用することに非常に懐疑的でした。過去にこれを処理した方法は、ビルドの一部に静的マシンに最新バージョンをインストールしてテストを実行させることです。仮想化以外では、より一貫した結果が得られるはずです。

関連する問題