Улучшаем тест-покрытие при помощи тестирования через модели и TestCompass |
20.03.2024 00:00 |
Автор: Рауль Парваль (Rahul Parwal) Сколько мы уже покрыли, сколько еще находится в очереди? Не удивлюсь, если вы постоянно слышите этот вопрос, работая тестировщиком. Когда речь заходит о тестировании, все хотят знать, где мы находимся в смысле тестирования, и правильные ли области мы покрываем. На эти вопросы нелегко ответить, так как тест-покрытие – многоплановая тема, охватывающая множество измерений: структуру, функции, данные, интерфейсы, платформы, пользовательский интерфейс, операции, время, и многое другое. Однако я вижу большой потенциал в тестировании на основе моделей, особенно для покрытия функциональности и данных. Тестирование на основе моделей использует блок-схемы и проектные модели, помогающие лучше понять продукт и проектировать тесты для него. Это сродни использованию карты, чтобы найти наилучший маршрут для путешествия. В этой статье мы погрузимся в увлекательный мир тестирования на основе моделей, используя TestCompass. Хорошему тестированию необходим обстоятельный тест-дизайн. Посмотрим, как TestCompass, ведущий инструмент тестирования на основе моделей, улучшает тестирование и увеличивает тест-покрытие до небывалых пределов! Знакомство с TestCompassTestCompass – это визуальный инструмент тест-дизайна на основе моделей с развитым пользовательским интерфейсом, использующий процессную модель вашего приложения для генерации качественных тест-кейсов, сценариев и пользовательских путей. Он служит надежным компасом тестирования, направляющим вас и детально анализирующим покрытие и зависимости. Рассмотрим его уникальные функции:
Создание модели в TestCompassДля иллюстрации работы TestCompass пройдемся по созданию модели для функциональности логина в приложении e-коммерции. Шаг 1. Перетащите узлы. Воспользуйтесь интуитивно понятной опцией перетаскивания для добавления на полотно нужных узлов – действий, состояний, решений и результатов. Шаг 2 – Соедините узлы. Соедините узлы, чтобы указать последовательности, из которых состоят различные сценарии и взаимодействия Шаг 3 – Опишите требования. Начните с требований к логину, преобразуйте их в графическую модель в TestCompass. Шаг 4 – Добавьте тестовые данные и предусловия. Развейте вашу модель, добавив тестовые данные и предварительные условия для разных узлов, чтобы сделать тесты устойчивее и реалистичнее. Генерация полного набора уровней покрытияКогда ваша модель будет готова, TestCompass выведет ее на новый уровень – он проработает тест-дизайн для всех уровней покрытия. Давайте разберемся, какие уровни покрытия предлагаются приложением. Покрытие узлов. Наиболее базовый уровень покрытия. Он удостоверяется, что все узлы модели, включая действия/состояния, решения и результаты, тестируются как минимум один раз, покрывая все последовательности.
Покрытие переходов. На этом уровне покрытия проверяется, что каждая соединительная «линия» между всеми без исключения узлами тестируется хотя бы один раз. Это важно покрывать, если вы хотите тщательно исследовать поведение приложения при любых последовательностях действий. Покрытие множественных условий. Особый вид покрытия, тесты которого стремятся покрыть множественные условия (комбинации тест-путей – например, позитивного и негативного) хотя бы один раз – заглянем под каждый камень! Покрытие путей. Эквивалент исчерпывающего тестирования путей, обычно рекомендуется для глубокого тестирования. В этом режиме тест-дизайн гарантирует, что все возможные пути модели будут протестированы от начала до конца, и приложение будет тщательно исследовано. Анализ влияния измененийВозможность анализировать влияние изменений – одна из примечательных возможностей TestCompass. Разберемся, как это работает, и как это поможет выбрать правильное направление тестирования. Обновите модель. При изменении требований просто обновите соответствующую тест-модель в TestCompass. Внесем изменение в наш пример с логином. Теперь у нас появится OTP-аутентификация в регистрации – обновим нашу модель. Проведите анализ изменений. Несколько кликов – и у вас есть анализ изменений, помогающий понять, как обновление повлияет на ваши тест-кейсы и конфигурации. Ниже показано, как TestCompass подталкивает вас к проведению анализа изменений после внесения изменений в модель. TestCompass проводит анализ изменений и предлагает новый набор кейсов в левой части экрана. Личный опыт работы с TestCompassЯ лично пользовался TestCompass для тестирования на основе моделей, и должен сказать, что это настоящий прорыв! Особенно мне понравилось вот что:
Проблемы, и как мы с ними справилисьНачав использовать TestCompass, я столкнулся с рядом мелких проблем, но легко справился с ними благодаря правильному подходу. Вот о чем речь:
ЗаключениеХорошее тест-покрытие – краеугольный камень эффективного тестирования. При помощи TestCompass раннее тестирование на основе моделей становится простым и легким. Вы сможете добиться всеобъемлющего покрытия и провести тщательный анализ влияния изменений требований или кода на тестирование. Если вам трудно писать тесты или определить правильные уровни покрытия, я советую попробовать TestCompass и самостоятельно убедиться в его достоинствах. Удачи! |