Запись качественных тестов

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

14
задан Owen 14 November 2013 в 22:01
поделиться

6 ответов

  1. Удостоверяются, что Ваши тесты независимы друг от друга. Тест не должен зависеть от выполнения или результатов некоторого другого теста.
  2. Удостоверяются, что каждый тест ясно определил критерии записи, этапы проверки и критерии выхода.
  3. Настроенный Матрица трассируемости проверки требований (RVTM). Каждый тест должен проверить один или несколько требование. Кроме того, каждое требование должно быть проверено по крайней мере одним тестом.
  4. Удостоверяются, что Ваши тесты идентифицируются. Установите простое именование или маркировку конвенции и придерживайтесь его. Сошлитесь на тест indentifier при входе дефектов.
  5. Обработка Ваши тесты как Вы рассматривают Ваш код. Имейте testware процесс разработки, который зеркально отражает Ваш процесс разработки программного обеспечения. Тесты должны иметь экспертные оценки, являться объектом управления версиями, иметь процедуры контроля изменений, и т.д.
  6. Категоризируют и организуют Ваши тесты. Помогите найти и запустить тест или комплект тестов, по мере необходимости.
  7. Делают Ваши тесты максимально сжатыми. Это делает их легче выполнить, и автоматизировать. Лучше запустить много небольших тестов, чем один большой тест.
  8. , Когда тест перестал работать, помогите видеть , почему тест перестал работать.
15
ответ дан 1 December 2019 в 10:05
поделиться

Удостоверьтесь, что это легко и быстро к тестам записи. Затем запишите большому количеству из них.

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

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

5
ответ дан 1 December 2019 в 10:05
поделиться

Мои эмпирические правила:

  1. Покрытие еще более простые тестовые сценарии в Вашем плане тестирования (не рискуют оставлять наиболее используемую функциональность непротестированной)
  2. Трассировка соответствующее требование около каждого тестового сценария
  3. Как Joel говорит, имейте отдельную команду, которая делает тестирование
1
ответ дан 1 December 2019 в 10:05
поделиться

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

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

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

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

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

Я не согласился бы, что покрытие кода не является полезной метрикой. Если у Вас нет 100%-го покрытия кода, которое, по крайней мере, указывает на области, которым нужно больше тестов.

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

1
ответ дан 1 December 2019 в 10:05
поделиться
Другие вопросы по тегам:

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