22 июля вебинар по автоматизированному тестированию от разработчика Инфостарт Лаборатории вызвал живой интерес. В этом материале: ответы на популярные вопросы слушателей, запись вебинара и другие подарки – читайте и применяйте!
Отвечаем на вопросы
Спикер вебинара Александр Кунташов проанализировал обратную связь от участников и подготовил развернутые ответы на самые популярные вопросы.
Как передать в параметры записываемого объекта признак «АвтоТест»? Искал программно, как понять, что мы находимся в клиенте тестирования, не нашел. Типовые передают параметр АвтоТест.
Вероятно, вопрос состоит в том, чтобы в прикладном коде отличать, выполняется ли он в режиме клиента тестирования (т.е. выполняется сценарий) или нет.
Начиная с версии платформы 8.3.25, в платформе появился метод глобального контекста ТекущийСеансТестируется(), который позволяет решить эту задачу: он возвращает Истина, если клиентское приложение 1С:Предприятие запущено с ключом /TestClient, и Ложь в противном случае.
До версии 8.3.25, чтобы понять режим запуска, нужно предпринимать дополнительные меры. Например, в Vanessa Automation можно в параметры запуска клиента добавить пользовательский ключ командной строки /C «КлиентТестирования» (в настройках на вкладке «Клиенты тестирования» у выбранного клиента тестирования дважды кликнуть в ячейке «Доп. параметры» и добавить указанную выше строку к существующим параметрам через пробел).
Тогда в коде, выполняющемся в контексте клиента тестирования можно использовать проверку:
Видел в одном из докладов, что тестовые данные также хранят в git-репозитории. Как обычно делаете вы?
Хранение тестовых данных в репозитории — один из возможных подходов.
В идеале все сценарии сами должны обеспечивать себе подготовку необходимого для их выполнения окружения, включая подготовку данных. Это обеспечивает их независимость от других сценариев, от наличия и корректности данных и таким образом уменьшает их хрупкость.
В таком случае данные обычно либо генерируются «кодом» (в случае VA – шагами сценариев) и наряду с другим кодом помещаются в репозиторий, либо они подгружаются из внешних файлов (например, макетов или json-файлов), и эти макеты и файлы также хранятся в репозитории.
На курсе «Автоматизированное тестирование в 1С» эти два подхода мы рассматриваем в последнем разделе «Подготовка и работа с тестовыми данными» и реализуем в рамках практики: делаем так, чтобы написанные нами при выполнении предыдущих домашних заданий сценарии могли запускаться в пустой базе.
Есть целый ряд случаев, когда тестовых данных нужно объективно много, например, при тестировании закрытия месяца или расчета себестоимости. В макетах такие данные хранить не очень эффективно с точки зрения поддержки. Тогда используются «эталонные базы» – предзаполненные базы данных.
В некоторых случаях и такие базы, выгруженные в DT-файл, могут храниться в репозитории для упрощения сборочной линии. В нашем курсе используется именно такой подход, поскольку у нас очень маленькая база данных. И основная цель – чтобы каждый участник локально имел максимально похожую инфраструктуру без необходимости что-то дополнительно настраивать и тем более устанавливать.
В случае проектов на базе настоящих, не учебных конфигураций хранить бинарный файл выгрузки базы данных в git-репозитории не очень эффективно: он занимает несоизмеримо много места (по сравнению с кодовой базой), замедляет работу с репозиторием и раздувает его.
При этом остается необходимость хранить, версионировать и «доставлять» в сборочную линию такие бинарные файлы. Такая задача чаще всего решается специальными инструментами: или самодельными (скрипты + файловое хранилище – от FTP до S3), либо специализированными – менеджерами для бинарных репозиториев, такими как NEXUS3, Artifactory и их аналогами.
Покрывают ли тесты работу в нескольких базах, например, результаты работы обменов?
Да, Vanessa Automation позволяет реализовывать сложные интеграционные автотесты, во время работы которых участвуют две и более информационных базы и даже сторонние сервисы.
Как мы обсуждали на вебинаре, надо стремиться начинать с верхнеуровневых, достаточно абстрактных шагов. Это позволяет нам упростить мыслительный процесс и декомпозировать задачу на более простые составляющие.
На верхнем уровне условный сценарий будет таким:
Для подключения к базам в библиотеке VA есть большая группа разных шагов. Следует помнить, что один сценарий в один момент времени может управлять только с одним клиентом тестирования. Но в случае обмена процесс последовательный: сначала выгружаем, потом загружаем.
Шаги, которые запускают обмен в зависимости от того, как это реализовано в тестируемом решении, можно реализовать «кнопконажималкой» через пользовательский интерфейс, либо инициировать обмен программно, вызвав метод «кодом» – в VA есть и такие возможности. Для реализации критериев проверки тоже богатый выбор шагов.
Можно ли использовать сценарий для автоматического написания руководства пользователя?
Да, можно. В Vanessa Automation есть такой крутой функционал, как создание видеоинструкций. Выполнение специально подготовленного сценария можно записать в формате видео и даже добавить озвучку – для этого в VA встроена интеграция с популярными text-to-speech-движками от Yandex, Google и других вендоров, с помощью которых к видео можно добавлять закадровый голос.
Этот же механизм используется для генерации текстовых инструкций в формате markdown или pdf со скриншотами и текстовым сопровождением.
Важно понимать, что сценарии для создания видео/текстовых инструкций и сценарии для автоматизации тестирования в большинстве случаев следует создавать с разным подходом. Сценарии для видеоинструкций должны содержать дополнительные директивы, текстовый «подстрочник» и т.п.
Тем не менее, это очень эффективный инструмент, позволяющий держать документацию в актуальном состоянии, ведь после обновления интерфейса (подвинули поля ввода, переименовали) проще это отредактировать в сценарии и запустить автоматическую запись видео, чем переписывать их снова монтировать вручную. Видеоинструкции самой Vanessa Automation реализованы при помощи этого механизма.
Какая версия платформы и режим совместимости требуется для оптимальной работы Vanessa Automation?
Рекомендуемые версии технологической платформы для полноценной работы актуальных релизов Vanessa Automation – начиная с 8.3.14.
Возможно использование и более младших релизов, но встроенный редактор фич может работать некорректно. Он построен на базе ядра редактора VS Code, который, в свою очередь, построен на базе веб-технологий, требующих возможности современных браузеров.
«Под капотом» редактор запускается в ПолеHTMLДокумента, для работы которого в платформе 1С:Предприятие до версии 8.3.14 использовались устаревшие на сегодня библиотеки Internet Explorer, а, начиная с 8.3.14, их заменили на WebKit (chrome).
Можно использовать более младшие релизы VA (1.2.036 и младше) или использовать VA как «запускатель» сценариев, а сами сценарии разрабатывать во внешнем редакторе, например, в том же Visual Studio Code. Правда, при этом вам не будет доступен механизм записи действий пользователя.
Какой процент проектов 1С использует технологию автоматизированного тестирования, а сколько процентов работают вручную?
Соответствующей статистики и прямого ответа на этот вопрос у меня, к сожалению, нет. Полагаю, что доля ручного тестирования велика, а еще есть немало команд и компаний, где формальные процессы тестирования не выстроены.
В 2022 году Инфостарт проводил опрос сообщества, в котором участвовало порядка 10 тысяч респондентов, и Vanessa Automation была на третьем месте среди всех инструментов, которые в своей работе используют специалисты 1С.
Инструмент активно развивается более 10 лет, и сообщество вокруг него только в телеграм-чате – почти 4 тысячи человек, из чего можно сделать вывод, что это востребованный инструмент.
При этом созданы и развиваются с разной степенью активности и другие инструменты тестирования: 1С:Сценарное тестирование, Тестер 1С Дмитрия Решитко, Тестирование 3.0 Владимира Крючкова.
Достоверно знаю из выступления докладчиков на наших конференциях INFOSTART EVENT, что во многих крупных компания федерального масштаба, включая фирму «1С», ОЗОН, Т-Банк, Спортмастер и множества других, применяется и автоматизированное, и ручное тестирование. Это говорит о том, что внимание к тестированию в нашей сфере постоянно и растет, и это актуальная и востребованная рынком область приложения усилий.
На курсе по тестированию уделяется время развертыванию сборочного конвейера?
Нет, в рамках курса мы занимаемся только тестированием, а сборочную линию/конвейер эксплуатируем готовую, как обычно и происходит в реальности – задачи развертывания и поддержки сборочных линий обычно находятся не в зоне ответственности тестировщика. Этим занимаются девопс-инженеры или разработчики, взявшие в команде на себя эту роль.
Разворачивать сборочные линии мы учим на курсе «DevOps в 1С», который мы сейчас обновляем и ожидаем, что запустим очередной поток осенью. Следите за анонсами Инфостарт Обучения.
Можно ли вывести экспортные сценарии в файлы .epf с шагами тестирования? А сам .feature-файл с экспортным сценарием в .epf конвертировать нельзя?
Vanessa Automation поддерживает два способа реализации собственных шагов:
- легковесный, без программирования, при помощи экспортных сценариев (подсценариев), как мы делали на вебинаре;
- полноценный, в виде step_definition на встроенном языке 1С внутри специальным образом оформленной обработки (epf-файла).
Для реализации второго способа в VA встроен специальный инструмент «Генератор EPF», который для написанных вами шагов без реализации создает внешнюю обработку (epf-файл) и наполняет модуль по шаблону, добавляя заглушки (пустую реализацию) для ваших шагов, а вам остается только написать код, выполняющий то, что вы ждете от функционала.
Готового конвертора работающих feature-файлов на TurboGherkin в epf-обработки нет.
Есть ли смысл в использовании тестирования без сборочной линии?
Да. Полноценная сборочная линия – это один из финальных этапов внедрения промышленной автоматизации разработки, который с современным уровнем ПО стал доступным и в «домашних условиях», поэтому про него везде говорят.
Но в небольших командах ввиду отсутствия инфраструктуры и времени на разворачивание полноценных инструментов CI вполне можно обойтись и запуском тестов скриптом через планировщик задач или даже вручную, особенно если вы – единственный тестировщик.
Но, как уже сказал, сейчас поднятие CI-сервера не такая и страшная задача. Есть очень много простых и доступных инструкций, начиная от тех, которые описывают, как это сделать для себя, не имея компетенций в DevOps, до профессиональных гайдов. Мы этому учим на курсе «DevOps в 1С», который стартует осенью.
Можно оформить налоговый вычет при оплате курса?
Да, теперь можно. Инфостарт Обучение ведет образовательную деятельность на основании государственной лицензии № Л035-01271-78/01783981 от 27.01.2025, это позволяет оформить налоговый вычет.
Также, начиная с нового потока курса «Автоматизированное тестирование в 1С», после его успешного прохождения вы получите официальное удостоверение о повышении квалификации по почте России, а ваш работодатель его увидит в государственном реестре ФИС ФРДО Рособрнадзора.
Получите запись вебинара
Запись бесплатного мастер-класса «Эпизод из жизни тестировщика 1С: от получения задачи до сдачи результатов» вы можете получить сейчас – жмите на кнопку, заполняйте форму и познакомьтесь с особенностями автоматизированного тестирования!
Присоединяйтесь к обучению – вам доступна скидка!
Мастер-класс – это лишь часть знаний. Полное погружение ждет вас в практическом курсе «Автоматизированное тестирование в 1С».
Чему научитесь:
- работать с Vanessa Automation (востребованный open-source фреймворк);
- автоматизировать тестирование прикладных решений на платформе 1С;
- решать реальные задачи из практики тестировщика.
Ознакомьтесь с программой и записывайтесь со скидкой 15% по промо-коду AvtoTest_15.
Для тех, кто дочитал – подборка полезных материалов
Для самых любознательных и внимательных – а именно такими качествами обладает хороший тестировщик – мы подготовили бесплатные материалы, которые помогут глубже погрузиться в тему.
- Мультикурсоры и множественное выделение в Vanessa Automation: освоите профессиональный прием для ускорения работы с кодом (пригодится даже в VS Code!).
- Инструмент тестировщика «Откат изменений данных»: научитесь быстро восстанавливать исходное состояние тестовой базы, экономя часы работы.
- Доклад Александра Кунташова на конференции «Стачка» – «Автоматизация тестирования: ожидания vs реальность»: узнаете реальные кейсы и подводные камни из практики эксперта.
Будем рады видеть вас среди слушателей курса!