К основному контенту

13 вопросов для выбора инструмента автоматизации тестирования (проверок?)

Коллеги в настоящее время выбирают себе тестовый фреймворк, на базе которого хотят разрабатывать автоматические тесты.

Кстати, сейчас Болтоном и Бахом активно продавливается тема, что это не автоматические тесты, а автоматические проверки (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. Можно конечно продолжить и действительно есть чем, но пусть будет так. Символично...

Комментарии

  1. Ой, какой прелестный список вопросов!!!
    Интересно было б посмотреть как на этот список ответили бы вендоры больших платных инструментов тыщ за 5-7 долларов =).

    ОтветитьУдалить
  2. Никита, искренне надеюсь, что это не троллинг :)

    ОтветитьУдалить

Отправить комментарий

Популярные сообщения из этого блога

Mock vs Stub

Когда мы начали изучать модульное тестирование, то одними из первых терминов, с которыми пришлось познакомиться, стали Mock и Stub. Ниже попробуем порассуждать в чем их сходство и различие, как и для чего они применяются. Проверять работоспособность тестируемого объекта (system under test - SUT) можно двумя способами: оценивая состояние объекта или его поведение. В первом случае проверка правильности работы метода SUT заключается в оценке состояния самого SUT, а также взаимодействующих объектов, после вызова этого метода. Во-втором, мы проверяем набор и порядок действий (вызовов методов взаимодействующих объектов, других методов SUT), которое должен совершить метод SUT. Собственно, если коротко, то в одном случае используется Stub, а в другом Mock. Это объекты, которые создаются и используются взамен реальных объектов, с которым взаимодействует SUT в процессе своей работы. Теперь подробнее. Gerard Meszaros использует термин Test Double (дублер), как обозначение для объе

Заметки на коленке - 3. Что еще делать, если ваши тесты уже "зеленые"?

"Lately I find I'm working on automated tests that return non-binary results. Tests that neither pass nor fail" by  @noahsussman Отличная мысль, которую я ретвитил еще в 2016. Но давайте вместе подумаем, что за этим может скрываться? ( кстати, не знаю, что при этом думал Noah ) Ваши тесты прошли и прошли "успешно". Все хорошо или все же есть, куда еще посмотреть? Дальше то, что использовал я лично и то, что еще можно прикрутить дополнительно. Естественно все шаги ниже должны быть автоматизированны. 1. Контролируйте время выполнения тестов. Если набор проверок не меняется (а такое часто бывает, к сожалению), то рост времени выполнения может говорить о проблемах в продакшен коде (чаще всего) или проблемах с окружением. 2. Контроль за количеством выполняемых тестов. "Все зеленое" не значит, что сегодня выполняли те же Х тестов, что и вчера. Смешно(нет), но случается такое, что какие-то проверки "исчезают" из запуска из-за того, что у кого-то &qu

Полезные ресурсы для молодых (и не только) тестировщиков

сперто(с) Уже 3 месяца провожу собеседования тестировщиков (март 2016). Поначалу они просто  веселили - после 15-летнего опыта собеседования С++-разработчиков, общение с тестировщиками (чаще были "-цы") было чем-то экзотическим и забавным. Потом становилось все грустнее и грустнее, мимими закончилось. Началась печаль.