Проблема: Как можно быть уверенным что разрабатываемый код работает правильно, при этом создавая регрессионные тесты для последующего рефакторинга кода?
Решение: Пишите тесты до создания кода. Они будут способствовать созданию правильного дизайна и мотивировать в процессе кодирования.
Контекст:
- Участники: Эту технику применяют программисты или автоматизаторы, которые разрабатывают код.
- Продукт: Обычно используется для тестирования интерфейсов, которые вызываются внутри разрабатываемого кода.
- Цели: Протестировать код до того, как он будет поставлен в использование. А также, предоставить автоматизированные тесты для разработанного кода.
Стратегия тестирования:
- Создание тестов: Тесты пишутся на том же языке/в том же окружении, на котором пишется продукт (для большей переиспользуемости).
- Выполнение тестов: Тесты выполняются в среде для модульного тестирования.
- Оценка результатов тестов: Ожидаемые результаты определены заблаговременно.
Атрибуты качества:
- Сопровождение и поддержка: Средняя. Тесты сопровождаются одновременно с основным кодом. Существование модульных тестов помогает проводить рефакторинг и другие изменения в коде.
- Проверка: Средняя. Тесты могут быть проанализированы другими программистами.
- Целостность и зависимость: Средняя. Данная техника побуждает сначала разработать тесты, запустить, проверить ошибки, и только потом создавать код, который сможет пройти эти тесты. Это предупреждает возникновение серъезных проблем, которые могли случайно оказаться в коде.
- Возможность повторного использования: Низкая.
Следующий шаг:
Ограниченное использование графического интерфейса может быть использован для тестирования графического интерфейса пользователя.