Подробности автоматизированного тестирования
Думаю что для хорошей стстемы автотестов лучше:
- в качестве параметра функции модульного тестирования добавьте строковый параметр - утверждение теста поведения
-еще параметр паттерн визитер со всеми способами вывода
- порядковый номер запуска теста
- выходной параметр - строка результат - дело в том что тест может проходить не полностью. Например:
/При нагрузочном тестировании выдается среднее время отклика на одну операцию
/При регрессионном тестировании может проходить старый тест не полностью так, как часть функциональности изменялась и новый тест выдаст более подробное описание результата.
И наоборот если абстракция изменилась то результат в новой версии будет либо упрощен, либо немного в другой плоскости, но при этом отчет-результат-строка должна быть со старыми тезисами.
ВООБЩЕ: Нужен каталог с тезисами системы, которые как правило задаются на этапе подбора требований в CRC-карточках.
Эти тезисы лучше оформить в виде хеш-тегов, которые нужны при поиске тестов в системе модульного тестирования.
ВАЖНО ОТМЕТИТЬ: Модульное тестирование- не Unit-тестирование для программистов, сюда входит и модули классы и модули объекты и модули контейнеры и модули паттерны(фасад, адаптер и тд), и интеграционные модули и модули API.
В нутри же самой функции тестирования, хорошо бы визитер получал бы, по мимо логического утверждения, необходимого для прохождения теста, - строку УТВЕРЖДЕНИЯ(первый параметр),(возможно утверждение должно быть построено на стандартных тезисах) - строку с хеш-тегами для поиска теста, - название файла теста, - название функции теста, - номер строки, где утверждение, - порядковый номер запуска теста, Опционально: - вопрос который проверяет тест во френдли языке - ответ на вопрос - строка в случае не удачи
Таким образом: Для того чтобы вести автоматизированное тестирование хорошо бы иметь: - Бизнес-требования из договора, - функциональные требования из проектирования, - перечень тезисов для составления утверждения теста, - набор хеш-тегов для поиска теста среди огромного количества тестов, - порядковый номер запуска теста, - слепок запуска тест системы(чтобы искать по порядковому номеру запуска теста).