Должен ли я запустить свои программы регрессионных тестирования на обложках AMD и Intel?

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

Вопрос

прямо сейчас я планирую тестировать на 32-битный, 64-битный, Windows XP Home, Windows XP Pro, Windows Vista Home Basic, Windows Vista Ultimate, Windows 7 Home Basic и Windows 7 Ultimate ... Все сПоследний пакет услуг.

Тем не менее, теперь мне интересно, если стоит тестировать на AMD и Intel для всех перечисленных сценариев выше, или это будет пустая трата времени?

Примечание. Это приложение безопасности для повседневных средних пользователей.

Это было полезно?

Решение

Мое чувство состоит в том, что это было бы стоить только если у вас было много в пограничном языке сборки вручную или какого-то невероятно жестких сгрегов (которые вы не собираетесь встретиться с этим выбором ОС в любом случае),

Если вы используете коммерческие компиляторы с полной шельфом, то вы можете быть достаточно уверены, что они собираются генерировать код, который работает на всех нормальных процессорах.

Конечно, никто не мог доказать, что им не нужно тестировать на конкретной платформе, но я думаю, что есть большие причины различия на платформе, чтобы беспокоиться о марке CPU (все различные многоядерные / гипертертонные перестановки,Например, которые могут выставлять все ваши мультипиреагированные кодовые ошибки по-разному)

Другие советы

Только если вы программируете в сборке и использовании расширенных, наборы инструкций Vender Special.Но поскольку AMD и Intel имеют межчисленные лицензионные соглашения на месте, это более исторический вопрос, чем текущий.

В каждом другом случае (например, с использованием языка высокого уровня) Это задание авторов компилятора, чтобы убедиться, что код соответствует X86 и работает на каждом процессоре.

О, и кроме FDIV Bug Продавщики процессора обычно не делают ошибок. .

Я думаю, что вы смотрите в неправильном направлении для тестирования сценариев.

Да, возможно, что ваш код будет работать на Intel, но не на AMD, или в Windows Vista домой, но не в Windows Vista Professional. Но если вы не делаете что-то очень тесно связанное с программированием низкого уровня в первом случае, или к деталям реализации ОС во второй, шансы небольшие. Вы могли бы сказать, что никогда не больно тестировать каждый мыслимый сценарий. Но в реальной жизни должен быть какой-то ограничение на ресурсы для тестирования. Тестирование на разных процессорах или разных ОС, в большинстве случаев, не тестируя вашу программу, это тестирование компилятора, ОС или процессор. Сколько времени вы должны пощадить, чтобы проверить работу других людей? Я думаю, что ваше время будет лучше потрачено на тестирование больше сценариев в вашем собственном коде. Вы не даете много подробно только то, что делает ваше приложение, но просто для того, чтобы принять один из моих собственных примеров, было бы гораздо более продуктивно провести однодневное тестирование Продукты по продаже продуктов нашей собственной компании Products Products мы перепродаем у других производителей или Тестирование налоговых правил продаж для разных государств или что-то еще.

На практике я редко даже тестовое развертывание в Windows против развертывания на Linux, не разумейте разные версии Windows, и я редко сожжен на этом.

Если бы я писал драйверы устройств низкого уровня или некоторые такие, это будет другая история. Но обычные приложения? Не тратьте свое время.

Конечно, звучит так, будто это будет пустая трата времени - на каком языке (ы) написаны ваши программы?

Я бы сказал нет.Если вы не пишете свое приложение в ассемблере, вы должны быть достаточно далеко удалены из процессора, чтобы не нужно беспокоиться о различиях.Процессоры будут поддерживать ОС Windows, чьи API являются то, что вы мешаете (в зависимости от языка).Если вы используете .NET, единственным подобным вопросам, у вас будет только если вы используете версию структуры, которую эти платформы не поддерживают.Учитывая, что они все XP или позже, вы должны быть в порядке.Если вы хотите беспокоиться о чем-то, убедитесь, что ваше приложение будет хорошо играть с Vista и более поздней моделью безопасности.

Вопрос, вероятно, «Что вы тестируете».Маловероятно, что любой из тестов тестирует что-то, что было бы потенциально отличается между аппаратными платформами AMD и Intel.Отличия можно ожидать на уровне драйвера, но вам не кажется, что самостоятельно тестируют ваше программное обеспечение для каждого существующего аппаратного оборудования для ПК.Скорее всего, между различными уровнями Windows Windows будет гораздо больше различий между различными уровнями обновления Windows, чем между процессорами AMD и Intel.

Я полагаю, что в вашем коде возможно, что есть некоторые функциональные возможности (независимо от того, знаете ли вы это или нет) используют некоторую обработку / оптимизацию в одном или иной, что может оказать серьезное влияние на результат.Ключевое слово возможно.

Я бы сказал в целом, вы вряд ли придется беспокоиться об этом.Если вы будете делать это на нескольких машинах в любом случае, смешайте его на них.Но я бы не подчеркнул об этом.

Я бы никогда не запускал все мои регрессионные тесты на AMD, так и Intel, если у меня конкретно не исправил проблему, уникальную для одного человека.Это то, что такое регрессионное тестирование.

Устройство тестирования с другой стороны ... Я бы не предвидим никаких различий.Так что опять же, я бы не буду беспокоить тесты под управлением на обоих, пока я действительно не видел проблему, специфичную для AMD, либо Intel, либо Intel.

Если вы полагаетесь на точные / согласованные результаты с плавающей точкой, то да, определенно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top