Автоматизированное тестирование помогает улучшить качество продукта, и поэтому оно достаточно широко используется при разработке/тестировании самых разных проектов. Платформа «1С:Предприятие» также позволяет выполнять автоматизированное тестирование и имеет для этого все необходимые инструменты. Эта статья рассказывает о том, что это за инструменты и как ими пользоваться.
Общая информация
Итак, автоматизированное тестирование прикладных решений — это часть процесса тестирования, которая представляет собой имитацию действий пользователя, а также получение и оценку результатов этих действий.
Автоматизированное тестирование выполняется при помощи двух клиентских приложений и сценария тестирования.
Сценарий тестирования — это программа на встроенном языке «1С». Сценарий описывает последовательность выполняемых действий и, если нужно, проверяет результаты выполнения этих действий. Для этого во встроенном языке имеются специальные объекты.
Менеджер тестирования — это клиентское приложение (толстый или тонкий клиент) запущенное в соответствующем режиме. В этом приложении исполняется сценарий тестирования и производится оценка результатов (если нужно).
Клиент тестирования — это клиентское приложение (толстый, тонкий или веб-клиент). Это приложение получает от менеджера команды, воспроизводит их и возвращает результат.
Все вышеописанное отлично иллюстрирует изображение с сайта «1С»:
Запись действий пользователя
Написание более или менее серьезного теста представляется очень трудоемкой задачей — нужно в коде описать все необходимые действия: нажатия на кнопки, выборы из списков, заполнения полей ввода и тд.
К счастью имеется способ серьезно упростить работу — записать журнал действия пользователя. Запуск этого режима производится из конфигуратора:
Или из командной строки:
C:\Program Files\1cv8\common>1cestart.exe ENTERPRISE /IBName "Тестовая база" /UILogRecorder
После запуска в правом верхнем углу основного окна приложения появятся кнопки для управления записью действий пользователя:
С помощью этих кнопок запись можно:
- начать/приостановить/продолжить;
- прекратить;
- завершить.
Начав запись, сделав какие-либо действия и завершить запись, мы увидим некий XML-документ, например такой:
На сайте ИТС имеется обработка которая может преобразовать этот XML в код на встроенном языке: https://its.1c.ru/db/metod8dev#content:5014:hdoc.
Выглядит все это вот так:
Обработке можно скормит текст или имя файла, попросить сгенерировать код подключения к клиенту и указать некоторые другие настройки.
Запуск системы тестирования
Запустить клиентское приложение в режиме менеджера тестирования или клиента тестирования можно из конфигуратора или при помощи командной строки.
В конфигураторе нужно пройти в меню «Сервис»-«Параметры», затем открыть вкладку «Запуск 1С:Предприятия»-«Дополнительные» и выбрать требуемый режим запуска:
Запуск из командной строки в режиме менеджера тестирования выглядит примерно так:
C:\Program Files\1cv8\common>1cestart.exe ENTERPRISE /IBName "Тестовая база" /TestManager
А в режиме клиента тестирования так:
C:\Program Files\1cv8\common>1cestart.exe ENTERPRISE /IBName "Тестовая база" /TestClient -TPort 2000
При запуске в режиме клиента можно указать номер порта (по умолчанию 1538), это нужно в том случае, если запущено несколько клиентов тестирования.
Текущий режим будет указан в заголовке главного окна:
или:
Создание и область применения тестов
Для создания полноценного теста, как правило, недостаточно преобразовать запись действий пользователя в код на встроенном языке. Но подобный инструмент позволяет избежать неинтересной механической работы и помогает понять принцип написания тестов.
В написании текста также может помочь схема объектов для имитации интерактивных действий:
А также синтаксис-помощник в котором имеется подробная информация о каждом из этих объектов.
Самым простым вариантом запуска теста будет создать обработку (можно внешнюю) и просто засунуть в нее имеющийся код теста и запустить из менеджера тестирования.
Основной областью применения автоматизированного тестирования мне представляется (возможно я неправ) проверка работоспособности существующего функционала при добавлении нового (часто бывает, что при добавлении нового ломается старое).
На этом все, надеюсь, что данная статья была Вам полезна.
Загрузка...
Спасибо за инфу, просто и понятно написано!