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

24.07.26

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

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

Файлы

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

Наименование Скачано Купить файл
Сценарный анализ и тестирование документов "SmokeLab" (обычные формы):
.epf 122,23Kb
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.279.1

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

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

См. также

DevOps и автоматизация разработки Мониторинг Тестирование QA Программист 1С:Предприятие 8 Бесплатно (free)

Платформа 1С давно вышла за рамки учетных систем. Сегодня это полноценная среда для создания сложных, высоконагруженных и распределенных приложений. А значит, и стек технологий современного разработчика кардинально изменился. Систематизируем весь инструментарий, который превращает 1С-программиста в инженера: от EDT и Git до автотестов на YAxUnit, контейнеризации приложений в Docker, мониторинга в Prometheus и организации шины данных на Kafka. Разберемся, зачем каждый инструмент нужен, как он вписывается в жизненный цикл разработки и с чего начать его внедрение.

25.08.2026    16638    mrXoxot    49    

68

HighLoad оптимизация Тестирование QA Программист 1С 8.3 Бесплатно (free)

Шесть внешних отчётов на боевой базе крупной сети переписали за неделю. По секундомеру ускорились четыре, в акт пошли три: у одного отчёта минус тринадцать процентов оказались выбросом нагрузки прода, а не эффектом кода. Поймал это чередующийся замер до/после в одном окне, обычные три прогона с метрикой "минимум" показывали ускорение уверенно. Дальше в тексте: почему построчная сверка выхода ломается ровно на тех правках, ради которых её заводят; из чего собирается повторяемый слепок результата и почему главную работу в нём делает нормализация, а хеш только сигнализация; где слепок не берётся вовсе и его заменяет по-колоночная сверка; чем проверять пересчёт итогов, чистку данных и операции с кластером. Отдельно - гипотеза, которую замер отклонил, и честный счёт, во что вся эта дисциплина обходится.

21.08.2026    843    nedomolkov.ivan    0    

0

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

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

17.08.2026    731    user2181343    0    

1

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

Написать тест на 1С несложно. Дорого стоит привести базу в состояние, где прогон вообще стартует: семь шагов, каждый ломает запуск молча — без ошибки, без записи в журнале. И эту цену платит заново каждый новый человек на проекте. Разбираю молчаливый отказ окружения как класс проблем, показываю, почему его не закрывают ни документация, ни скрипт развёртывания, и предлагаю решение — фиксацию состояния в артефакте с машинно-проверяемым критерием приёмки. Подход проверен на сквозной задаче (первая задача экзамена «1С:Специалист по платформе» с юнит- и функциональными тестами), а затем перенесён на пул тестовых баз с типовыми конфигурациями. Отдельно — каталог симптомов и их настоящих причин, который пригодится независимо от инструментария.

13.08.2026    1026    chagbig    1    

0

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

Разбираем, как в крупных компаниях регуляторные требования, постмортемы и внутренние ограничения постепенно превращаются в многоуровневую систему инструкций, в которой разработчику все сложнее понять, что и когда нужно проверить. Показываем opensource-сервис внешних проверок для GitLab, который автоматизирует часть этой бюрократии и сводит результат к понятному сигналу: зеленое – все в порядке, красное – нужно обратить внимание на конкретное требование. Объясняем, как такие проверки помогают «сдвинуть влево» контроль задач и снизить риск отказа во внедрении задачи в последний момент перед релизом. А заодно смотрим, может ли связка Autumn + «Вино» + немного разработческого энтузиазма превратить обязательные инструкции в инструмент, который команда сама захочет развивать.

12.08.2026    938    Golovanoff    2    

3

Поиск данных Тестирование QA Программист 1С 8.3 1С 8.5 Бесплатно (free)

Как мы пришли к Юнит-тестированию и почему стоит его использовать. Использование универсальных тестов для проверки работы IS MagicInput в вашей конфигурации.

16.07.2026    2113    Evg-Lylyk    2    

5

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

Tantor Postgres 18 - масштабный релиз СУБД, за которым стоят месяцы тестирования, сотни часов нагрузочных прогонов и десятки исправлений, о которых пользователь никогда не узнает просто потому, что они были найдены и устранены до выхода версии. Александр Симонов, руководитель направления развития 1С в "Тантор Лабс", рассказывает, как устроен процесс тестирования изнутри - почему одного эталонного прогона недостаточно, что делать, когда ванильный PostgreSQL 18 ломает собственные оптимизации, и как Tantor Postgres приближается к той планке, которую MS SQL Server держал годами.

07.07.2026    1530    Tantor    2    

6

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

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

29.06.2026    3169    alexandr_yang    6    

12
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Ibrogim 1893 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, выглядит вполне логичным следующим шагом. Можно будет прикрутить, спасибо за идею.

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