Поиск

Регрессионное тестирование


Регрессионное тестирование — это проверка ранее протестированной программы, позволяющая убедиться, что внесенные изменения не повлекли за собой появления дефектов в той части программы, которая не менялась. Регрессионное тестирование используют, чтобы проверить корректность дополнений и удостовериться, что программа после изменений продолжает соответствовать установленным требованиям и успешно взаимодействует с другими системами.

Зачем нужно регрессионное тестирование

Вслед за динамично изменяющимися потребностями пользователи хотят быстрых и частых улучшений IT-систем и приложений. Добавление нового функционала, переработка старого, подстройка под обновленную версию браузера или операционную систему, исправление дефектов — это зачастую непрерывный процесс жизненного цикла программного обеспечения. Любое внесение изменений в код или окружение ПО не исключает появления ошибок. Причем при доработках системы есть вероятность, что изменения повлияют на ее работоспособность или часть ранее разработанной функциональности. 

В каких случаях проводится

Регрессионное тестирование рекомендуется проводить каждый раз после корректировки программы или сайта, которая может включать исправление дефектов, слияние кода, миграцию на другую ОС или БД, добавление новой функциональности и другие изменения. Если в процессе эксплуатации ПО существенно выросло число пользователей системы, рекомендуется проводить регрессионное нагрузочное тестирование.

С повышением сложности системы и увеличением количества функций увеличивается и количество тестов, а значит, и время на их повторение. Поэтому регрессионное тестирование далеко не всегда означает полную проверку всей функциональности. Чтобы гарантировать высокое качество выпускаемого ПО при сохранении оптимальных сроков и стоимости, необходим продуманный подход для определения стратегии и достаточного регрессионного покрытия. В ходе проекта тестировщики компании IBS AppLine в первую очередь проверяют ту часть функционала, где вероятность появления ошибки после внесенных изменений наиболее велика.

Автоматизация процесса

Если программное обеспечение подвергается частым изменениям и доработкам, то потребность в одинаковых проверках может значительно возрасти. Для экономии времени наши специалисты разрабатывают  автоматизированные регрессионные тесты, благодаря которым сокращаются сроки тестирования без потери в качестве работ.

Степень автоматизации зависит от количества тестовых случаев, которые можно повторно использовать для последовательных циклов регрессии, и определяется опытными специалистами индивидуально для каждого проекта.

Одним из преимуществ автоматизированного тестирования является возможность запускать тесты в любое время, что значительно сокращает сроки проекта при большом объеме регрессионных тестов.

Для разработки, хранения и запуска автоматизированных тестов специалисты IBS AppLine используют широкий спектр инструментов, таких как Selenium, Microfocus UFT (ранее HP), SmartBear TestComplete, а также собственные решения — систему управления тестированием «Кайман» и фреймворк «Хамелеон» (оба базируются на open source-технологиях).

Как предоставляется услуга

Услуга по организации и проведению регрессионного тестирования может предоставляться самостоятельно или входить в комплекс услуг функционального и нагрузочного тестирования.

При выполнении аутсорсинг-проекта команда IBS AppLine оценивает необходимый объем и частоту регрессионного тестирования, готовит комплект регрессионных тестов и выполняет тестирование в заранее оговоренные сроки и в соответствии с целями проекта, а также поддерживает актуальность тестовой модели на протяжении всего проекта под руководством менеджера по тестированию.

Возможно использование готовых тестовых сценариев и тестовых данных, если они есть до начала проекта. В этом случае специалисты IBS AppLine оценивают их актуальность и полноту, при необходимости дополняют комплект тестов в зависимости от условий по срокам, покрытию и качеству.

Основные задачи

Главная задача регрессионного тестирования — убедиться в корректной работе существующего функционала после внесения изменений в систему любым из следующих способов: изменение конфигурации, окружения, исправление ошибок и доработка существующих модулей, добавление нового функционала и так далее.

Еще одна задача — удостовериться, что функционал, в котором был допущен и исправлен дефект, работает корректно. С этой целью проводят регрессионное тестирование ошибок, когда проверяют только те функции, которые могли быть затронуты при внесении исправлений в код в связи с дефектом.

Для проверки базового функционала и отсутствия ошибок проводят верификационное тестирование, которое не подразумевает проверку альтернативных сценариев.

Этапы регрессионного тестирования



1
Определение оптимального объема и разработка тест-плана регрессионного тестирования.
2
Формирование тестовых данных и подготовка тест-кейсов с помощью заданных инструментов.
3
Выполнение тест-кейсов и заведение ошибок.
4
Повторение цикла тестирования (при необходимости).

Результаты

Проведение регрессионного тестирования позволяет значительно сократить количество дефектов к моменту, когда запланирован релиз. Исключается деградация качества системы при росте функциональности. В опытно-промышленной эксплуатации снижается риск критических ошибок.

Протестируем системы любой сложности: поисковые, биллинговые, процессинговые, SAP и многие другие


Проект автоматизации тестирования АС САДКО

Бизнес-задача

Усилить внутрибанковские компетенции в области автоматизации тестирования и развернуть инфраструктуру управления жизненным циклом прикладного программного обеспечения.

Решение

Выбрана функциональность, покрывающая следующие бизнес-области: лимиты, мониторинги, фондирование, планирование кредитных и некредитных операций.


Ручное функциональное тестирование системы ЕРИБ

Бизнес-задача

Повысить надежность системы, обеспечивающей выполнение банковских операций.

Решение

Проведение функционального, регрессионного и интеграционного тестирования функционала автоматизированной системы банка.