Статьи

Модульное тестирование лаконично: основы тестирования

Это отрывок из электронной книги «Единичное тестирование » Марка Клифтона, любезно предоставленный Syncfusion.

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

  • Система контроля версий, такая как CVS, SVN, Git, Mercurial и т. Д.
  • Система отслеживания ошибок, такая как Bugzilla, FogBugz и т. Д.

Microsoft обеспечивает интеграцию этих компонентов с Visual Source Safe, SharePoint и другими продуктами.

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


Если вы обнаружите ошибку, либо с помощью приложения, либо с ошибочным модульным тестом:

  • Сообщите об ошибке в багтрекер и назначьте ее кому-нибудь.

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

  • Напишите модульный тест, который проверяет, как создать проблему (см. «Отрицательное тестирование», описанное ранее).

С вашей системой контроля версий:

  • Попробуйте создать ветку специально для этого исправления ошибки.

Потом:

  • Напишите модульный тест, который описывает, как метод должен вести себя правильно.
  • Исправьте ошибку и повторите тестирование.

С вашей системой контроля версий:

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

Работая с системой отслеживания ошибок и контроля версий, любой (от менеджера до младшего программиста) может легко проверить:

  • Изменения, внесенные в базу кода.
  • Модульные тесты для создания проблемы.
  • Модульные тесты, которые решают проблему.

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

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