Поблочное тестирование - Как пойти об этом?

я использую его для схематического изображения примера использования. не очень еще все же.

8
задан Pascal Thivent 25 November 2009 в 23:43
поделиться

2 ответа

Можно ли запустить тесты черного ящика из модульного теста framework?

Да, вы можете вызвать автотест с помощью system () из модульных тестов, а затем подтвердить возвращаемое значение.

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

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

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

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

Проблема в том, что я не уверен, какую границу использовать между утверждениями и вывод возвращаемого значения функции (для ведения журнала, поскольку Мне нравится, как Autotest дает мне различие.)

С утверждениями нечего выводить: либо ожидаемые и фактические значения равны и ничего не происходит, либо они разные, и структура UT выводит сообщение об ошибке (ожидается - X, фактическое - Y). Это позволяет компьютеру выполнять работу по тестированию.

При протоколировании выходных различий все равно нужно вручную (визуально) проверить результат сравнения (например: отсутствует ли один элемент в списке или один дополнительный элемент ...).

Поскольку большинство функций возвращают списки, их можно быстрее подготовить с помощью команды diff. с ожидаемым выводом (выгрузка с использованием автотеста).

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

2
ответ дан 6 December 2019 в 01:40
поделиться

Возможно, вы захотите использовать CTest, который поставляется с CMake, кроссплатформенной системой make с множеством бэкэндов: http://www.cmake.org/Wiki/CMake#CTest

PS: CMake тоже намного мощнее автоинструментов.

0
ответ дан 6 December 2019 в 01:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: