3

ちょっと興味があるんだけど:

ソフトウェア ビルドを Q/A にリリースするとき、常に "RELEASE" バージョンを使用することを好みますか、それとも時々 DEBUG バージョンを使用しますか?

これが私の難問です。Assert を使用して、決して発生してはならない状態をトラップするのが好きです。

一方では、Q/A がアサーションを有効にしてソフトウェアをテストし、アサーションをトリガーするシナリオを作成できる場合はそれを報告できるようにすることが役立つ場合があります。

一方で、開発者がコードの動作を変更するような方法でアサーションをコーディングしたというリスクは常に存在します。その場合、Q/A はアサーションを無効にしてビルドをテストする必要があります。

これまで、Relesae ビルドで動作する Q/A を常に行ってきました。これは出荷されるコードだったからです。ただし、Q/A への非常に初期のリリースでは、アサーションが有効になっているパターンを試してみることを考えています。その後、出荷が近づいたら、ビルドでアサーションが無効になっていることを通知します。

皆さんはどう思いますか?

4

5 に答える 5

3

両方をQ/Aにリリースし、両方でテストパスが完了します。自動テストに集中している場合、これはテストを実行するための追加のハードウェアがあるという問題になります。

リリースバージョンは実際の顧客が使用するものであるため、テストする必要があります。デバッグバージョンには、追加のアサート/検証/トレースなどが含まれています。これは、明らかでないバグを見つけるのに非常に役立ちます。

于 2009-04-16T17:39:57.333 に答える
1

QAに、顧客に提供されるリリースだけでなく、いくつかの中間ビルドも、おそらく2週間ごとまたは1か月に1回レビューしてもらうことを強くお勧めします。

これは、開発プロセスのできるだけ早い段階で製品をチェックするという原則に準拠しています。バージョンをリリースするときにのみ実行している場合は、実行が遅すぎます。

そして、それらの初期のテストでアサートを有効にして、デバッグビルドを提供します。コードに失敗するアサーションがある場合は、エラーが発生します。コードが間違っているか、アサートされています。いずれにせよ、QAでそれをテストする必要があります。

于 2009-04-16T17:45:19.050 に答える
1

開発の初期段階でQAのデバッグビルドを使用し、後でリリースビルドに切り替えることも、まさに私たちが行っていることです。

于 2009-04-16T17:40:58.233 に答える
1

私もデバッグを早めに/リリースを遅らせます。私の以前の雇用主の公式ポリシー (違反することもありましたが、私が違反したわけではありません) は、ベータまではデバッグ ビルドをテストし、その後はリリース ビルドをテストすることでした。出荷するまで時々デバッグ ビルドを実行する価値があることは明らかですが、デバッグ ビルドに対してバグが報告された場合、多くのプログラム マネージャーはバグを修正しないという不幸な政治的現実があります。

于 2009-04-17T19:22:02.010 に答える
0

リリースビルドにはデバッグシンボルが付属しているため、パフォーマンスは適切です(デバッグ出力とアサーションを広範囲に使用すると、処理速度が少し低下する可能性があります)が、例外が発生した場合でも意味のあるスタックトレースが報告されます。

例外については、処理方法がわかっている例外をキャッチするだけの一般的なルールがあります。これにより、何かが考えられていない場合にQAにポップアップが表示されます。当社では一般的にキャッチオールを禁止しております。

于 2009-04-16T17:38:36.947 に答える