Рекомендации по регрессионному тестированию

Рекомендации по регрессионному тестированию

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

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

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

Возможно, что в новой версии приложения будут исправлены ранее обнаруженные дефекты, а также появилась новая функциональность. Для «исправлений» мы обычно имеем набор тестовых скриптов (DTS), которые запускаются для подтверждения исправлений, в то время как для новых функциональных возможностей у нас будет набор тестовых сценариев для выпуска, которые тестируют уведомления контроля изменений (CCN) .

Регрессионный набор, представляющий собой банк тестовых сценариев, запускается при выпуске каждой новой версии приложения. Подробнее данный вопрос рассматривается на наших курсах тестировщиков.

Выбор тестов для регрессионного тестирования

Как было объяснено ранее, для каждой новой версии программного приложения выполняются три набора тестовых наборов: регрессионные тесты, специальные тесты и скрипты для проверки дефектов. Выбор тестовых сценариев для регрессионных наборов не является тривиальным упражнением. При выборе тестов для включения в регрессионные наборы нужно быть внимательными.

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

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

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

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

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

«Наиболее важные тесты», т. е. тесты, важные для домена приложения, всегда должны включаться в регрессионные наборы. Например, банковское приложение должно содержать тесты, которые реализуют надежность безопасности приложения, в то время как веб-приложение для сайта с высоким трафиком должно, безусловно, содержать тестовые сценарии, связанные с производительностью.

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

Автоматизированное регрессионное тестирование

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

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

Напоминаю, что курсы тестировщиков помогут Вам освоить данный предмет - звоните и записывайтесь!