AMDとIntelチップの両方で回帰テストプログラムを実行する必要がありますか?

StackOverflow https://stackoverflow.com/questions/3268842

質問

今すぐ、32ビット、64ビット、Windows XPホーム、Windows XP Pro、Windows Vista Home Basic、Windows Vista Ultimate、Windows 7 Home Basic、およびWindows 7 Ultimate ...をテストする予定です。最新のサービスパック。

しかし、今、上記のすべての上場シナリオについてAMDとIntelの両方でテストする価値があるか、または時間の無駄になるでしょうか。

注:これは日常の平均ユーザーのためのセキュリティアプリケーションです。

役に立ちましたか?

解決

私の気持ちは、これが、あなたがたくさんの手作りの手書きのアセンブリ言語や何らかの種類の信じられないほど厳しいタイミングがあった場合にのみ価値があるということです(とにかくOSの選択とは会うつもりはありません)。。

既製の商用コンパイラをオフにしている場合は、通常のプロセッサで実行されるコードを生成するつもりです。

もちろん、彼らが特定のプラットフォームでテストする必要がないことを証明することはできませんでしたが、私はCPUブランドよりも心配するためにプラットフォームの違いのより大きな原因があると思います(すべてのさまざまなマルチコア/ハイパースレッグ順列、たとえば、マルチスレッドのすべてのマルチスレッドのコードのバグが異なる方法で公開する可能性があります)

他のヒント

アセンブリでプログラミングして拡張ベンダー固有の命令セットを使用している場合にのみ。しかし、AMDとIntelは営業契約を整えているので、これは現在のものよりも歴史的な問題です。

(例えば、高水準言語の使用)は、コードがX86準拠していることを確認するためのコンパイラ作成者の仕事であり、すべてのCPUで実行されます。

OH、および fdiv bug プロセッサーベンダーは通常間違いをしません。

あなたはシナリオのテストのために間違った方向を見ていると思います。

はい、コードがIntelではなく、AMDではなく、Windows Vistaのホームでは機能しないがWindows Vista Professionalでは使用できません。しかし、あなたが最初のケースで低レベルのプログラミングに非常に密接に縛られていない限り、または2番目のOS実装の詳細には、オッズは小さくなります。考えられるすべてのシナリオをテストすることが決して傷つけないと言うことができました。しかし実際の生活の中では、テストのために利用可能なリソースにいくつかの制限がなければなりません。さまざまなプロセッサまたは異なるOSでのテストは、ほとんどの場合、プログラムをテストしていないため、コンパイラ、OS、またはプロセッサをテストしています。他の人の仕事をテストするためにどのくらいの時間が必要ですか?私はあなたの時間があなた自身のコード内のより多くのシナリオのテストをよりよく使うのが良いと思います。あなたはあなたのアプリが何をしているのかだけで私自身の例のうちの1つを取るためには、私たち自身の会社が他の製造業者から再販される製品を販売する日を過ごすことははるかに生産的になるでしょう。さまざまな状態に対する売上税の規則、または何でも。

実際には、Windowsに対するWindowsに対する展開とLinuxの展開をテストしても、windowsの異なるバージョンを気にしないでください。

私が低レベルのデバイスドライバやそのようなものを書いていた場合、それは別の話になるでしょう。しかし通常のアプリ?あなたの時間を無駄にしないでください。

確かにそれが私に時間の無駄になるように聞こえます - あなたのプログラムは?

いいえと言うだろう。Assemblerでアプリケーションを書いているのでない限り、違いを心配する必要がないように、プロセッサから削除されるのに十分なほど遠くになるはずです。プロセッサは、APIが入力されているものであるWindows OSをサポートします(言語によって異なります)。使用している場合は、それらのプラットフォームがサポートしていないバージョンのフレームワークを使用している場合は、唯一の問題の唯一の問題があります。それらはすべてXP以降であることを考えると、大丈夫です。あなたが何かを心配したいのなら、あなたのアプリケーションがVista以降のセキュリティモデルでうまく遊ぶことを確認してください。

質問はおそらく「あなたは何をテストしているのか」です。テストのいずれかがAMDおよびIntelハードウェアプラットフォーム間で潜在的に異なるものをテストしていることはほとんどありません。違いがドライバーレベルで予想される可能性がありますが、利用可能なPCハードウェアの既存のビットごとに、ソフトウェアをプレーンテストするように思われません。ほとんどの場合、おそらくAMDとIntelプロセッサとの間で異なるレベルのWindows Service Packの間にはるかに違いがあるでしょう。

私はあなたのコードにいくつかの機能があると思います(あなたがそれを知っているかどうか)、その結果に深刻な影響を与える可能性がある1つまたは他方での何らかの処理/最適化を利用しています。キーワード可能。

一般的に言うでしょうあなたはそれについて心配しなければならないことはほとんどありません。とにかく複数のマシンでそれを実行するつもりなら、それらを混ぜ合わせてください。しかし、私はそれについて強調しないでしょう。

私が一つに固有の問題を特に修正していない限り、私はAMDとIntelの両方ですべての回帰テストを実行することは決してないだろう。それが回帰テストのものです。

単体テスト...私は違いを見込んではいけません。それで、再び、私は実際にAMDまたはIntelのどちらかに固有の問題を見たまでの両方で実行されていないユニットテストを悩ませません。

正確な/一貫した浮動小数点の結果に頼っている場合は、はい、間違いなく。

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