テスト
はあなたが合格/不合格のしきい値を持っていることを意味します。パフォーマンステストでは、これは遅すぎるということを意味し、失敗した場合、十分に速く、パスします。失敗した場合は、再作業を開始します。
あなたが失敗することができなければ、実際にテストしていないベンチマークです。
「システムは実行可能です」と話すときは、「有能」を定義する必要があります。多数のハードウェアパフォーマンスベンチマークのいずれかを使用できます。砥石、Dhrystoneなどが人気があります。また、データベースを大量に使用するアプリケーションがある場合は、TPCベンチマークを参照することもできます。または、おそらくネットワークを大量に使用するアプリケーションがあり、netperfを使いたいと思うかもしれません。またはGUIを大量に使用するアプリケーションで、何らかのグラフィックスベンチマークを使用したい場合。
これらのいずれも、ある種の「機能」測定値を示します。 1つ以上を選んでください。彼らはすべて良いです。同様に議論の余地がある。同じようにあなたの競争相手に向かって偏って、あなたから離れています。
ベンチマークを実行したら、ソフトウェアを実行してシステムが実際に何をするかを確認できます。
十分なデータを収集すれば、いくつかのベンチマーク番号とパフォーマンス番号との間に相関関係を確立することができます。
十分な数の異なる構成の十分なデータがあれば、最終的にパフォーマンスを開発することができます「このハードウェア、ソフトウェア、チューニングのパラメータと設定を考慮すると、私のソフトウェアは毎秒[X]件のトランザクションを実行すると期待しています」というモデルです。それは「有能」の堅実な定義です。
このモデルを取得したら、ソフトウェアと機能番号を比較できます。非常に完全なモデルが得られるまで、どのシステムがコードを1秒間に1000回実行することさえできるのかは本当に分かりません。
なぜプロファイラの代わりにユニットテストが必要ですか? – Paco
ユニットテストはパフォーマンステストではなく、期待される機能テストであるという明確なポイントがあります。パフォーマンスプロファイリングはあなたが後にしているものです。彼らは単純な獣ではありません。 – STW