Разделы портала

Онлайн-тренинги

.
Улучшаем тест-покрытие при помощи тестирования через модели и TestCompass
20.03.2024 00:00

Автор: Рауль Парваль (Rahul Parwal)
Оригинал статьи
Перевод: Ольга Алифанова

Сколько мы уже покрыли, сколько еще находится в очереди?

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

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

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

Знакомство с TestCompass

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

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

  1. Тестирование на ранних стадиях разработки. TestCompass поощряет концентрацию на общей картине вашего продукта или функции – он идеально подходит для ранних этапов тестирования и разговоров о сдвиге тестирования влево. С самого зарождения жизненного цикла разработки ПО вы можете выявлять противоречия, двусмысленности и баги в требованиях и сценариях, что дает вам и команде разработки хорошую фору.
  2. Простота использования. Создать модель с TestCompass совсем несложно, в отличие от обычных UML-моделей. Нужные узлы можно перетащить на рабочий лист и соединить их, чтобы превратить требования в графическое представление процессов. К узлам можно добавлять тестовые данные и предусловия, используя дополнительные секции.
  3. Множество уровней покрытия. TestCompass работает со множеством уровней покрытия приложения или процесса – можно выбрать нужный в зависимости от глубины требуемого тестирования.
  4. Оценка влияния изменений. Если в требованиях или процессах внесены изменения, TestCompass немедленно предоставит вам анализ влияния этих изменений на существующие тесты, помогая также оценить затраты на тестирование следующего этапа.
  5. Полная функциональность. Функциональность TestCompass позволяет эффективно и продуктивно поддерживать раннее тестирование на основе моделей. Это единая платформа для всех нужд вашего тест-дизайна – как для создания тест-моделей, так и для генерации тест-кейсов и анализа последствий.

 

Создание модели в TestCompass

Для иллюстрации работы TestCompass пройдемся по созданию модели для функциональности логина в приложении e-коммерции.

Шаг 1. Перетащите узлы. Воспользуйтесь интуитивно понятной опцией перетаскивания для добавления на полотно нужных узлов – действий, состояний, решений и результатов.


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


Шаг 3 – Опишите требования. Начните с требований к логину, преобразуйте их в графическую модель в TestCompass.


Шаг 4 – Добавьте тестовые данные и предусловия. Развейте вашу модель, добавив тестовые данные и предварительные условия для разных узлов, чтобы сделать тесты устойчивее и реалистичнее.


Генерация полного набора уровней покрытия

Когда ваша модель будет готова, TestCompass выведет ее на новый уровень – он проработает тест-дизайн для всех уровней покрытия. Давайте разберемся, какие уровни покрытия предлагаются приложением.

Покрытие узлов. Наиболее базовый уровень покрытия. Он удостоверяется, что все узлы модели, включая действия/состояния, решения и результаты, тестируются как минимум один раз, покрывая все последовательности.

 

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


Покрытие множественных условий. Особый вид покрытия, тесты которого стремятся покрыть множественные условия (комбинации тест-путей – например, позитивного и негативного) хотя бы один раз – заглянем под каждый камень!


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


Анализ влияния изменений

Возможность анализировать влияние изменений – одна из примечательных возможностей TestCompass. Разберемся, как это работает, и как это поможет выбрать правильное направление тестирования.

Обновите модель. При изменении требований просто обновите соответствующую тест-модель в TestCompass. Внесем изменение в наш пример с логином. Теперь у нас появится OTP-аутентификация в регистрации – обновим нашу модель.


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

Ниже показано, как TestCompass подталкивает вас к проведению анализа изменений после внесения изменений в модель.


TestCompass проводит анализ изменений и предлагает новый набор кейсов в левой части экрана.


Личный опыт работы с TestCompass


Я лично пользовался TestCompass для тестирования на основе моделей, и должен сказать, что это настоящий прорыв! Особенно мне понравилось вот что:

  1. Бесшовная генерация тест-кейсов. TestCompass серьезно упрощает генерацию кейсов. Одним кликом я генерирую логические и физические кейсы, и экспортирую их в файл Excel. Его можно импортировать в любой ALM-инструмент – например, в Jira.
  2. Резкий рост покрытия. Различные варианты покрытия в TestCompass помогают убедиться, что ни один критический сценарий не избежит тестирования – покрытие продукта будет полным.
  3. Раннее обнаружение проблем. Благодаря сгенерированным в инструменте моделям мы поймали множество багов и двусмысленностей в требованиях прямо на старте, что сберегло нам время и силы. Модели также помогли выявить потенциально оптимизируемые области приложения.
  4. Документация продукта. Модели, созданные в TestCompass, могут служить визуальной документацией сценариев приложения, что очень полезно для документирования и демонстраций.
  5. Возможности для сотрудничества. Успех тестирования на основе моделей сильно зависит от успешности создания модели продукта. Для этого тестировщики и разработчики должны трудиться вместе, пересматривая модель и проверяя ее на корректность.

Проблемы, и как мы с ними справились


Начав использовать TestCompass, я столкнулся с рядом мелких проблем, но легко справился с ними благодаря правильному подходу. Вот о чем речь:

  1. Кривая обучения. Будучи новичком в тестировании на основе моделей, я потратил много времени на изучение продукта и его функциональности. Документация продукта и практика работы с ним помогли преодолеть это затруднение.
  2. Внедрение в команде. Чтобы убедить команду взять на вооружение новый тест-инструмент, нужна эффективная коммуникация и демонстрация пользы, которую инструмент принесет. Увидев реальные результаты, коллеги охотно приняли инструмент и решили экспериментировать с ним, работая над новыми фичами.

Заключение


Хорошее тест-покрытие – краеугольный камень эффективного тестирования. При помощи TestCompass раннее тестирование на основе моделей становится простым и легким. Вы сможете добиться всеобъемлющего покрытия и провести тщательный анализ влияния изменений требований или кода на тестирование. Если вам трудно писать тесты или определить правильные уровни покрытия, я советую попробовать TestCompass и самостоятельно убедиться в его достоинствах. Удачи!

Обсудить в форуме