Зачем нам нужно автоматизированное тестирование?
Автоматизация — один из лучших способов проверить, насколько хорошо работает текущее программное обеспечение по сравнению с его предыдущими версиями. Иными словами, автоматизация — это обнаружение регрессий и обкатка различных вводов. До тех пор, пока не появится возможность писать автоматизированные скрипты для вашего приложения, множество ошибок, которые могут быть обнаружены в процессе написания скриптов, уже будут успешно найдены и устранены.
Многие ошибки, связанные с автоматизацией, обнаруживаются во время непосредственного написания автоматизированных скриптов. Во время непосредственного осуществления автоматизации может быть обнаружено лишь несколько новых программных ошибок, хотя ошибки могут быть найдены при выполнении автоматизации в различных конфигурациях или через наборы данных.
Тем не менее, автоматизация ассоциируется с управлением, поскольку она позволяет сэкономить время, уменьшить количество используемого оборудования, ресурсов и тестировщиков ПО, которые привлекаются компанией по тестированию программного обеспечения для получения высококачественного продукта. Для многих проектов автоматизации трудно определить, что от них ожидалось, поскольку те, кто выполняет автоматизацию, не понимают, что автоматизация — это просто еще один инструмент, который можно использовать для тестирования программного обеспечения.
Автоматизированное тестирование в большей или меньшей степени используется почти в каждом проекте. Оно не дает никаких гарантий и не защищает продукт от плохой работы, в то время как тестирование программного обеспечения влияет на повышение качества продукта. Плохо реализованная автоматизация в конечном итоге будет стоить больше времени и усилий, чем ее отсутствие. Тем не менее, если ее реализовать, она принесет значительные выгоды. Необходимо понимать, что автоматизация нужна только для того, чтобы оценивать регрессии и быть "monkey tester", что не означает выполнение одного и того же теста каждый день одним и тем же способом. Не обращая внимания на эту задачу, тестировщики ПО могут выполнять простые действия и использовать свои творческие и интеллектуальные способности для поиска новых ошибок.
Только 5-20% всех ошибок программного обеспечения обнаруживаются во время автоматизированного регрессионного тестирования. Учитывая тот факт, что автоматизация тестовых случаев может быть в 10 раз дороже, чем их ручное выполнение, без учета поддержки и сопровождения тестового кода, тестовые случаи для автоматизации следует выбирать очень тщательно.
Перевод материала подготовлен в рамках курса "Java QA Engineer. Basic".
Чтобы стать хорошим автоматизатором, нужно знать не только языки программирования и фреймворки для автоматизации, но и теорию тестирования. На двухдневном онлайн-интенсиве мы узнаем, что такое тестирование и откуда оно появилось, кто такой тестировщик и что он делает. Изучим модели разработки ПО, жизненный цикл тестирования, чек листы и тест-кейсы, а также дефекты. На втором занятии познакомимся с одним из главных трекеров задач и дефектов — Jira, а также попрактикуемся в TestIT — отечественной разработке для решения задач по тестированию и обеспечению качества ПО. Присоединяйтесь!