2013-09-19 8 views
0

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

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

Есть ли хороший и методичный подход, чтобы решить, что покрывать с помощью unitt-тестов? Ecs особенно тот, который более специфичен, чем спрашивать себя what should I test here??

+0

Вы все это перевернули. Единичные тесты должны проверять минимальные бит, которые нужно проверить, индивидуально. И тестирование для всех путей выполнения/разных поведений/важных случаев. – ppeterka

+0

Я не имел в виду один единичный тест для всего этого. Определенно отдельный unittest для каждого испытания бит. – Kaadzia

+0

Я понял, что вам не нужен один тест, но все же: то, что ваш вопрос звучал для меня, больше похоже на [интеграционное тестирование] (http://en.wikipedia.org/wiki/Integration_testing), чем [unit testing] (http: //en.wikipedia.org/wiki/Unit_testing) ... Тестирование интеграции - это когда вы проверяете функциональную совместимость частей, которые больше чем «наименьшая тестируемая единица» кода. – ppeterka

ответ

2

ИМХО:

  1. Все в оригинальной спецификации.
  2. Все, на что полагается работать навсегда.
  3. Все, что вы нашли сломанным и должно было исправить.

Не очень полезно Я уверен - но реалистично.

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

Какой подход может быть использован для поиска фрагментов работы, которые необходимо проверить?

Есть много:

  • Всякий раз, когда вы нашли ошибку, исправить ее и создать тест, который будет гарантировать, что никогда не вернется.
+0

Пункт 3, несомненно, хорош для расширения существующих unittests. Чтобы получить начальный набор unittests, точка 1 звучит хорошо. Благодаря :-). (Пункт 2 определенно хорош, но может быть трудно работать) – Kaadzia

+0

@kdzia - Пункт 2 предназначен для включения таких вещей, как общие библиотеки/классы полезности. – OldCurmudgeon

+0

в порядке, это легче определить ;-) – Kaadzia

 Смежные вопросы

  • Нет связанных вопросов^_^