Автотесты
Основная информация
Автотесты (или функциональный мониторинг) - это процесс контроля и проверки работы функциональности приложения или системы в режиме реального времени. Он направлен на обеспечение стабильной работы системы и раннее обнаружение возможных проблем или отклонений в работе функциональности.
Основные задачи функционального мониторинга включают:
- Контроль доступности и отклика системы или приложения
- Мониторинг производительности, включая метрики времени отклика и нагрузки на систему
- Отслеживание ключевых функций и бизнес-процессов
- Обнаружение и регистрация ошибок или сбоев в работе сервисов
При таком способе мониторинга приложений и сервисов используются различные инструменты и фреймворки, такие как Selenium, pytest, JUnit и другие, которые позволяют создавать тестовые сценарии и запускать их при помощи агентов Monq (управляемые проекты автотестирования).
Обратите внимание, что Monq не является инструментом тестирования функционала приложений. А является инструментом контроля, запуска и анализа результатов выполнения ваших тестов.
После выполнения автотестов, результаты сохраняются в определенном формате (например, Allure) и их можно отправлять и обрабатывать в Monq - формировать метрики, определять успешность прохождения теста и формировать сигналы о проблемах, если таковые присутствуют.
Прием результатов тестирования осуществляется через API (справка), а обработка и анализ при помощи сценариев автоматизации (справка).
В Monq существует два типа проектов функционального мониторинга: управляемый и автономный.
- Управляемый проект - Monq осуществляет запуск автотестов по заданному расписанию и настроенному сценарию на своих агентах. Результаты тестирования отправляются в этот же проект.
- Автономный проект - Monq ожидает поступления результатов автотестирования от внешних инструментов запуска тестов (Jenkins, GitlabCI и другие).
Чтобы начать работу с модулем Autotests перейдите в соответсвующий раздел в основном меню системы - будет открыт главный экран управления проектами автотестирования.
Настройка модуля автотестирования
Перед созданием проектов функциональных тестов необходимо импортировать базовые сценарии обработки отчетов функционального тестирования.
Autotest Builds Parser.txt
- сценарий парсинга отчетовAutotest Signal Processor.txt
- сценарий генерации сигналов
Скачать сценарии можно по ссылке из публичного репозитория GitHub.
Приведенные примеры сценариев разработаны для обработки результатов тестирования, сформированных фреймворком Allure. Если вы используе те другой инструмент формирования результатов тестирования - вам необходимо разработать собственные сценарии автоматизации или обратиться в компанию "Monq Digital Lab" за помощью.
В отправленном, в коллектор автотестов, zip архиве должна находиться директория allure-results
, в которой хранятся результаты выполнения автотестов в формате Allure JSON. Файлы в директории allure-results
содержат информацию о выполненных тестах, статусе их выполнения, пройденных и не пройденных проверках, времени выполнения, скриншотах, логах и других метаданных.
Минимальный набор файлов в каталоге allure-results
для успешной обработки в Monq:
26a58974-3ada-4445-8375-8e7054aa8b2c-attachment.png
350f3653-71f4-40e7-a96e-ad430e6401be-container.json
5a745ea3-39bb-4a09-9ca9-b6d6366b457a-attachment.png
64ea00a1-d5d6-438d-90d9-349bdf9de33b-result.json
c1e06a96-5144-4f43-a7cf-c7f80479c315-container.json
cb7a38d9-5d36-4421-9579-54d136a32b74-attachment.png
environment.xml
-
environment.xml
- содержит информацию о среде, в которой выполнялись автотесты. Он содержит различные параметры и переменные окружения, которые могут быть полезны для анализа результатов тестирования.Пример содержимого:
- <environment>
- <parameter>
<key>project</key>
<name>project</name>
<value>None</value>
</parameter>
- <parameter>
<key>build</key>
<name>build</name>
<value>0</value>
</parameter>
- <parameter>
<key>browser</key>
<name>browser</name>
<value>chrome:101.0</value>
</parameter>
- <parameter>
<key>test_key</key>
<name>test_key</name>
<value>3</value>
</parameter>
</environment> -
<uuid>-result.json
- основной файл, который содержит информацию о результате выполнения тестов и шагов. Он используется для построения отчета и отображения результатов тестирования.Пример содержимого:
{
"uuid": "unique-id",
"name": "Test Suite",
"start": 1628671200000,
"stop": 1628671800000,
"status": "passed",
"steps": [
{
"name": "Step 1",
"status": "passed",
"start": 1628671201000,
"stop": 1628671202000,
"attachments": [
{
"name": "screenshot",
"source": "cb7a38d9-5d36-4421-9579-54d136a32b74-attachment.png",
"type": "image/png"
}
]
},
{
"name": "Step 2",
"status": "failed",
"start": 1628671203000,
"stop": 1628671204000,
"attachments": []
}
],
"attachments": []
} -
<uuid>-container.json
- представляет собой структурированный JSON-объект, который содержит поля, описывающие контейнеры, тест-кейсы и другие связанные данныеПример содержимого:
{"uuid": "deb440bb-e25a-4032-b509-1aad37c97bb8", "children": ["82c81816-40a8-417b-8f40-19aa4aefaf4a"], "befores": [{"name": "prepare_test_env", "status": "passed", "start": 1653559260012, "stop": 1653559260021}], "start": 1653559260012, "stop": 1653559287197}
-
<uuid>****-attachment.png
- файлы-вложения (attachments)Пример описания в файле
<uuid>-result.json
:{
"name": "screenshot",
"source": "cb7a38d9-5d36-4421-9579-54d136a32b74-attachment.png",
"type": "image/png"
}
Раздел документации Автоматизация
Импортированные сценарии необходимо скомпилировать и активировать.