هل يجب علي تشغيل برامج اختبار الانحدار الخاصة بي على كل من رقائق AMD و Intel؟

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

سؤال

الآن أخطط للاختبار على 32 بت و 64 بت و Windows XP Home و Windows XP Pro و Windows Vista Home Basic Basic و Windows Vista Ultimate و Windows 7 Home Basic Basic و Windows 7 Ultimate ... الكل معأحدث حزمة الخدمة.

ومع ذلك، الآن، أتساءل الآن عما إذا كان من المفيد الاختبار على كل من AMD و Intel لجميع السيناريوهات المدرجة أعلاه أو ستكون مضيعة للوقت؟

ملاحظة: هذا تطبيق أمان للمستخدمين المتوسطين اليومي.

هل كانت مفيدة؟

المحلول

شعوري هو أن هذا لن يكون من المفيد إلا إذا كان لديك الكثير من لغة التجميع التي ترميز اليد على الحافة أو نوعا ما من توقيت ضيق بشكل لا يصدق (والتي لن تلبيها مع هذا الاختيار من نظام التشغيل على أي حال).

إذا كنت تستخدم المترجمين التجاريين خارج الرف، فيمكنك من التأكد من أنهم سيؤديون إلى إنشاء رمز يعمل على جميع المعالجات العادية.

بالطبع، لا يمكن لأحد أن يثبت أنهم لم يحتاجوا إلى اختبار منصة معينة، لكنني أعتقد أن هناك أسباب أكبر في الفرق من المنصات للقلق من العلامة التجارية المعالجة المركزية (جميع عمليات العلامات التجارية متعددة النواة متعددة النواة،على سبيل المثال، والتي قد تعرض جميع أخطاء رمز متعدد المراقب المهاكون بطرق مختلفة)

نصائح أخرى

فقط إذا كنت برمجة في التجميع واستخدم مجموعات التعليمات المحددة الموسعةولكن نظرا لأن AMD و Intel لديها اتفاقيات ترخيص تعارض في المكان، فهذه قضية تاريخية أكثر من واحدة حالية.

في كل حالة أخرى (E.G. باستخدام لغة عالية المستوى)، إنها مهمة كتاب المحول البرمجي للتأكد من أن الرمز متوافق مع X86 ويعمل في كل وحدة المعالجة المركزية.

أوه، باستثناء علة FDIV بائعي المعالج عادة لا تفعل الأخطاء.

أعتقد أنك تبحث في الاتجاه الخاطئ لسيناريوهات الاختبار.

نعم، من الممكن أن يعمل رمزك على Intel ولكن ليس على AMD، أو في Windows Vista Home ولكن ليس في Windows Vista Professional. ولكن ما لم تكن تفعل شيئا مرتبطا عن كثب برمجة منخفضة المستوى في الحالة الأولى، أو تفاصيل تنفيذ نظام التشغيل في الثانية، فإن الاحتمالات صغيرة. هل يمكن أن تقول أنه لا يؤلم أبدا اختبار كل سيناريو يمكن تصوره. ولكن في الحياة الحقيقية يجب أن يكون هناك حد كبير على الموارد المتاحة لك للاختبار. اختبار على معالجات مختلفة أو نظام التشغيل المختلفة هو، في معظم الحالات، لا يختبر البرنامج الخاص بك، فهو لا يختبر التحويل البرمجي أو نظام التشغيل أو المعالج. كم من الوقت عليك أن تجنيب لاختبار عمل الآخرين؟ أعتقد أن وقتك سيتم إنفاقه بشكل أفضل في اختبار المزيد من السيناريوهات داخل التعليمات البرمجية الخاصة بك. أنت لا تعطي الكثير من التفاصيل على ما يفعله التطبيق الخاص بك فقط، ولكن فقط لأخذ واحدة من أمثلة خاصة بي، سيكون أكثر إنتاجية أكثر من الإنتاجية لقضاء اختبارات اليوم منتجات بيع شركتنا الخاصة تصنع منتجاتنا مقابل المزيد من الشركات المصنعة الأخرى، أو اختبار قواعد ضريبة المبيعات لحالات مختلفة، أو أيا كان.

في الممارسة العملية، نادرا ما اختبار النشر على نظام التشغيل Windows مقابل النشر على نظام Linux، لا مانع أبدا إصدارات مختلفة من النوافذ، ونادرا ما أحرقت في ذلك.

إذا كنت أكتب برامج تشغيل أجهزة منخفضة المستوى أو بعضها، فستكون قصة مختلفة. لكن التطبيقات العادية؟ لا تضيع وقتك.

بالتأكيد يبدو أنه سيكون مضيعة للوقت لي - أي لغة (كلمات) هي برامجك المكتوبة فيها؟

أود أن أقول لا.ما لم تقم بكتابة طلبك في المجمع، يجب إزالته بعيدا عن المعالج لعدم الحاجة للقلق بشأن الاختلافات.ستدعم المعالجات نظام التشغيل Windows الخاص به API هو ما أنت عليه مع (اعتمادا على اللغة).إذا كنت تستخدم .NET المشكلة الوحيدة الواردة، فستكون لديك إذا كنت تستخدم إصدارا من الإطار الذي لا يدعمه هذه المنصات.بالنظر إلى أنهم جميعا XP أو في وقت لاحق يجب أن تكون على ما يرام.إذا كنت ترغب في القلق بشأن شيء ما تأكد من أن طلبك سوف يلعب بشكل جيد مع نظام التشغيل Vista وحتى نموذج الأمان الأحدث.

السؤال ربما "ما الذي تختبره".من غير المرجح أن يختبر أي من الاختبار شيئا ما قد يختلف بين منصات أجهزة AMD و Intel.يمكن توقع الاختلافات على مستوى السائق، لكنك لا يبدو أن تختبر الطائرة برنامجك مقابل كل بت موجود من أجهزة الكمبيوتر المتوفرة حولها.على الأرجح، ستكون هناك اختلافات أكثر بكثير بين مستويات مختلفة من حزمة خدمة Windows من بين معالجات AMD و Intel.

أفترض أنه من الممكن أن هناك بعض الوظائف في التعليمات البرمجية الخاصة بك (سواء كنت تعرفها أم لا) تستفيد من بعض المعالجة / التحسين في واحدة أو أخرى يمكن أن يكون لها تأثير خطير على النتيجة.الكلمة الرئيسية ممكنة.

أود أن أقول بشكل عام، من غير المرجح أن تقلق بشأن ذلك.إذا كنت ستفعل ذلك على آلات متعددة على أي حال، فقم بمزجها عليها.لكنني لن أؤكد عن ذلك.

لن أقوم أبدا بتشغيل جميع اختبارات الانحدار الخاصة بي على كل من AMD و Intel إلا إذا قمت بإصلاح مشكلة فريدة من نوعها خصيصا.هذا هو ما اختبار الانحدار هو.

اختبار الوحدة من ناحية أخرى ... لن أتوقع أي فرق.لذلك مرة أخرى، لن أزعج اختبارات وحدة التشغيل على حد سواء حتى رأيت بالفعل مشكلة خاصة إما AMD أو Intel.

إذا كنت تعتمد على نتائج نقطة عائمة دقيقة / متسقة، فعندئذ نعم، بالتأكيد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top