Сценарный анализ и тестирование документов "SmokeLab" (обычные формы)

13.05.26

Разработка - Тестирование QA

Сценарный анализ и тестирование документов "SmokeLab" (обычные формы): автоподбор документов, сценарное тестирование, анализ изменений, проверка форм и проведение, поддержка COM и JSON-логирование.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Сценарный анализ и тестирование документов "SmokeLab" (обычные формы):
.epf 103,37Kb
0 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Немного предыстории

Я давно работаю с 1С, в основном с УПП, обычные формы.

И, думаю, многим знакома ситуация, когда обновили конфигурацию, или что-то поменяли в коде "по-мелочи", и вроде всё ок...

- а потом начинается…

  • где-то документ не проводится....
  • где-то форма падает
  • где-то поменялись движения 😱😱😱
  • а где-то "всё работает", но уже не так 😅

И, конечно пользователи начинают "немножко" нервничать: 

"вчера всё  работало, сегодня нет!!!", "вы что там опять обновили???" и т.д.))

Ну в общем, вы поняли)) Все с этим сталкивались, классика жанра.

Поэтому конечно стали смотреть в сторону существующих инструментов тестирования 1С.
Казалось бы, все уже придумано до нас. Но...

Почему не подошли классические инструменты тестирования

Да, в экосистеме 1С уже есть отличные инструменты автоматизации, например Vanessa Automation. Это мощное решение для UI-сценариев, CI/CD и регрессионного тестирования.

Но у нас была немного другая задача.

Нужен был простой инструмент, который можно быстро подключить практически к любой базе и сразу начать использовать — особенно в УПП и с обычными формами.

Хотелось:

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

Без подготовки BDD-сценариев, тестовых данных и сложной инфраструктуры.

В чём отличие подхода

Vanessa Automation — это инструмент сценарного тестирования.

SmokeLab — это скорее инструмент диагностики и “дымового” тестирования конфигурации.

Он позволяет:

  • проверять запись и проведение объектов
  • анализировать изменения “до / после”
  • искать побочные эффекты
  • проверять открытие обычных форм
  • быстро прогонять реальные документы из базы

Особенно полезно после обновлений, рефакторинга и изменений проведения.

Похожий функционал есть в ИнструментахРазработчика - Тестирование Метаданных, но он очень сырой и скудный по функционалу.
 

Описание возможностей по пунктам:

 

Проверка документов, справочников


Поддерживаются все варианты записи/проведения документов и справочников, в т.ч. с откатом транзакции (безопасная проверка)


Добавлена возможность запускать тест в отдельном сеансе через COM-соединение

Это позволяет:

  • поймать ошибки, которые не видны в текущем сеансе
  • проверить поведение "как на сервере"
     


Отбор по условиям, исключение и автоматический подбор объектов для проверки

Заполнять список можно:

  • Вручную
  • Из движений указанных регистров за указанный период (автоматически)
  • Все документы из метаданных (или только проведенные)
  • Все справочники из метаданных


При заполнении будет выбрано указанное количество объектов (для документов - с учетом выбранного периода)

При помощи условия запроса (произвольная строка условия, подставляется в запрос выборки) можно ограничить выборку 



Можно также исключить лишние объекты через вкладку "Исключения"


Проверка открытия форм

Инструмент открывает формы документов и справочников и проверяет:

  • открывается ли вообще форма
  • нет ли модифицированности формы при открытии
  • нет ли ошибок при открытии

    Форма документа открывается на 1 секунду интерактивно (для того чтобы успело отработать ОбновлениеОтображения) и сразу закрывается. Также проверяются формы списка и выбора. Вот такие бывают ситуации..

 

 


Анализ изменений объектов, реквизитов и табличных частей, движений

Очень полезная штука.

Инструмент:

  • снимает состояние документа (справочника)
  • проводит (записывает)
  • сравнивает

И показывает:

  • что поменялось
  • где поменялось (реквизиты, табличные части)
  • какие движения изменились


Моделирование изменений документов

Можно задать код, который выполнится при записи объекта, и проверить его поведений (изменились ли реквизиты, движения и т.д.). Т.е. поле для экспериментов) 
Желательно конечно делать это в режиме "отката транзакции"

 

Например:

Объект.ОтражатьВБухгалтерскомУчете = Ложь;
Объект.ЗаполнитьЦены();

И посмотреть:

- как это повлияет на документ

- какие движения изменятся

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

Внимание! Выполнение произвольного кода потенциально опасно!

Поэтому:

  • включается отдельной галкой
  • лучше использовать в тестовой базе
  • и понимать, что делаешь!

 

Логирование

Всё, что происходит во время теста:

  • этапы
  • ошибки
  • документы

пишется в JSON-лог, который можно сохранить в файл.

 

Также все логи выполнения и логи ошибок сохраняются в папке обработки с разбивкой по папкам с датой.

 

Профили настроек и динамический период проверки

Есть возможность использовать профили запуска.

Можно хранить разные настройки:

  • для DEV
  • для TEST
  • для ночных прогонов
  • для быстрых проверок
  • для проверки обменов и т.д.

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

Для автоматических сценариев и регламентных запусков добавлен параметр:

ПериодПрофиля

Он позволяет задавать период не фиксированными датами, а строковым шаблоном.

Примеры:

today
yesterday
current-week
previous-week
current-month
previous-month
last-7d
last-10d
last-24h

Также поддерживается фиксированный интервал:

2026-05-01T00:00:00/2026-05-31T23:59:59

При открытии обработки или запуске регламентного задания SmokeLab автоматически:

  • анализирует ПериодПрофиля
  • рассчитывает даты
  • заполняет НачПериода и КонПериода

При этом приоритет остаётся за реальными полями дат:
если пользователь явно указал даты — они не перезаписываются.

 

Ручной, регламентный и bat-запуск

Есть возможность запускать SmokeLab как обычную внешнюю обработку, так и извне:

  • через bat/cmd
  • через конфигуратор
  • с выбором сценария
    (пример ключ запуска с указанием обработки и файла настроек:
    "/Execute "Z:\SmokeLab\SmokeLab.epf" /C "Z:\SmokeLab\settings Тест.json")

Теперь можно:

  • делать ночные проверки
  • запускать smoke после обновления
  • подключать к scheduler
  • использовать в CI/CD


     

Добавлена полноценная поддержка запуска через регламентные задания.

Для этого используются отдельные текстовые макеты:

  • НастройкиСценарияРегламентногоЗадания
  • НастройкиОповещенийРегламентногоЗадания
     

В макетах хранится JSON с настройками запуска для регламентного задания.

Это позволяет:

  • полностью запускать SmokeLab без UI
  • делать ночные прогоны
  • использовать scheduled smoke-проверки
  • выполнять автопроверку после обновлений

Ограничения регламентного режима запуска - нет проверки открытия форм документов и справочников (по понятным причинам) и режима COM-соединения (т.к. регламентное задание выполянется на сервере, в нем нет необходимости).

  

Фактически обработка уже может работать как небольшой automation runner.

 

Отправка результатов теста

Сейчас поддерживаются:

  • Email
  • Telegram
  • Yandex Messenger
  • Файловый каталог 
  • Журнал регистрации 1C

     

Плюс добавлена:

  • JSON-лог выполнения
  • отдельный лог ошибок
  • автоматическое хранение логов по датам в каталоге на диске

Пример:

logs\
|__ 2026-05-07\
|__ result_143000.json
|__ errors_143000.json

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

Настройки оповещений хранятся в отдельном файле notify.json, путь к которому прописывается в файле настроек (для регламетного задания из макетов обработки)

 

Хранение чувствительных данных через #secure

В процессе развития SmokeLab появилась проблема хранения чувствительных данных:

  • токенов Telegram
  • API-ключей Yandex Messenger
  • SMTP-паролей
  • параметров COM-подключения

Хранить такие данные в открытом виде:

  • в JSON
  • в макетах
  • в профилях

не очень хотелось.

В результате был добавлен механизм ссылок на безопасное хранилище.
Требуется наличие типового регистра сведений "БезопасноеХранилищеДанных" в конфигурации!

Теперь вместо реального значения можно указывать:

#secure:SmokeLab/TelegramBotToken
#secure:SmokeLab/SMTPPassword
#secure:SmokeLab/COMPassword
#secure:SmokeLab/COMServer
#secure:SmokeLab/COMBase

При запуске SmokeLab автоматически:

  • распознает #secure
  • получает значение из БезопасногоХранилищаДанных
  • подставляет его в настройки

В результате:

  • конфиги можно хранить в git
  • notify.json не содержит секретов
  • макеты регламентных заданий не содержат паролей в открытом виде

Итог

Изначально это был "маленький инструмент для себя".

Но в итоге получился довольно универсальный помощник, который позволяет:

  • быстро прогонять документы
  • находить ошибки
  • анализировать изменения
  • проверять формы
  • экспериментировать со сценариями

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

Если кому-то окажется полезным — буду рад и спасибо за лайк! 👍

Проверено на следующих конфигурациях и релизах:

  • Управление производственным предприятием, редакция 1.3, релизы 1.3.274.1

Вступайте в нашу телеграмм-группу Инфостарт

сценарное тестирование документов smoke test регрессионное тестирование проведение документов анализ движений дымовой тест ванесса vanessa

См. также

Тестирование QA DevOps и автоматизация разработки Программист Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Налоговый учет Платные (руб)

Автотесты 1С - готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарий – feature-файл, разработанный с помощью vanessa-automation. Запуск сценария выполняется интерактивно с помощью vanessa-automation или с помощью vanessa-runner в CI-системах. Доступно тестирование тонкого клиента. Поддерживаемые версии конфигураций 1С:Бухгалтерия предприятие 3.0 и версии КОРП: 3.0.190.11.

5368 руб.

20.01.2022    11655    48    1    

21

DevOps и автоматизация разработки Тестирование QA Программист Пользователь 1С:Предприятие 8 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Автотесты 1С - готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарий – feature-файл, разработанный с помощью vanessa-automation. Запуск сценария выполняется интерактивно с помощью vanessa-automation или с помощью vanessa-runner в CI-системах. Доступно тестирование тонкого клиента. Поддерживаемые версии конфигураций 1С:Зарплата и Управление Персоналом 3 и версии КОРП: 3.1.35.48.

5000 руб.

05.08.2024    5938    36    1    

20

Тестирование QA DevOps и автоматизация разработки Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Налоговый учет Платные (руб)

Готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарии возможно использовать как для vanessa-automation, так и для СППР. Поддерживаемые версии конфигураций ERP2 и КА2: 2.5.22.145.

5000 руб.

04.07.2022    13894    50    6    

39

Тестирование QA Бесплатно (free)

Нагрузочное тестирование 1С нельзя строить на средних значениях и одном «идеальном» сценарии: такой подход скрывает пики, блокировки, фоновые задания и реальные риски для производительности. Показываем, как собрать данные из технологического журнала, журнала регистрации и поведения пользователей, чтобы построить сценарий, близкий к работе системы в продуктиве. Разбираемся, как вариация, корреляционный анализ и APDEX помогают увидеть неравномерную нагрузку, уточнить модель и понять, какие данные влияют на производительность. А также объясняем, как корректное моделирование помогает заранее выявить проблемы, подобрать железо под реальные пики и снизить риск коллапса системы после запуска.

12.05.2026    611    gabrielyants    5    

11

Тестирование QA Программист Бесплатно (free)

Переход на Linux и PostgreSQL – серьезный этап для любой компании. Нагрузочное тестирование помогает пройти его без критических сбоев: заранее выявить узкие места, оценить поведение системы под реальной нагрузкой и снизить риск откатов после запуска. В статье разберем, почему миграция с Microsoft SQL Server и Windows на новую инфраструктуру требует отдельной проверки производительности, какие сценарии стоит включать в тест, как настраивать контур и мониторинг, как оценивать результаты и сколько времени реально занимает такой проект.

29.04.2026    575    kulmaksim    0    

3

Тестирование QA Программист Бесплатно (free)

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

20.04.2026    466    dankrav4    0    

2

Тестирование QA Программист 1С 8.3 Абонемент ($m)

Внешняя обработка позволяет генерировать автотесты.

1 стартмани

16.04.2026    513    1    Triplexx    0    

3

Тестирование QA Программист Бесплатно (free)

Создание тестовых данных для юнит- и интеграционных тестов на больших учетных системах часто оказывается самым трудозатратным этапом. Статья посвящена тому, как снять эту боль на фреймворке yaxUnit. Разбираем подходы к работе с данными (от копий баз до генерации под каждый тест) и инструменты, которые упрощают жизнь разработчику: модули-помощники, генераторы кода, макеты, фикстуры и хранение данных в коде. Учимся выстраивать контролируемую среду, ускорять подготовку сценариев и при этом сохранять читаемость и версионируемость тестовых данных. Статья будет полезна тем, кто хочет наладить воспроизводимое и удобное тестирование сложной 1С-логики, не утопая каждый раз в ручной подготовке данных.

10.04.2026    904    batsy66    0    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Ibrogim 1661 11.04.26 01:30 Сейчас в теме
в УПП на обычных формах это практически не работает
А если и работает, то:
сложно настраивать
тяжело поддерживать
не всегда ловит реальные проблемы

Моё мнение:
На УПП и обычных формах ванесса работает
1. "сложно настраивать" - спорно
2. "тяжело поддерживать" - ещё более спорно
3. "не всегда ловит реальные проблемы" - кмк зависит он того как настроили

Что можно улучшить на мой взгляд:
1.Если это, так скажем, костыль то выложить его бесплатно а не за 3см, так возможно вы найдёте тех кто попробует и возможно увидит преимущества над бесплатной и практически типовой, задокументированной, ставшей стандартом Ванессой.
2. Извините если пропустил и об этом сказано, Тесты должны удобно запускаться извне командой, как через ванесса ранер, для встройки в ci/cd пайплайн. Сделать это недолго.
3. Должна быть не просто выгрузка в json, а опять же в общепринятые форматы, чтобы можно было смотреть результат например в alure . Ну это не долго в целом завайбкодить.
Кстати. если вы как и я много времени проводите с обычными формами, то вотмоя статья про воркфлоу доработки обработок через ИИ (в том числе обычных форм). Зуб даю, что выгрузку в Аллюр в обработке можно дописать за 15 минут не трогая обработку руками.
2. kiba 75 11.04.26 09:13 Сейчас в теме
(1) Спасибо за комментарий!

По поводу Vanessa — согласен, это мощный инструмент, особенно для сценарного тестирования и CI/CD. Но здесь, скорее, речь не о том, что она “не работает”, а о том, что у меня была немного другая задача.

Мне нужно было быстро взять реальные документы из базы, прогнать их без подготовки сценариев,
и посмотреть, что с ними происходит (проведение, формы, движения)

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

По пунктам:

1. Про бесплатность
Пока выложил так, чтобы понять, есть ли интерес. Дальше буду смотреть по отклику. Поставил 1 SM))

2. CI/CD
Сейчас инструмент больше ориентирован на интерактивное использование (быстрая проверка после изменений), но возможность запуска извне действительно имеет смысл добавить.Но часть функционала можно использовать только при интерактивной работе, т.к. например косяк в обработчике ОбновлениеОтображения, приводящий к модифицированности формы документа при открытии, можно только при интерактивном открытии отловить (как раз на днях такой косяк словили). А если форма крашится при открытии, это вообще ничем не ловится, только интерактивно. Если я неправ, поправьте.

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

В целом, спасибо за обратную связь — как раз такие комментарии помогают лучше понять, куда дальше развивать инструмент!
Для отправки сообщения требуется регистрация/авторизация