Слишком часто со стороны конечного пользователя в ходе использования продукта выявляются ошибки/инциденты/замечания, которые мешают достичь ожидаемого результата от продукта. Вызваны они чаще всего ошибками в процессе разработки, а так же невозможностью предугадать все пользовательские сценарии не предусмотренные технической документацией.
Тестирование – комплекс мероприятий, направленный на выявление ошибок в соответствии производимого продукта требованиям которые к нему предъявляются. Цель тестирования – предоставление актуальной информации о соответствии производимого продукта требованиям. По мере накопления функционала растет и объем регрессионного тестирования. Особенно сложно гарантировать качество если в компании штат QA мал, либо совсем отсутствует. В таких случаях прибегают к использованию авто тестов разного уровня.
Авто тесты:
- обеспечивают стабильность производимого продукта;
- удобны в поддержке;
- способствует своевременному выявлению и исправлению ошибок;
- описывают технический дизайн продукта;
- позволяют эмулировать пользовательские сценариии в браузере;
- актуальны для длительных и больших проектов, для большого объема накопленного функционала и для коротких итераций разработки;
- позволяют запускать продукт в изолированной среде;
- сокращают затраты на регрессивное и ручное тестирование;
- применимы к любому типу проекта.
Внедрение автоматического тестирования начинается с создания тест плана, где выявлены уязвимые, а также критически важные места. На основе тестплана пишутся тесты, покрывающие пользовательские сценарии, а при изменении кода разработчиками выполняется автоматический запуск авто тестов с помощью Continuous Integration, что способствует своевременному выявлению и исправлению ошибок.