Это отрывок из электронной книги «Единичное тестирование » Марка Клифтона, любезно предоставленный Syncfusion.
Во-первых, предполагается, что существуют два других важных элемента любого проекта разработки программного обеспечения:
- Система контроля версий, такая как CVS, SVN, Git, Mercurial и т. Д.
- Система отслеживания ошибок, такая как Bugzilla, FogBugz и т. Д.
Microsoft обеспечивает интеграцию этих компонентов с Visual Source Safe, SharePoint и другими продуктами.
Если у вас нет обеих этих частей, остановитесь сейчас. Это жизненно важные компоненты хорошего твердотельного процесса тестирования.
Итак, у вас есть ошибка
Если вы обнаружите ошибку, либо с помощью приложения, либо с ошибочным модульным тестом:
- Сообщите об ошибке в багтрекер и назначьте ее кому-нибудь.
Если ошибка не сообщается модульным тестом, но была обнаружена с помощью кода (либо другой разработчик, либо пользователь):
- Напишите модульный тест, который проверяет, как создать проблему (см. «Отрицательное тестирование», описанное ранее).
С вашей системой контроля версий:
- Попробуйте создать ветку специально для этого исправления ошибки.
Потом:
- Напишите модульный тест, который описывает, как метод должен вести себя правильно.
- Исправьте ошибку и повторите тестирование.
С вашей системой контроля версий:
- Проверьте изменения, ссылаясь на номер ошибки, назначенный системой отслеживания ошибок.
- Если вы добавили новые модульные тесты, проверьте их, снова ссылаясь на номер ошибки.
- Если вы разветвили код, решите, когда вы хотите объединить изменения в основную ветку.
Отслеживание и отчетность
Работая с системой отслеживания ошибок и контроля версий, любой (от менеджера до младшего программиста) может легко проверить:
- Изменения, внесенные в базу кода.
- Модульные тесты для создания проблемы.
- Модульные тесты, которые решают проблему.
Это значительно облегчает жизнь команде разработчиков, руководству и даже конечному пользователю, если ваш проект настроен так, что конечный пользователь заинтересован в этом уровне детализации. (Например, если программное обеспечение разработано для другого отдела самостоятельно, другим может быть интересно узнать, когда исправлена ошибка.)
Интеграция с другими технологиями, такими как SharePoint, может облегчить взаимодействие между членами команды, менеджерами и другими отделами. Кроме того, использование сложных инструментов управления исходным кодом, таких как Perforce, и инструментов непрерывной интеграции, таких как CruiseControl.NET, позволит дополнительно интегрировать и автоматизировать использование контроля источников с модульным тестированием, интеграционным тестированием, инструментами отчетности и так далее.