Уже довольно долго работаю над автоматизацией тестирования. Естественно, у меня сложилось своё видение того, какими должны быть, например:
- Тестовое окружение;
- Набор вспомогательных библиотек, утилит;
- Фреймворк для управления жизненным циклом тестов (требования -> дизайн -> имплементация -> ??? -> Profit);
- Мониторинг выполнения тестов и репортинг;
- Интеграция с существующим ПО (QTP, Se, HP QC, и т.д.);
- Процесс и политики работы различных команд тестировщиков.
Хотелось бы услышать не только о том, как у Вас устроен процесс, но и какие идеи (инновации?) Вы используете, и как они делают жизнь проще :)
Немного работающих примеров из реальной жизни:
- Инструментация кода в рантайме для внедрения дополнительных библиотек (здесь не стоит забывать о probe-эффекте);
- Подготовка тестового окружения с нуля с помощью vSphere4 перед началом каждого официального прогона;
- Хранение стэка вызванных из тестов фукнций с последующим запуском соответствующих утилит для "подчистки" системы в затронутых местах;
- Динамическая генерация тестового набора на основании информации о билде: Jira-тикетов, SVN-commit тэгов, и т.д.
Уверен, что аудитории есть, чем поделиться :)
Заранее благодарю.