TGViewer
Channel Public Channel
QA в 1C — все о тестировании в мире 1С

QA в 1C — все о тестировании в мире 1С

@qa_1c

Канал посвящен вопросам обеспечения качества в решениях на платформе 1С.

Автор — Александр Кунташов, ведущий специалист ИНФОСТАРТ Лаборатории, тренер курса по автоматизации тестирования в 1С при помощи Vanessa Automation: infostart.ru/va-course
Subscribers
670
Photos
21
Videos
5
Links
38

Showing posts older than #58 · Back to latest

Older Posts 20 shown
Post #57 699
🤔 [#ВопросОтвет] Как в цикле обойти таблицу, объявленную в секции Переменные?

Вопрос: Я использую таблицу геркин, объявленную в секции "Переменные". Мне надо перебрать ее строки в цикле. Обычно для таблиц геркин я использую цикл `И для каждого значения "Строка" из таблицы в памяти "МояТаблица"`. Но с таблицей из секции "Переменная" этот шаг почему-то не работает. Могу ли я как-то в цикле перебрать строки этой таблицы?


Таблица, объявленная в секции "Переменные" — это не то же самое, что "таблица геркин", как вы назвали, хотя выглядит похоже.

Под капотом Vanessa Automation они организованы по-разному, поэтому и работать с ними приходится по-разному.

Если коротко, то для итерирования по строкам таблицы, объявленной в секции "Переменные" нужно использовать конкретный шаг И для каждой строки таблицы "МояТаблица" я выполняю.

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

Длинный ответ в посте ниже.

Это рубрика #ВопросОтвет. Присылайте свои вопросы на тему тестирования в комментариях к постам или в личные сообщения и я постараюсь на них ответить.


➡️Если хотите узнать еще больше тонкостей про автоматизацию тестирования на Vanessa Automation, приходите к нам в Инфостарт на курс «Автоматизация тестирования в 1С», новый поток стартует 27 января 2026 года, запись уже открыта.

🦋 @QA_1C
  • 🙏 2
  • 👍 1
Post #56 922
🤟 [#Статья] Инфостарт Сертификация по Vanessa Automation — результаты и разбор TOP 5 самых сложных вопросов

Перед INFOSTART TECH EVENT 2025 я анонсировал сертификацию по Vanessa Automation в формате теста 1С:Профессионал для всех желающих участников конференции. О том, как все прошло и какими оказались результаты — написал подробно в статье:

https://infostart.ru/1c/articles/2519412/

Статистикой поделюсь тут:

— попытались пройти тест 44 человека
— 17 человек сдали успешно

Из тех, кто сдал успешно:

🥇 4 человека ответили 14/14
🥈 5 человек ответили 13/14
🥉 8 человек ответили 12/14

Спасибо огромное всем за участие и обратную связь! Ну и коллегам из 🤓 Инфостарт Обучения за помощь в организации и проведении сертификации ❤️

Также в статье подробно разобрал ТОП-5 вопросов, которые оказались для участников самыми сложными:

🟠Почему нужно избегать использования имени переменной с символами доллара (например, "$МояПеременная$") при установке ее значения, особенно при повторной установке?

🟠Как интерпретируется падение (исключение) библиотечного шага, используемого в качестве условия в универсальной условной конструкции Если <шаг-условие> Тогда?

🟠В каком порядке должны выполняться шаги при имитации выбора файла в Vanessa Automation?

🟠В шаг нужно было точно передать строку «ООО "Рога и копыта"» (с двойными кавычками внутри строки). В каком из шагов ниже это сделано с ошибкой?

🟠На какой операционной системе работают шаги Vanessa Automation, опирающиеся на API UI Automation?

Напишите в комментариях, хотели бы вы пройти такое тестирование по Vanessa Automation? Сохранить ли формат 1С:Профессионала или сделать тест более объемным?

Если вы были на конференции и участвовали в тестировании, поделитесь, пожалуйста, в комментариях своими впечатлениями. Какие вопросы, если помните, для вас показались наиболее сложными?

🦋 @QA_1C
  • 🔥 12
Post #55 1.29K

Forwarded from Евгений Исаев

Всем привет. По согласованию с Леонидом делаю анонс доступности нашего инструмента-дополнения для VA под названием RAT.

С помощью него вы сможете:
- Cоздавать, редактировать и проверять все основные объекты конфигурации программно "на лету", без написания кода.
- Работать с пользователями информационной базы, узлами обмена и регламентными заданиями.
- Взаимодействовать с множеством информационных систем, через единый менеджер тестирования, без привязки к версии платформы 1С.
- Интегрироваться с внешними REST сервисами.
И все это в человекочитаемой обертке шагов с параметрами, сохраняя стилистику известных шагов vanessa-automation.

Доступен в свободном доступе (LGPL-3.0) на гитхаб https://github.com/bia-technologies/rat/releases/tag/v25.10

Описание и подробная документация тут https://bia-technologies.github.io/rat/
  • 🔥 13
  • 👍 5
  • 😱 2
  • ❤ 1
  • 🤝 1
Post #54 958
🤔 [#ВопросОтвет] Почему асинхронный шаг с явным таймаутом ожидания "в течении в 5 секунд" падает только через 10 секунд?

Вопрос: Словил странное поведение: у меня есть шаг И я жду закрытия окна "Поступление товаров * от *" в течение 5 секунд. Если окно закрывается, шаг отрабатывает мгновенно. Если окно не закрывается вообще, то шаг ждет явно дольше 5 секунд и падает только где-то на 11-13 секунде. По секундомеру не проверял, но и "на глаз" видно, что это больше 5 секунд. Это баг?


Это нормальное поведение, связанное с тем, что таймаут в 5 секунд, который вы задали в асинхронном шаге, меньше "общесистемного" таймаута, который установлен для всех асинхронных шагов в настройках Vanessa Automation и по умолчанию составляет 10 секунд.

Эта настройка называется "Таймаут для асинхронных шагов" и задается в разделе "Выполнение сценариев" 👉 "Стабилизация выполнения сценариев" (см. скриншот). В описании настройки это поведение подробно описано.

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

Это рубрика #ВопросОтвет. Присылайте свои вопросы на тему тестирования в комментариях к постам или в личные сообщения и я постараюсь на них ответить.


🦋 @QA_1C
  • 👍 5
  • 🏆 1
Post #52 1.54K
🤓 Инфостарт Сертификация — тест по Vanessa Automation на конференции INFOSTART TECH EVENT 2025

Я уже буквально на низком старте и через несколько часов вылетаю в Санкт-Петербург на INFOSTART TECH EVENT 2025.

Кроме моей основной обязанности — модерации секции «QA: Тестирование и качество ПО» вместе с Татьяной Головкиной, мы заморочились еще совместно с 🤓 Инфостарт Обучением и в течение двух дней 9го и 10го октября будем проводить тестирование на знание фреймворка ✅ Vanessa Automation и языка TurboGherkin.

Принцип такой же, как и в 1С:Профессионал: тест из 14 вопросов. Чтобы сдать нужно ответить не менее, чем на 12 вопросов. На прохождение отводится 30 минут.

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

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

Тестирование будет проводиться в зале «Гатчина» 9 и 10 октября по записи. Записаться на тестирование (имеет смысл только для офлайн-участников конференции!):

➡️ https://infostart.ru/ite2025-va-test

В случае проблем с записью или отсутствием удобных свободных слотов можно обратиться за помощью в телеграм @irishtacey.

Приглашаю проверить свои знания!

А еще, поделитесь в комментариях, как вы относитесь к сертификации такого рода? Нужна ли она для опенсорс-инструментов типа Vanessa Automation?

🦋 @QA_1C
  • 🔥 18
Post #51 916
📖 [#Книга] Тест-дизайн. Практическое руководство для начинающих, Ольга Назина

Книг по тестированию выходит на русском языке не очень много, я последние пару лет стараюсь следить за новыми изданиями, в том числе за зарубежными. Для тех, кто все еще использует книги в качестве источника знаний, постараюсь делиться своими впечатлениями о прочитанном по теме канала.

Начну с книги, которая неоднократно упоминалась в чате @testspro1c в рамках рекомендации «вам нужно разобраться с тем, как проектировать тест-кейсы». Это книга Ольги Назиной «Тест-дизайн. Практическое руководство для начинающих».

Очень многие за пределами сообщества 1С (да и в сообществе 1С таких уже не мало) знают Ольгу Назину по ее курсам и тренингам, через которые они и пришли в тестирование. Я обратил внимание на нее благодаря тем же рекомендациям.

Что понравилось:

🟢 Системность и структурированность. С учебниками и справочниками я всегда начинаю знакомиться с оглавления и тут оно впечатлило: максимально подробное, отлично структурированное, для меня это всегда хороший знак.

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

🟢 Практическая направленность. Все темы разбираются на релевантных примерах, и данные этих примеров приведены в книге в полном объеме, т.е. можно самому все повторить; после каждой главы есть вопросы для самопроверки, упоминаются актуальные инструменты, на них даны ссылки (в конце книге есть QR-коды для удобства использования). Приводятся чек- и чит- листы, которые можно применять в работе.

Что, на мой вкус, не очень:

🟠несмотря на то, что в подзаголовке указано «для начинающих», некоторые примеры будут слишком сложны для тех, кто только входит в тестирование. Для понимания по части тем нужен опыт за спиной, а некоторые (но, к счастью, единичные) примеры настолько специфичны, что понятны будут не только лишь всем. Например внезапные примеры про настройку максимального количества дескрипторов файлов в RHEL 🤯 или пассажи про gc в Java.

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

🟠В книге о-о-очень много иллюстраций в формате мультяшных, очень своеобразных комиксов/стрипов, которые дублируют содержание той или иной идеи в специфичной юморной/метафоричной форме. Их реально много, практически на каждой странице и они увеличивают объем книги. В ней почти 500 страниц, и я не сильно ошибусь, если скажу, что четверть ее объема составляют эти комиксы, еще минимум четверть — скриншоты для иллюстрации примеров. Чисто текста там страниц 250 максимум. Иллюстрации подобного рода могут служить якорем, помогающим запомнить что-то лучше, но когда все этими якорями засыпано, они превращаются в белый шум и уже не работают, как задумывалось (вот с мнемониками, которым посвящен подраздел одной из глав такая же история, но люди думают по-разному, кому-то наверное зайдет).

🟠Кажется, что некоторые темы описаны довольно избыточно и местами есть ощущение повторов («повторение — мать учения»?) .

➡️ Итого. Считаю, что книга будет полезной тестировщикам-самоучкам, кто хочет познакомиться с техниками тест-дизайна или специалистам по тестированию, кто хотел бы систематизировать знания, полученные из личного опыта. Для вкатывания в тестирование с нуля эту книгу порекомендовать, пожалуй, не готов, но в качестве дополнительной литературы во время обучения на курсе по тестированию книга послужит отличным методическим материалом. Минусы очень субъективны и больше про форму, содержание отличное!


Поделитесь в комментариях, читали ли эту книгу? Как впечатления? Что еще читали из области тест-дизайна? Что порекомендуете прочитать?

🦋 @QA_1C
  • 👍 6
  • 🔥 1
Post #50 892
🦋 Что посмотреть и послушать на тему тестирования в 1С: история развития инструментов QA в 1С и что из себя представляет автотестирование на VA

Казалось бы уже давно не самая свежая тема тестирования в мире 1С снова в трендах — судить об этом можно по количеству докладов, статей и подкастов, которые как грибы кучно появляются по осени:

📺 «Об инструментах тестирования в 1С» — запись доклада Игоря Апресова, крутейшего эксперта в сообществе 1С. В докладе его ретроспективный взгляд на развитие инструментов обеспечения качества разработки на 1С.

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

В комментариях к посту выступлением Игоря — интересная дискуссия на вечную тему, как в команде внедрить практику писать тесты: следует ли применять авторитарные методы или достаточно просто привести аргументы в пользу тестирования и разработчики сами начнут писать тесты (речь про юниты/тесты кодом). Как я понял, по итогу сошлись на том, что «дубинка» — как раз тот самый аргумент, с которым согласится большинство 🙈 Котов пасли-пасли, да не спасли 😿

🎙 В подкасте «Радио "Аналитик"» еще один выпуск по нашей тематике — про автоматизированное тестирование, на сей раз с Дмитрием Алюшиным, одним из модераторов секции «DevOps-практики, управление инфраструктурой разработки» на грядущей конференции 😄😄INFOSTART TECH EVENT 2025.

В подкасте Дмитрий доступно объясняет в чем суть автоматизированного тестирования и как в него вкатиться. Абсолютно разделяю мнение Дмитрия, что вкатываться надо с практики. Если руками не попробовать и не столкнуться с проблемами, которые решаются методами тест-дизайна, то значительная часть информации из книг по теории тестирования и тест-дизайну пролетят мимо и следов в голове не оставят.

Подкаст будет полезен тем, кто еще не знаком с автоматизацией тестирования или с Vanessa Automation.

Смотрите, слушайте, вкатывайтесь — тестирование сегодня в центре внимания 😎

🦋 @QA_1C
  • 👍 7
  • 🔥 3
  • ❤ 1
Post #49 858
🤔 [#ВопросОтвет] Как выполнять пошаговую отладку структуры сценария?

Вопрос: Обычно отлаживаю сценарии, используя F11 и выполнение по шагам, смотрю глазами, что происходит. В случае использования структуры сценариев этот вариант не работает.

Как можно отлаживать структуру сценария? Или нужно отлаживать на одном варианте, а потом добавлять все варианты?


Пошаговая отладка структуры сценария выполняется для каждого примера отдельно в режиме «Показывать строки подсценариев» (подменю ⚙️ Настройка 👉 Показывать строки подсценариев): нужно кликнуть на строку первого шага под строкой примера и далее по F11 можно выполнять каждый следующий шаг.

Полный и наглядный ответ — в видео (это фрагмент записи одного из вебинаров курса «Автоматизированное тестирование в 1С»).

Это еженедельная рубрика #ВопросОтвет. Присылайте свои вопросы на тему тестирования в комментариях к постам или в личные сообщения и я постараюсь на них ответить.


🦋 @QA_1C
  • 👍 4
  • ❤ 1
Post #48 953
🎙 Интервью с Владимиром Хориковым, автором одной из лучших книг по юнит-тестированию у Егора Бугаенко

Много разных интересных вопросов прозвучало.

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

Та самая книга Владимира Хорикова — «Принципы юнит-тестирования» (ссылка ведет на ОЗОН, не рефералка, если кому это важно).

🦋 @QA_1C
  • 👍 3
  • 🔥 1
Post #47 859

Forwarded from @yegor256 news (Yegor Bugayenko)

Вот и долгожданное интервью: Владимир Хориков, автор книг о юнит тестировании, блогер, спикер и программист на C#. Обсудили все, что успели, начиная от борьбы с командой за качественный код до борьбы с ИИ за рабочие места. Смотрите на YouTube и VK (80 минут, на русском, with English subtitles).
  • 👍 3
  • ✍ 1
  • ❤ 1
  • 🔥 1
Post #46 893
🤔 [#ВопросОтвет] Создавать тестовые данные в рамках сценария, которому они нужны, или использовать заранее подготовленную базу с нужными сценариям данными?

Вопрос: Как правильно: создавать тестовые данные ли в рамках сценария, которому они нужны или же использовать заранее подготовленную базу? Почему одинэсники чаще говорят об "эталонных" базах или даже тестировании на копии прод-базы? В 1С не принято создавать тестовые данные в сценарии?


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

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

Главная цель тестирования — не пропустить ошибки в релиз, убедиться, что ничего не сломали, проверить, что функционал работает.

У этого есть цена, на которую влияет в том числе выбор того, как организовать работу с тестовыми данными. И если дешевле (быстрее, проще с точки зрения обновления в будущем и т.п.) данные готовить в сценарии — то делают так, если проще иметь предзаполненную (эталонную) базу, то используют предзаполненную базу.

Чаще всего на реальных, живых проектах можно увидеть и и то и другое, в зависимости от тест кейса.

Это была (почти) еженедельная рубрика #ВопросОтвет. Присылайте свои вопросы на тему тестирования в комментариях к постам или в личные сообщения и я постараюсь на них ответить.


🦋 @QA_1C
  • 👍 9
  • 🔥 1
Post #45 3.59K
☝ Алексей Лустин в Радио «Аналитик»: «Я ненавижу слово "тестирование". QA — это специалисты, ответственные за качество»

В очередном выпуске подкаста «Радио "Аналитик"» Марии Серегиной — отец всея DevOps в 1С Алексей Лустин, директор по развитию Инфостарт.

Алексей рассказал про прошлое, настоящее и будущее DevOps в мире 1С, а по пути попытался объяснить, почему аналитики не хотят применять BDD. А ведь именно из-за этого нам не дождаться прекрасного будущего, в котором требования на понятном всем амигос языке превращаются в приемочные автотесты. И вместо этого все до сих пор ровно как в меме про 1Сника и огурец.

Как всегда, интересно и полезно для кругозора, для QA хотя бы в серединке.

Ссылки на кучу площадок, где можно послушать подкаст вот тут.

@itanalyst_ru_channel — канал Сообщества Аналитиков, в рамках которого выходит Радио «Аналитик»
@vne_efira — телеграм-канал автора и ведущей, прекрасной Марии Серегиной


🦋 @QA_1C
  • 👍 6
  • 🔥 6
Post #44 1.02K
🎉 Поздравляю всех с профессиональным днем тестировщика!

Желаю драйвовых, успешных проектов и интересных задач, позволяющих самореализоваться!

В этот рабочий праздничный день хочу поделиться утвержденной программой секции «QA: Тестирование и качество ПО» грядущего 😄😄 INFOSTART TECH EVENT'а!

В секцию было подано 25 заявок, на фоне старых флагманских секций это не так много, и слотов нам из-за этого досталось только 10, но это все равно целых 10 докладов и круглый стол — отлично для первого раза!

Итак, нас ждут следующие доклады:

🟢Иван Панов, «Тестирование релизов - Путь самурая»

🟢Татьяна Головкина, «Анатомия Docker-образа для тестирования 1С: что скрыто внутри?»

🟢Евгений Исаев, «Remote Api for Testing. Работа с 1C и REST сервисами через Vanessa Automation»

🟢Данил Кравченко, «Нагрузочное тестирование в двух базах одновременно. Опыт кейса, когда интеграции не эмулируются»

🟢Станислав Баташов, «Подготовка тестовых данных для юнит и интеграционных тестов на фреймворке yaxUnit»

🟢Лилия Салахова, «Тестируем по ТЗ: практики верификации и валидации требований, экономящие время и нервы команды 1С»

🟢Виталий Подымников, «Краткий обзор методики дымового тестирования из Vanessa ADD»

🟢Надежда Захаренко, «От экспериментов к методике: практические уроки по нагрузочному тестированию»

🟢Иван Казеев, «Практические кейсы использование Vanessa Automation»

🟢Роман Данилов, «Моем руки перед обменом, или самые частые ошибки ручного тестирования интеграций между 1С базами»

Кроме того тема тестирования будет затронута и в рамках соседней секции «Приемы и практики разработки»:

🟢Алексей Корякин, «YAxUnit: Новые возможности для эффективного тестирования в 1С»

🟢Станислав Косолапов, «AI-агенты для 1С: от генерации кода до автоматизации разработки и тестирования»


Ну а на третий день конференции состоится круглый стол секции «QA: Тестирование и качество ПО», на котором в качестве экспертов кроме докладчиков нашей секции ждем также интересных почетных гостей.

Впереди у нас с докладчиками еще жаркая финишная прямая подготовки, работаем 💪

🤟 Ждем вас на конференции INFOSTART TECH EVENT 2025 в Санкт-Петербурге 9-11 октября!
Билеты еще можно
приобрести.

🦋 @QA_1C
  • 🎉 8
  • 👍 7
  • 🔥 4
  • 🤔 1
Post #43 854
  • 🔥 2
  • 👾 2
Post #42 1.08K
🤔 [#ВопросОтвет] Как в экспортный сценарий передавать многострочную строку в качестве параметра?

Вопрос: Как в экспортный сценарий передавать многострочные параметры, как это сделано в библиотечном шаге "И я выполняю код встроенного языка"? Там я код указываю сразу после шага, обрамляя тремя двойными кавычками и могу использовать переносы строк. Во встроенной справке Ванессы есть пример, но у меня его повторить не получается.


Да, в экспортный сценарий можно передать многострочный параметр, но делается это не так интуитивно, как передача "обычных" параметров, которые передаются в имени сценария.

Чтобы в экспортный сценарий (подсценарий) можно было передать многострочную строку, нужно, чтобы в теле этого экспортного сценария вызывался бы какой-либо другой шаг, принимающий многострочную строку в качестве параметра.

Самый универсальный шаг — шаг установки значения переменной И Я запоминаю в переменную "ИмяПеременной" значение "ЗначениеПеременной".

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

И Я вывожу многострочное приветствие 
"""
Привет, Мир!
Hello, World!
"""


Реализация этого шага должна быть такой:

📔 Экспорт.Приветствие.feature

#language: ru

@tree
@ExportScenarios

Функционал: Экспорт. Приветствие

Сценарий: Я вывожу многострочное приветствие
И Я запоминаю в переменную "ТекстПриветствия" значение
"""
Приветствие по умолчанию
"""
И я вывожу сообщение в менеджер тестирования "$ТекстПриветствия$"


Как вы видите, в названии сценария у нас нет никаких параметров.

Вместо этого у нас в первой строке сценария в шаге И я запоминаю в переменную ... в переменную сохраняется многострочная строка со значением "Приветствие по умолчанию".

Когда мы вызываем наш шаг, как написано в примере выше, то VA подменяет эту многострочную строку на ту, которую мы передаем (с приветствиями на русском и английском).

У такой реализации есть побочный эффект: мы можем вызвать наш шаг даже без аргументов. В этом случае в переменную присвоится (и будет выведено) значение Приветствие по умолчанию.

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

Это была еженедельная рубрика #ВопросОтвет. Присылайте вопросы по теме тестирования в комментариях к постам или в личные сообщения и я постараюсь на них ответить.
🦋 @QA_1C
  • 🔥 6
  • 🤯 4
  • ❤ 1
  • 👍 1
Post #41 1.16K
✅ [#Статья] Интеграционное тестирование, TDD и подход test first при помощи Vanessa-ADD — доклады Ольги Севастьяновой

На прошлой неделе на Инфостарте были опубликованы транскрипты сразу двух докладов Ольги Севастьяновой об автоматизации тестирования при помощи Vanessa-ADD.

Обе статьи пропагандируют разработку через тестирование (TDD, Test Driven Development) и принцип test first («сначала тесты, потом код»), а в качестве иллюстрации использованы кейсы решения реальных задач.

Частично статьи в примерах пересекаются, но фокус у них совершенно разный, поэтому я рекомендую обе, но читать их нужно скорее в обратной хронологии конференций:

Начните со статьи/доклада «Культура написания unit-тестов. Как мы делаем доработки в 1С:ERP, практикуя подход test first и используя инструмент Vanessa-ADD». Здесь акцент сделан на том, ЧТО можно разрабатывать при подходе test first на примере широкого спектра задач:

🟣Интеграционные тесты и тесты сверок с внешними источниками.
🟣Тесты поведения системы (проведение документов, регламентные задания).
🟣Тесты форм и отчетов.

Этот доклад позволяет оценить потенциал и применимость TDD для разработки на 1С и в какой-то степени отвечает на вопросы «Зачем это нужно?» и «Где это применимо?».

Вторая статья — «Интеграционные Unit-тесты в 1С. Как тесты на обмены улучшили жизнь пользователям, разработчикам и бухгалтерии» — детально разбирает один из сложных и болезненных для многих сценариев — обмен данными. Здесь шаг за шагом демонстрируется КАК это сделать на одном сквозном примере от подготовки данных и написания теста и до доработки кода.

Детальный разбор примера позволяет увидеть, как подход реализуется в реальной работе, где и в чем подводные камни и показывает, как сделать первый шаг на практике.

Обе статьи — транскрипты докладов конференций INFOSTART TECH EVENT 2023 и 2024 года, подготовленные силами Дорогой редакции Инфостарта. Для тех, кому удобнее смотреть, есть видеозаписи выступлений Ольги:

—
Культура написания unit-тестов
—
Интеграционные Unit-тесты в 1С


🦋 @QA_1C
  • 🔥 11
  • 👍 3
  • 👏 2
Post #40 948
🤔 [#ВопросОтвет] Как проверить, что документ проведен? Не могу найти подходящий шаг в библиотеке.

Вопрос: Пишу сценарий проверки функционала, который должен создать и провести документ и мне нужно проверить, что этот документ проведен. Если документ не проведен, шаг должен упасть. Но в библиотеке шагов не нахожу подходящего шага. Как проверить, что документ проведен? Я знаю номер документа и могу найти его по номеру.


Готового шага, который бы мог проверить состояние проведения документа по номеру в библиотеке в VA нет

Из готовых шагов максимально близко к тому, чтобы реализовать нужное поведение, это шаги расширения VAExtension

И я получаю состояние текущего объекта (Расширение)
И я получаю состояние объекта по навигационной ссылке "НавСсылка" (расширение)


Оба считывают состояние объекта в автоматически создаваемые переменные, среди которых есть переменная Проведен булева типа Истина/Ложь в зависимости от того, проведен или нет документ.

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

  И Я запоминаю в переменную "НомерДок" значение "000000018"
И Я открываю навигационную ссылку "e1cib/list/Документ.Заказ"
И Я очищаю фильтр на форме списка
И Я устанавливаю фильтр на список если это возможно
| 'Номер' | 'равно' | '$НомерДок$' |
И в таблице 'Список' я выбираю текущую строку
Тогда открылось окно "Заказ * от *"
И я получаю состояние текущего объекта (Расширение)
И я выполняю код встроенного языка
"""bsl
Если Не Контекст.Проведен Тогда
ВызватьИсключение СтрШаблон("Документ Заказ %1 не проведен, а ожидалось, что будет проведен", Контекст.НомерДок);
КонецЕсли;
"""


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

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

Сценарий: документ "[ВидДокумента]" с реквизитами проведен 
И я удаляю переменную '__ДокСсылка'
Тогда я сохраняю в переменную "__ДокСсылка" ссылку на документ "[ВидДокумента]" с реквизитами
| Номер | '000000001' |
И я выполняю код встроенного языка на сервере без контекста с передачей переменных
"""bsl
Если Не Контекст.__ДокСсылка.Проведен Тогда
ВызватьИсключение СтрШаблон("Документ %1 не проведен!", Контекст.__ДокСсылка);
КонецЕсли;
"""


Используется этот шаг так:

И документ "Заказ" с реквизитами проведен 
| Номер | '000000018' |


Это была еженедельная рубрика #ВопросОтвет. Присылайте вопросы по теме тестирования в комментариях к постам или в личные сообщения и я постараюсь на них ответить в формате подобных постов или лично.


🦋 @QA_1C
  • 🔥 16
  • 👍 5
Post #38 908
😄😄 Секция «QA: Тестирование и качество ПО» на INFOSTART TECH EVENT 2025 обзавелась афишей

TECH EVENT традиционно имеет тематическое оформление и в этом году стилем конференции выбран ретрофутуризм. А на нашей секции, посвященной тестированию, дизайнеры тестировали промпты для генерации стилизованных афиш секций и она вышла первой. Новости кто-то минус влепил, видимо, не зашла афиша, а мне нравится.

Первый тур голосования в самом разгаре, если вы еще не голосовали — самое время. В секцию подано сейчас 24 доклада, все очень интересные, выбирать будет тяжело.

А до 13 августа все еще идет прием заявок и можно влететь во второй тур — в нем примут участие все, кто не пройдет первый, плюс те, кто подаст новые заявки к 13 августа. Голоса первого тура обнулятся и все будут в нем участвовать на равных.

➡️ Голосуем здесь: https://event.infostart.ru/2025/agenda/

➡️ Заявки подаем здесь: https://infostart.ru/poll/All_EVENT_SPEAKERS/

🦋 @QA_1C
  • 🔥 10
  • 👍 1
Post #37 892
🤔 [#ВопросОтвет] Возможно ли использовать автоматизацию тестирования без сборочной линии? Есть ли смысл?

Да, возможно. Это вопрос организации процесса в большей степени, его масштаба, ваших возможностей и целей.

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

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

Но, как уже сказал, сейчас поднятие CI-сервера не такая и страшная задача. Сегодня культиваторы инструменты CI/CD стали гораздо доступнее. Есть очень много простых и доходчивых инструкций, начиная от тех, которые описывают, как это сделать “для себя”, не имея компетенций в администрировании, до полноценных гайдов. А мы этому учим на нашем курсе «DevOps в 1С», который стартует осенью.

Это была еженедельная рубрика #ВопросОтвет. Присылайте вопросы по теме тестирования в комментариях к постам или в личные сообщения и я постараюсь на них ответить в формате подобных постов или лично.


🦋 @QA_1C
  • 🔥 7
  • 👍 4
Post #36 1.21K
➡️ Про важнейший навык тестировщика и шаблон «Имею → Делаю → Получаю → Ожидаю»

Во вторник начался очередной поток курса «Автоматизированное тестирование в 1С» традиционным вводным вебинаром. Делюсь фрагментом из него о важности навыка описывать проблему и рассказываю о шаблоне «Имею → Делаю → Получаю → Ожидаю», которому меня научил Александр Белов и который я потом, когда впервые столкнулся с языком Gherkin, увидел в форме паттерна Given/When/Then (Дано/Когда/Тогда), а потом еще и в форме паттерна AAA (Arrange/Act/Assert) из юнит-тестирования.

В оригинальной технологии Управляемого внедрения Александра шаблон «Имею → Делаю → Получаю → Ожидаю» называется «Воспроизводимый пользовательский пример» (ВПП) и концептуально и методически он очень близок к идеям Behavior Driven Development (но изобретен был исторически раньше BDD!).

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

До середины следующей недели у всех желающих еще есть возможность присоединиться к курсу. Следующий поток будет теперь только в 2026 году.

🦋 @QA_1C
  • 👍 10
  • 🔥 4
  • ❤ 2
  • 🫡 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →