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

10.04.26

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

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

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

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

И, думаю, многим знакома ситуация, когда:

- обновили конфигурацию

- что-то поменяли в коде

- вроде всё ок

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

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

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

"вчера всё  работало, сегодня нет"

"вы что там опять обновили?"

и т.д.))

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

 

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

Да, в экосистеме 1С уже есть решения для автоматизированного тестирования, например Vanessa Automation.

Это мощный инструмент, который отлично подходит для:

  • сценарного тестирования
  • автоматизации UI
  • CI/CD

Однако в моих задачах (УПП + обычные формы) возникла другая потребность.

Мне было важно:

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

Без написания сценариев в формате BDD и без подготовки тестовых данных.


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

Vanessa — это инструмент для построения тестовых сценариев.

Мой инструмент решает другую задачу:

👉 анализ поведения реальных документов

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

  • работать с уже существующими данными
  • проверять проведение
  • анализировать изменения (до/после)
  • выявлять побочные эффекты
  • работать с обычными формами

Когда какой инструмент использовать

Эти подходы не конкурируют, а дополняют друг друга:

Vanessa Automation

  • сценарные тесты
  • автоматизация пользовательских действий
  • CI/CD

Данный инструмент

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

 

Как появился инструмент

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

Сначала идея была максимально простая:

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

И, как обычно бывает… сделал одно,  понадобилось второе, третье и понеслось 😄

 

Во что это в итоге превратилось

В итоге получился полноценный инструмент со следующими возможностями:


🔹 Автоматический подбор документов

Можно выбрать период и регистры, и инструмент сам:

  • находит документы
  • берёт по одному каждого вида
  • формирует список для проверки

 

 

🔹 Работа со сценариями

Можно:

  • задать свои сценарии
  • вручную добавить документы
  • указать условие для отбора
  • исключить лишнее

То есть это уже не просто "прогон всего подряд", а управляемая проверка.

 


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

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

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

    Форма документа открывается на 1 секунду интерактивно и сразу закрывается. Также проверяются формы списка и выбора. Вот такие бывают ситуации..


🔹 Проверка проведения/записи документов

Классика:

  • проводится / не проводится
  • текст ошибки

🔹 Сравнение изменений ДО и ПОСЛЕ

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

Инструмент:

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

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

  • что поменялось
  • где поменялось 
  • какие движения изменились

 


🔹 Проверка через COM (отдельный сеанс)

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

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

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

🔹 Выполнение программного кода

Это вообще отдельная история.

Можно задать код, который выполнится перед проведением.

 

 

Например:

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

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

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

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

То есть инструмент превращается в:

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

 

🔹 JSON-лог

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

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

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

 

 

🔹 Все настройки собраны в отдельной форме

 


Когда это реально полезно

Я использую инструмент:

👉 после обновлений

быстро понять, что сломалось

👉 перед релизом

прогнать ключевые документы

👉 при доработках

проверить, что ничего не "поехало"

👉 для приозвольной диагностики

 

Важный момент (про код)

Есть возможность выполнять произвольный код.

- Да, это мощно, но это потенциально опасно!

Поэтому:

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

Итог

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

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

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

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

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

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

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

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

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