30 марта прошло мероприятие «Ozon Tech Community 1С Meetup», посвящённое разработке решений на базе 1С:Предприятие. В программе митапа было два доклада по тестированию:
- «Инструменты автоматизированного тестирования 1С», спикер Татьяна Головкина, старший специалист по тестированию.
- «Примеры реализованных тестов в 1С», спикер Иван Зарубин, ведущий разработчик 1С.
В первом докладе рассказывалось про инструменты ручного и автоматизированного тестирования: фреймворках Vanessa Automation и Vanessa ADD, Allure TestOps. А во втором докладе была затронута тема модульного и интеграционного тестирования.
Пока в рамках данного канала меня заинтересовал именно первый доклад, и я хочу осветить его основные моменты. Но посмотреть стоит весь митап для расширения своего кругозора про экосистему 1С.
Тайм-коды:
- 0:00:00 Подготовка
- 0:03:40 Приветствие
- 0:05:30 Алексей Коломоец - 1С:Зарплата и управление персоналом в IT-ландшафте Ozon
- 0:29:10 Вопросы к первому докладу
- 0:51:30 Татьяна Головкина - Инструменты автоматизированного тестирования 1С
- 1:13:00 Вопросы ко второму докладу
- 1:39:00 Кофе-брейк
- 2:03:50 Иван Зарубин - Примеры реализованных тестов в 1С, инструментарий
- 2:15:30 Вопросы к третьему докладу
- 2:36:30 Евгений Забелин - Разработка мастер-конфигурации для проектов 1С
- 2:56:50 Вопросы к четвертому докладу
- 3:10:00 Опрос, закрытие мероприятия
Что тестируется?
Прежде, чем начать рассказывать про используемые инструменты тестирования стоит сказать, а лучше показать, из чего состоит IT-ландшафт Ozon.
Как видно по сладу из первого доклада «1С:Зарплата и управление персоналом в IT-ландшафте Ozon» от руководителя группы разработки кадровых систем 1С Алексея Коломойца IT-ландшафт не маленький. И представляет собой интеграцию различных программных продуктов и сервисов. В том числе и продуктов 1С. Это «1С:Зарплата и управление персоналом», «1С:Бухгалтерия предприятия», «1С:Управление имуществом» и «1С:Управление автотранспортом». Программные продукты 1С есть как на обычных, так и на управляемых формах.
Доработки конфигураций 1С стараются минимизировать, чтобы не возникало проблем при обновлении на новые версии. Необходимый функционал реализуют либо через внешние файлы (обработки, отчеты и т.д.), либо создают отдельные подсистемы, которые легко тиражировать на другие конфигурации. Например, если внедрили новую подсистему в «1С:ЗУП» для России, то ее можно добавить и в конфигурации «1С:ЗУП» для Белоруссии и Казахстана.
Собственно данные доработки, обновления на новые версии и интеграции с другими программами тестируются отделом качества.
Инструментарий
Вот мы и добрались до самого доклада. Итак, инструментарий:
- Vanessa ADD используется для написания дымовых тестов (сюда входят модульные и интеграционные тесты).
- Vanessa Automation используется для сценарных регрессионных тестов.
- Allure TestOps используется для управления процессами тестирования.
- GitLab CI, OneScript, Vanessa-runner используются для автоматизации процессов тестирования.
Обычные формы покрыты только дымовыми тестами Vanessa ADD. Управляемые формы покрыты дымовыми тестами Vanessa ADD и сценарными тестами Vanessa Automation.
Дымовые тесты прогоняют на стейдж-окружении (препродакшн): база продакшена восстановленная из бекапа.
Для сценарных автотестов есть несколько баз с данными, а также под точечные автотесты данные загружаются в базы средствами Vanessa Automation. Для увеличения скорости проверки автотесты разбиты на группы и параллельно запускаются на разных базах для тестирования.
Allure TestOps
В докладе делался упор именно на получаемую отчетность об выполнении автотестов. Но в ходе секции вопросов выяснилось, что Allure TestOps используется как система управления тестированием. В нем хранятся ручные тест-кейсы и чек-листы.
GitLab CI, OneScript, Vanessa-runner
Процесс автоматического тестирования состоит из:
- Обновления тестовых баз из хранилища
- Запуск дымовых тестов
- Запуск сценарных тестов
- Синтаксический контроль
- Выгрузка результатов в Allure TestOps
- Уведомление в корпоративный чат Mattermost
Итоги
Полезные ссылки
Секция вопросов
Отдельно хочется отметить секцию вопросов. Они дополнили и уточнили многие моменты в докладах. Благодаря им расширилось понимание построения процесса разработки и тестирования в IT-ландшафте Ozon. А также навели на интересные мысли и идеи.
К примеру, Леонид Паутов (автор Vanessa Automation) напомнил, что для тестирования обычных форм можно использовать механизм UI Automation. А если быть еще точнее, то его можно использовать для любых приложений на Windows через инспектор объектов (утилита inspect.exe из Windows SDK). Давно хотел углубиться в данный механизм. Как раз пришло время.
И еще был интересный вопрос про нейросеть. Точнее не сам вопрос, а его идея. А заключалась она в том, чтобы научить нейросеть анализировать программный продукт и выдавать все возможные варианты проверки его блоков. То есть, чтобы нейросеть составляла полноценные тест-кейсы. Может пока и рано до составления тестовых сценариев, но вот помочь тестировщику лучше и глубже понимать программный продукт и предвидеть пересечения проверок, возможно, и можно. Но об этом еще стоит подумать.
Лично для меня данный митап, особенно доклад Татьяны Головкиной, был полезен. Она хорошо и структурировано подала информацию. Считаю, что данный доклад особо полезен для начинающих тестировщиков 1С. В нем наглядно показано один из вариантов построения процесса автоматизированного тестирования и взаимодействие инструментов в нем.