Тестирование: пример создания сценарного UI теста для платформы 1С
Разработка - Инструментарий разработчика
В предыдущей статье мы рассматривали вопрос практического создания юнит тестов с использованием Фреймворка xUnitFor1C (Тестирование: пример из семи шагов создания Unit-теста для платформы 1С), а сейчас переходим к следующей теме в рамках автоматизации тестирования – «практическое создание сценарных UI тестов».
Зачем это нужно?
Автоматические GUI тесты (или сценарные UI тесты) – один из самых дорогих видов автоматизации тестирования. Они имитируют действия пользователей, тем самым служат для проверки функционала, который будет использоваться. Таким образом наличие подобных тестов при доработке или разработке продуктов имеет высокую ценность с точки зрения качества продукта.
В предлагаемом подходе мы акцентировали внимание на снижении сложности разработки подобных тестов и соответственно стоимости затрат на их внедрение и дальнейшее использование в эксплуатации.
В предлагаемой статье информация разбита на две основные части – это теоретическое описание и демонстрация создания на примере. Во второй части содержатся сразу видео уроки, состоящие из шести частей по 4-5 минут каждая.
Уровень пользователя для создания сценарных тестов - наличие понятия функционирования прикладного решения, и обзорные знания по инструменту – «Менеджер сценарного UI теста».
Большим плюсом будет наличие в команде сотрудника, умеющего формализовать требования тестируемых процессов – проще говоря знающего как нарисовать схему покрываемого тестами бизнес процесса (если знает BPMN, то вообще супер!).
Исходные условия:
- Тестируемая конфигурация 1С: УТ 11 (проверялось на версиях: 11.3.3.205) или ERP 2 (проверялось на версиях: 2.2.4.81, 2.4.1.215, 2.4.3.137).
- Покрываемый тестами функционал: Бизнес процесс продажи на ордерном складе по 100% предоплате.
- API: 1С Автоматизированное тестирование.
- Инструмент: «Менеджер сценарного UI теста».
- (Опционально) Просмотр результатов тестирования/запуск: Конфигурация «Тестирование 3.0».
Постановка задачи:
- Мы должны создать автоматический GUI тест, покрывающий функциональность системы при выполнении процесса продажи.
- Тест должен обеспечивать гибкость изменения параметров (быть параметризированным): Организация, Клиент, Склад, Товар, Услуга.
- Тест должен позволять многократный запуск на системе без отката базы на первоначальные условия.
- Тест должен учитывать модульность построения (возможность многократно использовать одинаковые/повторяющиеся действия).
- Тест должен позволять выполнить проверку функционала под разными правами/ролями.
- Тест выполняет проверку корректности работы с правильными данными (мы не проверяем срабатывание блокировок остатков и др. это пусть происходит в юните тестах, но если хотите то можете закладываться на это)
Описание процесса:
Приведем упрощенную и достаточную для понимания схему процесса продажи, в рамках которой будем писать тест. Схему приводим в формате BPMN.
Разобьем схему на блоки, в рамках которых будем создавать нашу библиотеку и сценарий. Разбиение выполняем в границах дорожек пользователей, последовательности действий и ограниченных одним целевым объектом данных.
В результате у нас должен получиться набор из блоков отражающих создание документов (см. рис. выше) "Коммерческое предложение" (1), "Заказ клиента" (2), "Поступление безналичных денежных средств" (3.2), "Расходный ордер" (4.2), "Реализация товаров и услуг" (5) и действий с ними "Печать счета на оплату" (3.1), "Отгрузка Заказа клиента" (4.1), "Закрытие заказа клиента"(6*) .
Нам предстоит практическая часть - запись сценариев для каждого блока, простановка параметров и финальная сборка в единый целый тест. Об этом видео ниже, но вы можете перепрыгнуть и перейти непосредственно к готовому примеру в приложении.
Основными внешними параметрами для сценария будут: Клиент, Организация, Склад, Товар и Услуга; основными внутренними параметрами будут: Номер коммерческого предложения и номер заказа клиента. По входящему номеру коммерческого предложения будет создаваться заказ клиента, а в рамках номера заказа клиента будут создаваться все остальные документы.
Тест будет использовать только возможности автоматизированного тестирования без программного обращения к базе данных, и возможности конструктора баз программного кода 1С, т.о. для создания сценария тестирования не требуется знания языка 1С и обладание навыков программирования.
Практические видео уроки:
Как запустить пример?
- Скачиваем обработку "Менеджер сценарного UI теста" и архив со сценарными тестами из приложения (менеджер можно найти на GIT HUB по ссылке ниже).
- Распаковываем архив со сценарными тестами в произвольную директорию на диск (должно получиться две папки "Готовые сценарии" и "Блоки сценариев").
- Запускаем предприятие 1С в режиме TESTMANAGER. Пропишите в строке запуска ярлыка (/TESTMANAGER) или можете перейти во вкладку настройки и нажать кнопку "ЗАпустить базу по умолчанию как менеджер тестирования".
- Указываем настройки. Открываем обработку в предприятии и переходим во вкладку настройки и указываем:
а) Вкладка "Параметры работы редактора" пути "Путь к каталогу сценариев (готовые тесты)" (это "Готовые сценарии") и "Путь к каталогу библиотеки сценариев" (это "Блоки сценариев")
б) Вкладка "Настройки подключения по умолчанию (к предприятию 1С)" параметры подключения к тестируемому клиенту: "Файловая база" (если файловая ставим флаг), "Путь подключения клиента тестирования" (обычно это выглядит так "сервер 1c:1541/ERP_demo"), "Пользователь 1С" и "Пароль 1С", "Путь к исполняемому файлу 1С". - Загружаем тест. Перейти на вкладку "Сохранение/Загрузка" и указать путь к файлу сценария "БП Продажи.xml" и жмем кнопку "Загрузить сценарий".
- Запускаем тест. Откроется вкладка "Дерево сценария", на ней жмем кнопку "Запустить клиента/ов тестирования" и далее кнопку "Пуск" (бегущий человечек).
- Наблюдаем за ходом выполнения.
Дополнительно:
- В приложении находится обработка "менеджер сценарного UI Теста" и файлы скрипты проекта (xml).
-
- Оптимально настраивать сценарий под определенную целевую базу.
- При запуске теста убедитесь, что отключены или выполнены глобальные всплывающие настройки "Настройка проверки контрагентов" и др., т.к. они могут прервать выполнение теста.
- Проект находится на GIT HUB по адресу: TestingTool-3
- Перед выполнением сценарных тестов, мы всегда запускаем обработку загрузки начальных данных для выполнения теста, что позволяет иметь в распоряжении достаточное количество товаров на складе.
- Использование сценарных тестов для нашей команды приносит большую пользу в обеспечении качества разрабатываемых продуктов.
Специальные предложения
См. также
Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо
Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.
29700 руб.
Просмотр и анализ структуры базы данных (отчет на СКД) 121
5 стартмани
24.07.2019 9188 96 YPermitin 25
Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо
Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.
4500/9500 рублей
Переводим рутину ручного тестирования 1C на рельсы Jenkins-а и ADD 142
1 стартмани
03.06.2019 11961 1 ripreal1 86
Подборка программ для взаимодействия с ЕГАИС Промо
ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.
Универсальный HTTP-сервис на платформе 1С, аля HTTP-сервер с примером 198
1 стартмани
13.05.2019 18611 95 Diversus 42
Новогодние скидки на авторское ПО Промо
В преддверии праздника в Маркетплейсе на Инфостарт действует скидка на все платные авторские программы. Размер скидок начинается от 10%. Советуем не откладывать покупки, многие наши партнеры повышают цены на свои продукты именно в начале нового года.
Расширение "Быстрая проверка кода" для конфигурации 1С:Автоматизированная проверка конфигураций 92
1 стартмани
26.03.2019 11106 42 Bazil 25
Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.127.х! Промо
Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.
24700 руб.
Методика оптимизации программного кода 1С: проведение документов 85
1 стартмани
19.03.2019 15679 14 dmitrydemenew 83
Готовые переносы данных из различных конфигураций 1C Промо
Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.
Инструктор. Прототип инструмента создания быстрых пользовательских инструкций 71
1 стартмани
15.02.2019 7948 37 ROM_NN 8
Программы для исполнения 54-ФЗ Промо
С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.
Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019) 178
5 стартмани
09.01.2019 25177 229 informa1555 189
1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо
Данный онлайн-курс предусматривает углубленное изучение языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе “1С:Предприятие” в рамках различных прикладных решений. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей различных прикладных решений, которые используют в своей работе отчеты разного назначения.
6500 рублей
Управление задачами в 1С - готовая подсистема с открытым кодом и широким базовым функционалом. Версия 1.0.6 97
2 стартмани
17.12.2018 11680 83 for_sale 38
Перенос данных БП 3.0 => УТ 11 / КА 2 / ERP 2 (ЕРП) (перенос остатков, документов и справочной информации из "1С:Бухгалтерия предприятия 8", ред.3.0). Обновлено до БП 3.0.73.х, УТ 11.4.10.х, КА 2.4.10.х., ERP 2.4.10.х! Промо
Переносятся документы за выбранный период, справочная информация и остатки по счетам бух. учета в программу УТ 11 / КА 2 / ЕРП 2 (ERP). Переносятся все возможные виды операций ввода остатков на нужную дату. Есть отбор по периоду переноса документов и фильтр по организации, доступен выбор даты ввода остатков. Если нужно переносить что-то дополнительно, то обычно бесплатно добавляем это в перенос . Смотрите видеодемонстрацию со звуком - советами по переносу и рекомендациями настройки программ.
29700 руб.
Go. Разбор лога технологического журнала. Достойная альтернатива perl'у 85
1 стартмани
24.10.2018 12150 4 lazarenko 39
Базовый курс по разработке мобильных 1C-приложений для Android-устройств. Третий поток. Онлайн-интенсив с 11 февраля по 05 марта 2020 г. Промо
Данный онлайн-курс предусматривает изучение базовых принципов создания приложений для операционной системы Android, работающих на мобильной платформе “1С:Предприятие”. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие” при разработке прикладных решений для “обычных” компьютеров, но пока ещё не занимался разработкой 1С-приложений, предназначенных для работы на мобильных устройствах.
7500 рублей
Пользовательское определение языка 1С для Notepad++ и пример использования списка функций для навигации под свои нужды 66
1 стартмани
10.09.2018 8070 43 albert.goncharov 23
Перенос данных УПП 1.3 => ERP 2 (ЕРП) / УТ 11 / КА 2.х (обработка переноса документов, остатков и справочников из "1С:Управление производственным предприятием, ред. 1.3" в ERP / УТ 11 / КА 2). Обновлен до УПП 1.3.127.х, КА 2.4.10.х и ERP 2.4.10.х! Промо
Обработка позволяет переносить из УПП 1.3 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления при выходе новых релизов конфигураций 1С.
29700 руб.
Перенос данных БП 2.0 => УТ 11 / КА 2 / ERP 2 (перенос остатков, документов и справочников из "1С:Бухгалтерия предприятия 8", ред. 2.0 в "1С:Управление торговлей 8", ред.11 / КА 2 / ERP 2). Обновлено до УТ 11.4.10.х, КА 2.4.10.х, ERP 2.4.10.х! Промо
Перенос позволяет загрузить в УТ 11 / КА 2 / ERP 2 документы за выбранный период, справочную информацию и остатки по счетам бух. учета. Переносятся остатки денежных средств, взаиморасчетов, остатки товаров и материалов на складах. Переносятся девятнадцать основных видов документов за выбранный период и вся нормативно-справочная информация. Есть фильтр по организации. Если нужно переносить что-то дополнительно, то обычно бесплатно дорабатываю правила (перед покупкой согласуйте необходимые доработки).
29700 руб.
Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции 65
5 стартмани
09.08.2018 17483 23 informa1555 26