Модульные тесты на 32-битном / 64-битном приложении - PullRequest
2 голосов
/ 22 января 2010

У нас есть приложение, которое теперь имеет 64-битную цель, а также старую 32-битную цель. Мой вопрос касается наших юнит-тестов. Должны ли мы скомпилировать и запустить наши модульные тесты в обоих случаях? Есть ли шанс, что мы найдем недостатки таким образом? Я чересчур параноидален?

Ответы [ 2 ]

3 голосов
/ 22 января 2010
  1. Если язык демонстрирует различия между 32- и 64-битным режимом, конечно, вам следует выполнить модульное тестирование обоих.Это займет менее чем в два раза больше человеческих ресурсов, чем для тестирования только одной платформы, так что это сделка:).

  2. Если ваш язык не раскрывает разницу между 32- и 64-бит (скажем, у вас есть только неограниченные целые числа в этом языке), вы все равно должны выполнить модульное тестирование обеих платформ.Вы найдете ошибки в зависящей от платформы реализации вашего независимого от платформы языка, или убедитесь, что нет таких, которые слишком явно влияют на ваш код.И в этом случае дополнительные человеческие затраты для второго набора тестов равны нулю, оракулы такие же, как и для первого.

РЕДАКТИРОВАТЬ: снова подумать о случае 1, возможно, выследует написать свой код так, чтобы он давал одинаковые результаты на обеих платформах , даже если ваш язык демонстрирует различия между 32- и 64-разрядными.В этом случае снова, оракулы одинаковы для обеих серий испытаний.

1 голос
/ 22 января 2010

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

...