質問

VMWare と NUnit を使用して自動回帰テストを開発しています。テストをステップに分割しました。今度は、各ステップでパフォーマンスの低下を調べてみたいと思います。NUnit のように、単にテストのタイミングを計るだけでは信頼性が低いように思えます。私は合格率を約 15% と計算しましたが、手順は 35% を超える場合もあります。このようなリソースに依存するテスト環境では、パフォーマンスをテストする一貫した方法はあるのでしょうか?「スマート」タイミング システムが唯一の選択肢ですか?

役に立ちましたか?

解決

この種のパフォーマンス テストでは、単純な合否結果を与えるシステムなどありません。実際には、システムを変更すると、一部の処理が速くなり、一部の処理が遅くなる可能性が高いため、通常は「より良い」か「より良くない」かの選択ではなく、さまざまな種類のより良い間の選択となります。(もちろん、厳密にさらに悪化するケースは避けたいです。)

このために私が過去に行ったことは、単に長期にわたる統計を保持することです。テストを実行するたびに、結果をリビジョン番号とテストのタイミングとともに SQL データベースにドロップします。その後、いつでも好きなようにグラフを作成し (チームの全員がレビューできるように、小さな Web アプレット内に表示するのが理想的です)、パフォーマンスが上昇傾向にあるか下降傾向にあるか、または特定のリビジョン以降パフォーマンスが低下しているかどうかを確認できます。

ただし、ここで重要なのは、 グラフ. 。そうすることで人間の目で見て傾向を見つけることができます。データを数値的に分析する AI アルゴリズムを考え出すのに 1 週​​間を費やすこともできますが、人間のパターン認識能力を超えることはできません。

他のヒント

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top