Поддержка и рефакторинг тестовых наборов

Поддержка нужна

Как тестировщик программного обеспечения, вы являетесь контролером качества. Ваши тестовые наборы (свиты) — это ваше оружие, обеспечивающее надежность программного кода, создаваемого вашей dev-командой. Когда приложение растет и развивается, фичи добавляются, и свиты превращаются в запутанный комок из устаревших тест-кейсов, которые уже ничего не верифицируют, а наоборот еще добавляют сложности. Тогда должно помочь обслуживание (или «поддержка») и рефакторинг кода автотестов. Далее рассмотрим методы, которые помогут сохранить гибкость и эффективность тестовых наборов по мере развития приложения.

Поддержка важна

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

Важность рефакторинга

Рефакторинг применяется не только к коду тест-кейсов, но и на более высоком уровне, к тестовым наборам. При рефакторинге тестовых наборов улучшается (должна улучшаться) их структура, читаемость и удобство, без изменения их поведения. Таким образом, тест-кейсы в составе набора становятся более понятными, обновляемыми и расширяемыми.

Техники

Регулярные проверки и чистки

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

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

Модуляризация тест-кейсов

Разбивайте сложные тест-кейсы на более мелкие и реюзабельные. Это делает тест-кейсы контролируемыми и уменьшает дублирование их кода. При изменении функции обновится только один нужный модуль.

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

Параметризация

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

Например, это может помочь в частом случае тест-кейса отправки формы регистрации пользователя. Вместо того чтобы хардкодить имя пользователя, адрес почты и пароль, просто параметризируем их. Создаете переменные для этих входов и определяете несколько наборов значений, например: {«user1», «user1@email.com», «password123»} и {«user2», «user2@email.com», «pass456»}. Затем тест-кейс задействует эти параметризованные значения, позволяя запускать один тест с различными комбинациями данных.

Контроль версий тестового кода

Как и код собственно приложения, тестовый код тоже, в идеале, должен находиться под version control. Что позволит лучше отслеживать его изменения и при необходимости откатиться к предыдущей версии.

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

Документация

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

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

Стратегия регресса

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

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

Источник


Какой была ваша первая зарплата в QA и как вы искали первую работу?

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

? Популярное

? Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас