Коллеги в настоящее время выбирают себе тестовый фреймворк, на базе которого хотят разрабатывать автоматические тесты.
Кстати, сейчас Болтоном и Бахом активно продавливается тема, что это не автоматические тесты, а автоматические проверки (testing vs checking). Но это тема отдельного поста, холиварить будем там.
Я задумался над критериями, которыми, по моему мнению, должен обладать инструмент для написания приемочных тестов, конечно с учетом специфики нашего продукта (Windows (не-веб), продукт распределен по нескольким хостам, виртуализация).
Тут же вопросы, на которые полезно знать ответы, когда тебя спросят почему именно этот инструмент, а не другой.
1. Я хочу посмотреть список тестов, какие проверки ими делаются и какая функциональность продукта проверяется. Можно ли это сделать с рабочего места, например Product Manager-а или меня как руководителя разработки, без установки дополнительного ПО?
2. Возможно ли написание одного теста в виде пользовательской истории из последовательных шагов (проверок) пользователя выполняемых на разных машинах.
3. У меня есть повторяющиеся действия, которые нужно делать в нескольких тестах – могу ли я сделать «библиотеку действий» и использовать ее при написании тестов.
4. Можно ли одни и те же тесты запускать с разными настройками, на разных окружениях?
5. Как посмотреть результаты тестов без установленного дополнительно ПО? Если ли возможность присылать их по почте? Если да, то откроется ли это в осязаемом виде и что будет, если это результат 100, 500, 1000 тестов.
6. Как хранится история запусков? Можно ли контролировать время выполнения тестов для профилирования и сравнивать время запуска с предыдущими.
7. Если тест красный, то как разбираться? Есть ли возможность привязки логов продукта к тестам, сборки нужных логов, как артефактов.
8. Могу ли я запускать одни и те же тесты на разных машинах (например, на машинах разработчиков)?
9. Какая система хранения исходников тестов и формат настроек (если они есть). Есть ли возможность привязки тестов к исходниками продукта (чтобы было понимание того, какие тесты на каких исходниках работают).
10. Можно ли менять данные для тестов автоматически (снаружи). Например, для проверки версии продукта – чтобы каждый раз руками не менять в тестах. То есть, возможно ли генерить/менять тесты (или данные для них) автоматически.
11. Можно ли в инструменте использовать компоненты продукты (исходный код, бинарники) для тестирования
12. Существует ли возможность интеграции в системы CI, если да, то какие и что можно получить.
13. Почему инструменты уже используемые в компании, а также наработки в этой области вам не подходят.
PS Число 13 случайно получилось - просто выписал все из головы, а получилось 13. Можно конечно продолжить и действительно есть чем, но пусть будет так. Символично...
TestComplete
ОтветитьУдалить:) что TestComplete?
ОтветитьУдалитьОй, какой прелестный список вопросов!!!
ОтветитьУдалитьИнтересно было б посмотреть как на этот список ответили бы вендоры больших платных инструментов тыщ за 5-7 долларов =).
Никита, искренне надеюсь, что это не троллинг :)
ОтветитьУдалить