Регрессионное тестирование
Зачем нужно регрессионное тестирование
Вслед за динамично изменяющимися потребностями пользователи хотят быстрых и частых улучшений IT-систем и приложений. Добавление нового функционала, переработка старого, подстройка под обновленную версию браузера или операционную систему, исправление дефектов — это зачастую непрерывный процесс жизненного цикла программного обеспечения. Любое внесение изменений в код или окружение ПО не исключает появления ошибок. Причем при доработках системы есть вероятность, что изменения повлияют на ее работоспособность или часть ранее разработанной функциональности.
В каких случаях проводится
Регрессионное тестирование рекомендуется проводить каждый раз после корректировки программы или сайта, которая может включать исправление дефектов, слияние кода, миграцию на другую ОС или БД, добавление новой функциональности и другие изменения. Если в процессе эксплуатации ПО существенно выросло число пользователей системы, рекомендуется проводить регрессионное нагрузочное тестирование.
С повышением сложности системы и увеличением количества функций увеличивается и количество тестов, а значит, и время на их повторение. Поэтому регрессионное тестирование далеко не всегда означает полную проверку всей функциональности. Чтобы гарантировать высокое качество выпускаемого ПО при сохранении оптимальных сроков и стоимости, необходим продуманный подход для определения стратегии и достаточного регрессионного покрытия. В ходе проекта тестировщики компании IBS AppLine в первую очередь проверяют ту часть функционала, где вероятность появления ошибки после внесенных изменений наиболее велика.
Автоматизация процесса
Если программное обеспечение подвергается частым изменениям и доработкам, то потребность в одинаковых проверках может значительно возрасти. Для экономии времени наши специалисты разрабатывают автоматизированные регрессионные тесты, благодаря которым сокращаются сроки тестирования без потери в качестве работ.
Степень автоматизации зависит от количества тестовых случаев, которые можно повторно использовать для последовательных циклов регрессии, и определяется опытными специалистами индивидуально для каждого проекта.
Одним из преимуществ автоматизированного тестирования является возможность запускать тесты в любое время, что значительно сокращает сроки проекта при большом объеме регрессионных тестов.
Для разработки, хранения и запуска автоматизированных тестов специалисты IBS AppLine используют широкий спектр инструментов, таких как Selenium, Microfocus UFT (ранее HP), SmartBear TestComplete, а также собственные решения — систему управления тестированием «Кайман» и фреймворк «Хамелеон» (оба базируются на open source-технологиях).
Как предоставляется услуга
Услуга по организации и проведению регрессионного тестирования может предоставляться самостоятельно или входить в комплекс услуг функционального и нагрузочного тестирования.
При выполнении аутсорсинг-проекта команда IBS AppLine оценивает необходимый объем и частоту регрессионного тестирования, готовит комплект регрессионных тестов и выполняет тестирование в заранее оговоренные сроки и в соответствии с целями проекта, а также поддерживает актуальность тестовой модели на протяжении всего проекта под руководством менеджера по тестированию.
Возможно использование готовых тестовых сценариев и тестовых данных, если они есть до начала проекта. В этом случае специалисты IBS AppLine оценивают их актуальность и полноту, при необходимости дополняют комплект тестов в зависимости от условий по срокам, покрытию и качеству.
Основные задачи
Главная задача регрессионного тестирования — убедиться в корректной работе существующего функционала после внесения изменений в систему любым из следующих способов: изменение конфигурации, окружения, исправление ошибок и доработка существующих модулей, добавление нового функционала и так далее.
Еще одна задача — удостовериться, что функционал, в котором был допущен и исправлен дефект, работает корректно. С этой целью проводят регрессионное тестирование ошибок, когда проверяют только те функции, которые могли быть затронуты при внесении исправлений в код в связи с дефектом.
Для проверки базового функционала и отсутствия ошибок проводят верификационное тестирование, которое не подразумевает проверку альтернативных сценариев.
Этапы регрессионного тестирования
Результаты
Проведение регрессионного тестирования позволяет значительно сократить количество дефектов к моменту, когда запланирован релиз. Исключается деградация качества системы при росте функциональности. В опытно-промышленной эксплуатации снижается риск критических ошибок.
Протестируем системы любой сложности: поисковые, биллинговые, процессинговые, SAP и многие другие