0

大規模システムの開発では、機能以外の要件が最も重要であることが多く、開発時間の大部分を実装するのに時間がかかります。機能以外のテストはコストが高く、実行に時間がかかることがよくあります。機能以外のテストは頻繁に実行できません。通常の継続的インテグレーション システム サイクルでは、実行に時間がかかりすぎる可能性があるため、安定性テストには 2 週間かかる可能性があります。 2時間ごとに作成されます

4

2 に答える 2

0

まず、非機能要件の重要性をご理解いただきありがとうございます。これはまだ一般的でない知識です。

2 週間のテストの実行について言及されましたが、これは私には長すぎるようです。継続的インテグレーションは、即時のフィードバック ループに関するものです。テストにそれほど時間がかかる場合は、導入後 2 週間後に重大な問題が通知されることがあります。これがそのようなものでなければならない場合、私はよく考えます。

継続的インテグレーションで非機能テストを手動で実行することは、できる限り避ける必要があります。テストは、展開後すぐに自動的に実行されます。何らかの理由で特定のテストをこの方法で実行できない場合 (たとえば、実行に時間がかかるなど)、定期的に (もちろん自動的に) トリガーする必要があります。

NFT の実行時間を短縮するためのオプションがいくつかあります。

  1. テストを縮小します。たとえば、ランプアップ = x で 1000 スレッドの代わりに、ランプアップ = x/10 で 100 スレッドを実行します。必要なすべてのパラメーターを適切にスケーリングすると、正確なフィードバックをより早く得られる可能性があります。

  2. 機能テストに合格したら、多数のテスト環境で NFT の実行を並列化します。Amazon のようなプラットフォームを使用している場合、これは完全に可能です。また、マシンが稼働していた時間に対して支払う場合、これによってコストが大幅に上昇する必要はありません。全体的なテスト実行時間は同様になる可能性があります。

于 2015-10-08T20:09:54.393 に答える