Почему функциональные испытания недостаточно? Что предлагают модульные тесты?

Вы пропускаете &, т.е. вам нужен адрес структуры данных, например,

#include <sys/select.h>

struct descs {
  fd_set a;
};

void func(struct descs *d) {
  FD_ZERO(&d->a);
}
12
задан Epaga 8 October 2008 в 14:49
поделиться

6 ответов

Первое, что пришло на ум

  • Модульные тесты повторяемы без усилия. Запишите однажды, выполните тысячи времен, никакое человеческое усилие требуемая, и намного более быстрая обратная связь, чем Вы добираетесь от функционального испытания
  • Модульные тесты тестируют небольшие единицы, таким образом, сразу указывают на корректный "сектор", в котором происходит ошибка. Функциональные испытания указывают на ошибки, но они могут быть вызваны большим количеством модулей, даже в сотрудничестве.
  • Я едва назвал бы интерфейсное изменение "внутренним рефакторингом". Интерфейсные изменения имеют тенденцию взламывать много кода и (по-моему) вызывать новый испытательный шлейф, а не ни один.
17
ответ дан 2 December 2019 в 04:09
поделиться

модульные тесты - чтобы devs видел, где код перестал работать

функциональные испытания - чтобы бизнес видел, делает ли код то, что они попросили

9
ответ дан 2 December 2019 в 04:09
поделиться

модульные тесты - чтобы devs видел, где код перестал работать

функциональные испытания - чтобы бизнес видел, делает ли код то, что они попросили

модульные тесты проверяют производство кирпичей правильно

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

Они - разные вещи, но последний будет намного легче, если первый был выполнен.

5
ответ дан 2 December 2019 в 04:09
поделиться

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

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

1
ответ дан 2 December 2019 в 04:09
поделиться

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

4
ответ дан 2 December 2019 в 04:09
поделиться

При использовании чистого Экстремального Программирования / методология Гибкой разработки, Модульные тесты всегда требуются, поскольку они - требования для разработки.

В чистом XP / Гибком делает все требования на основе тестов, которые будут выполненными к приложению

  • Функциональные испытания - Генерируют функциональные требования.
  • Модульные тесты - Генерируют функции или объектные требования.

Кроме того Поблочного тестирования может использоваться для отслеживания функциональные требования.

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

0
ответ дан 2 December 2019 в 04:09
поделиться
Другие вопросы по тегам:

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