Проблема в том, что некоторые люди не понимают, что автоматизация не «легка» и не «быстра».
Я не согласен с вашей предпосылкой здесь.
Я большой сторонник автоматизированного тестирования, неважно, модульное тестирование, интеграционное тестирование или тестирование пользовательского интерфейса. Существует множество отличных инструментов для реализации автоматических тестов.
Давайте сравним автоматическое тестирование и ручное тестирование на основе следующего примера:
В веб-приложении протестируйте функциональность «Изменить пароль» существующего пользователя с помощью браузера.
Ручное тестирование :
- Запустите веб-приложение
- Откройте браузер
- Блин, есть ошибка. Почему? О, я забыл запустить базу данных!
- Хорошо, закройте веб-приложение
- Запустить базу данных
- Запустите веб-приложение
- Обновить браузер
- Хм, каков был пароль нашего тестового пользователя снова?
- Взглянув на базу данных
- О, таблица пользователей пуста! Я должен создать нового пользователя.
- Регистрация нового пользователя в веб-приложении: ввод имени пользователя, пароля, адреса электронной почты
- Почему я не могу войти с моим новым пользователем? О, мне нужно нажать на ссылку подтверждения в письме!
- Ну, я дал пользователю электронное письмо типа «test@example.com». Давайте перейдем к базе данных и установим для столбца «active» значение «Да».
- Авторизоваться. На этот раз это работает!
- Хм, что я хотел проверить снова ...?
Легко? На самом деле, нет. Есть много возможных подводных камней в этом процессе.
Быстро? Нет. Ручная работа требует времени.
Теперь попробуем написать автоматический тест :
- Нам нужно найти инструменты для нашего языка программирования для автоматического запуска базы данных и веб-сервера. Исследование и внедрение требует времени.
- База данных должна быть в чистом состоянии при запуске теста. Создание сценариев требует времени.
- Нам нужно написать тест. Поскольку нам нужен пользователь, нам также нужно зарегистрировать нового для нашего теста. Занимает время.
- Наконец, мы можем написать то, что мы хотим протестировать: изменение пароля пользователя. С нашим браузерным средством тестирования это делается довольно быстро по сравнению с предыдущими задачами.
Легко? Нет! Нам нужно было исследовать инструменты, внедрить их, исправить некоторые ошибки в наших тестах.
Быстро? Нет! Это занимает даже больше времени, чем ручное тестирование.
Но здесь есть большая разница: для будущих тестов вам нужно всего лишь написать сам тест , последний пункт в списке - что было сделано сравнимо быстро. Все исследования и init-скрипты не нужно делать для дальнейших тестов.
И после того, как вы написали тест, вы можете начать его легко. Через несколько секунд (или, может быть, минут, если запуск базы данных и веб-приложения занимает много времени), вы увидите, работает ли подпрограмма «Изменить пароль» или нет. Если есть ошибка, исправьте ее и запустите тест снова - вы сразу увидите, исправлена ли ошибка. Быстро и просто .
Написание автоматических тестов, во-первых, не является ни простым, ни быстрым, но их выполнение.
И это момент, когда вложенное время возвращается.