Найти в Дзене

Про автоматизированное тестирование на весеннем семинаре партнеров фирмы «1С» 2023

Оглавление

Прошел партнерский семинар фирмы «1С» с 3 по 6 марта 2023 года. Было много разной информации по программным продуктам как самой фирмы «1С», так и ее партнеров. Но в рамках данного канала, я затрону только тему автоматизированного тестирования.

Автоматизированному тестированию было посвящено два выступления в рамках секции «Развитие 1С:Бухгалтерии»:

  • Автотесты текстом. 1С:Сценарное тестирование (Рагузин Александр Евгеньевич, 1С)
  • Опыт использования «1С:Сценарного тестирования», для тестирования проектов (Плотников Александр Владимирович, 1С)

Оба доклада, как заметно из названий, были про инструмент автоматизированного тестирования «1С:Сценарное тестирование». Это не удивительно, так как именно отдел Фогеля Олега Владимировича использует данный инструмент для автоматизации тестирования линейки бухгалтерских программ, а также является основным двигателем развития данного инструмента.

Что нам рассказали в докладах?

Автотесты текстом. 1С:Сценарное тестирование

Скрин титульного слайда доклада «Автотесты текстом. 1С:Сценарное тестирование»
Скрин титульного слайда доклада «Автотесты текстом. 1С:Сценарное тестирование»

В первом докладе Александр Рагузин, разработчик «1С:Сценарное тестирование», рассказал про новый функционал, который появился в релизе 3.0.29: возможность конвертации сценариев тестирования в текстовый формат. Данный формат позиционируется как упрощенный.

Конвертировать можно как в текстовый, так и обратно в обычный формат.

Скрин слайда презентации со схемой преобразования форматов
Скрин слайда презентации со схемой преобразования форматов

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

Ограничения при конвертации в текстовый формат:

  • Игнорируется осмысленное наименование шагов и информация для их восстановления;
  • Удаляется расширенная информация для поиска объектов и данные, которые позволяют изменить действия в шаге без подключения к тестируемому клиенту;
  • Некоторые шаги не используются в текстовом формате, так как они могут быть очень громоздкими. Например, шаг для сверки движений документов;
  • Не выполняется замер производительности;
  • Не выполняется отладка макрошагов.

Форма текстового формата состоит из двух частей: левая – это поле для написания сценария тестирования, правая – это справочник доступных команд.

Скрин слайда презентации с формой текстового формата
Скрин слайда презентации с формой текстового формата

Структурно текстовый сценарий разделен на области:

  • Функциональность - предназначена для указания названия сценария и его краткого описания.
  • Подключение - необходимо указать параметры подключения к тестируемому клиенту.
  • Переменные - в данной области описывается список переменных, указывается их тип и значение.
  • Настройка - описываются глобальные настройки сценария.
  • Сценарий - содержит выполняемые шаги сценария.
  • Таблица - в области задается эталонная таблица, которая будет использоваться для выполнения проверочных шагов с таблицей.
  • Табличный документ - в области задается эталонная таблица, которая будет использоваться для выполнения проверочных шагов с табличным документом.
  • Макрошаг - Область предназначена для последовательностей действия вынесенных в макрошаг.

Области можно указывать в любом порядке. Основной является область «Сценарий», так как именно в ней указываются команды сценария тестирования.

Необходимые команды можно написать вручную или подобрать из справочника команд.

При написании команды вручную существует возможность выбрать ее из контекстного меню.

Скрин слайда презентации, демонстрирующий возможность подбора команд из контекстного меню
Скрин слайда презентации, демонстрирующий возможность подбора команд из контекстного меню

Также команды можно получать в готовом виде через «Исследователь» форм. Для этого в окне исследователя выбирается нужный элемент формы, и на закладке «Команды» выбирается необходимая для данного элемента из списка возможных команд.

И закончен доклад был рассказом про синтаксис текстовых команд:

  1. Команда занимает целую строку;
  2. Параметры в команде передаются в кавычках (названия объектов, форм, элементов и т.д.) или в виде чисел (количество повторений, время ожидания и т.д.);
  3. В качестве параметров можно использовать переменные вида «&ИмяПеременной»;
  4. Если на форме содержаться элементы с одинаковыми заголовкам, то нужно указать еще панель, на которой искать данный элемент «Заголовок панели -> Заголовок элемента»;
  5. Можно использовать привычные группы для организации условий и циклов;
  6. Также добавлены «скобки» для форм, таблиц и табличных документов. Такой подход позволяет один раз найти и описать нужный элемент и в дальнейшем уже только указывать действия с ним.

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

Опыт использования «1С:Сценарного тестирования», для тестирования проектов

Скрин титульного слайда доклада «Опыт использования «1С:Сценарного тестирования», для тестирования проектов»
Скрин титульного слайда доклада «Опыт использования «1С:Сценарного тестирования», для тестирования проектов»

Второй доклад был про построение проектного тестирования и роли в нем инструмента «1С:Сценарное тестирование» непосредственно в отделе разработки бухгалтерских программ. Такие доклады особо интересны и ценны, так как есть возможность послушать, как построены различные процессы у коллег.

Александр Плотников начал свой доклад с примера в цифрах: сколько времени у отдела тестирования уходило на подготовку плана тестирования и окружения.

Далее было рассказано каким инструментом пользовались при составлении тест-плана. Использовали Confluence, что было очень неудобно. План тестирования мог доходить до 25 страниц формата А4. Были трудности с итерациями тестирования.

Скрин слайда презентации, демонстрирующий работу в Confluence
Скрин слайда презентации, демонстрирующий работу в Confluence

Потому было принято решение доработать «1С:Сценарное тестирование» под проектное тестирование. На слайде показаны блоки и объекты, которые были добавлены в инструмент.

Скрин слайда презентации, демонстрирующий работу доработки в конфигурации «1С:Сценарное тестирование» в части проектного тестирования
Скрин слайда презентации, демонстрирующий работу доработки в конфигурации «1С:Сценарное тестирование» в части проектного тестирования

Ниже показана схема тестирования проектов бухгалтерских программ после внедрения блока планирования. Блоки зеленого цвета на схеме – это то, что уже реализовано в «1С:Сценарное тестирование».

Скрин слайда презентации, демонстрирующий текущую схему тестирования проектов при помощи инструмента «1С:Сценарное тестирование»
Скрин слайда презентации, демонстрирующий текущую схему тестирования проектов при помощи инструмента «1С:Сценарное тестирование»

Ручные тесты - это чек-листы для контроля ручного тестирования или каких-то других задач. На основании ручных тестов возможно создать шаблоны, для дальнейшего использования при других проверках. А также добавлены теги для более быстрого и удобного поиска необходимых тестов и шаблонов и подбора в план тестирования.

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

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

Добавлен справочник «Базы для тестирования», чтобы создать единое место хранения баз для тестирования. Они хранятся в самой конфигурации «1С:Сценарное тестирование» как dt-файлы. Там же можно настроить автоматизированное обновление баз на необходимую версию конфигурации, с последующим развертыванием файловой информационной базу для тестирования.

Все перечисленные выше доработки привели к хорошим результатам. Например, время по составлению тест-плана снизилось с 4-16 часов до 2-10 часов. А общее время подготовки к тестированию снизилось на 15-20%.

Полезная обратная связь:

Скрин слайда презентации с каналами обратной связи
Скрин слайда презентации с каналами обратной связи

Второй доклад подтверждает то утверждение, что конфигурация «1С:Сценарное тестирование» становится полноценной системой управления тестированием (Test Management System или сокращенно TMS). Судите сами. На данный момент уже есть блок планирования, создания и хранения автоматизированных тестов, формирования пакетов тестирования и запуск их по расписанию, возможность фиксировать ошибки и интегрировать с другими баг-трекирами. На мой взгляд, пока мало развит блок отчетности. Но, буду надеяться, что это уже в планах на ближайшие релизы инструмента.