Сценарный тест: быть или не быть? Методика оценки целесообразности автоматизации функциональных проверок в 1С

27.01.26

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

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

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

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

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

  • В иерархии от простого к сложному ("дымовые -> модульные (юнит) тесты -> сценарные") сценарные тесты, как правило, самые дорогие (чем выше уровень сложности -  тем дороже тесты). И чем выше уровень сложности - тем меньше тестов стараемся делать, обязательно ориентируемся на критерии, а не покрываем все подряд;
  • Типовой функционал не покрываем тестами. Это задача и ответственность Вендора.
  • Сценарные тесты делаем только на основе тест-кейса (плана тестирования);
  • Для прозрачности и системности обязательно встраиваем тесты в СI/CD, проводим анализ результатов;
  • Храним тесты в репозитории GIT, помещаем тесты в репозиторий обязательно через код-ревью на этапе merge-request;
  • Сценарные тесты должны работать на постоянной основе (по регламенту) и в любое время (по запросу);
  • Тесты пишем на проектах сопровождения (в основном) и для стабилизированного функционала на проектах внедрения (исключения прописаны ниже);
  • Активно применяем «метод бойскаута»: при разработке нового функционала принимаем решение о покрытии этого функционала тестами (ориентируемся на критерии), к принятию решения о тестировании функциональности, внедренной ранее, всегда можно вернуться;
  • Стараемся не усложнять тесты, делаем их конкретно для текущего функционала, универсальность будем добавлять после появления новых смежных функциональных блоков;
  • Тестовые примеры стараемся делать на существующих данных, генерация тестовых данных - это дополнительные затраты (генерацию новых тестовых данных используем только при необходимости).

В процессе подготовки обоснования для принятия решения о разработки сценарных тестов принимают участие: 
- Аналитик, ответственный за задачу разработки / доработки функционального блока;
- Функциональный архитектор проекта;
- ТехЛид проекта и/или QA-инженер;
- Руководитель проекта (РП).

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

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

 

Критерии для покрытия функционала сценарными тестами:

*жирным шрифтом выделены критичные критерии. Они имеют наибольший вес в оценке и наличия даже одного критерия достаточно для принятия решения о разработке сценарного теста.

Таблица 1:

 

Критерий

Описание

Ограничения

Вес критерия (по 10 балл. шкале)

Критичный

1

Покрытие сценарными тестами разработанного функционала быстро окупается (Категория эффективности "Быстрая окупаемость", см. матрицу - таблица 4). Не требует больших трудозатрат (тест легко реализуется "кнопконажималкой")

Например, проверка печатных форм по конкретным документам, проверка формирования результатов отчетов по стабильным  данным. Зачастую в отчеты и ПФ выводятся огромные массивы данных, трудозатратно проверять их вручную. Необходимо 100%-е покрытие тестами при частом использовании этого функционала Заказчиком

 

4

Нет

2

Разработка большого функционального блока. Доработка является критичной для бизнеса Заказчика и/или имеет высокую цену ошибки. Высокий риск остановки процессов

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

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

Возможно, Функционал будет покрыт тестами только частично, про это надо помнить

10

Да

3

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

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

 

8

Да

4

Наиболее частое использование Заказчиком доработанного в рамках задачи функционала, ключевая операция

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

 

9

Да

5

Функционал с запутанной логикой, с плохой, непродуманной архитектурой (если ресурсов на ее оптимизацию нет), часто меняющийся код, ломающийся код

При  малейших доработках, как правило, всегда что-нибудь ломается, это тяжело отследить при ручном тестировании. Постоянные повторные ошибки в работе функционала, Места, где уже были баги. В таких случаях очень помогают автотесты, они сразу подсвечивают последствия этих небольших отклонений (доработок). Как правило, тест окупается достаточно быстро,  через несколько (3-5) итераций прогона.

 

8

Да

6

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

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

Рекомендуется подготовить базовый набор сценариев для покрытия тестами данного функционала.

Тесты сами по факту являются документацией, можно записывать видеоинструкции в Vanessa.

 

4

Нет

7

Нетиповой функционал, который по статистике часто ломается при обновлении на новые релизы Вендора

 

 

7

Нет

8

Покрываем тестами НОВЫЙ функционал, пока свежи знания- это займет меньше времени. 

Разработка через тестирование

 

2

Нет

9

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

 

 

1

Нет

10

Повышение лояльности пользователей, возможное снижение сервисных обращений

Есть уверенность, что на лояльность эти действия (хотя бы косвенно) повлияют и есть такая необходимость (например, после эскалации)

 

1

Нет

11

Доработки, в которых высока вероятность ошибки из - за человеческого фактора. 

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

Проверка правильности формирования отчета с результирующей таблицей в тысячи строк (при сравнении с результатами отчета в эталонной базе)

 

4

Нет

12

Подготовка теста сэкономит время уже сразу в текущей разработке — пишем сразу 

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

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

 

10

Да

Ключевые принципы:

  • Приоритет бизнес-риска: Наибольший вес (10 баллов) у критериев, связанных с критичностью для бизнеса, частотой использования и сложностью функционала.
  • Экономическая эффективность: Явное стремление избегать автоматизации там, где это дорого (например, типовой функционал) или не окупится.
  • Проактивность: Критерии предлагают задумываться о тестах на этапе постановки задачи, а не после возникновения проблем.
  • Снижение рутины: Автоматизация используется для замены долгих и скучных ручных проверок.

Введение порогового значения:

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

Рекомендации по принятию решения о разработке тестов в зависимости от набранного веса по отобранным критериям: 

Таблица 2:

< 4

нет рекомендаций, на усмотрение, по согласованию с ответственными лицами на проекте

4-5

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

6-7

рекомендуется 

> 7

строго рекомендуется

Примеры:

  1. Новый функционал (вес = 2) критичен для бизнеса (вес = 10) и часто используется (вес = 9) = 21 балл -> готовим сценарные тесты.
  2. Доработанный функционал для бизнеса некритичен (0), не часто используется (0), реализация автотестов трудозатратна (0), при этом тест легко реализуется "кнопконажималкой" (4) и каждый раз заказчик обращает на это внимание (1) = 5 -> готовим сценарные тесты.
  3. Для тестирования Нового функционала (2), требуется Повышение лояльности пользователей (1) , функционал не часто используется (0) , не очень критичен для бизнеса (0) = 3 балла -> сценарные тесты не готовим.

 

Чек-лист (алгоритм принятия решения):

Порядок оценки:
ШАГ 1 → Проверить Cтоп-сигналы
Если хоть один пункт подходит - тест не разрабатываем. Дальше не идем.

ШАГ 2 → Проверить ключевые критерии
Если есть хоть один - подготовка теста строго рекомендована.

Обязательно проверяем категорию эффективности по матрице окупаемости (таблица 4). Если тест относится к категории "Сомнительная ценность", то требуется дополнительное обсуждение с ответственными лицами проекта.

ШАГ 3→ Оценка второстепенных критериев
Обращаемся к Скорингу, если в Шаге 2 нет критических критериев. Считаем баллы, принимаем решение по таблице.

Обязательно проверяем Категорию эффективности по матрице окупаемости (таблица 4), если относится к категории "Сомнительная ценность", то требуется дополнительное обсуждение с ответственными лицами проекта.

Пример принятия решения о разработке сценарного теста:

Тест: Отчет "Справка-расчет амортизации ОС" формируется без ошибок, результат соответствует эталону.

  • Cтоп-сигналы: отсутствуют;
  • Ключевые критерии: отсутствуют;
  • Прочие критерии:

Таблица 3:

п.п. Критерий Оценка

1

№1 Покрытие сценарными тестами разработанного функционала не требует больших трудозатрат

4
2

№7 Нетиповой функционал, который по статистике часто ломается при обновлении на новые релизы Вендора

7
3

№11 Доработки, в которых высока вероятность ошибки из - за человеческого фактора. 

4
  Суммарный вес: 15

Вывод: по набранному суммарному весу (15 баллов) и матрице окупаемости (категория "Быстрая окупаемость") принимается решение о разработке функционального теста.

 

Матрица окупаемости сценарных тестов:

Таблица 4:

Категория окупаемости Коэффициент = Время подготовки теста / Время ручного тестирования (1 проверка)  Пример
Быстрая окупаемость

< 5

Время подготовки автотеста * = 4 ч.,
1 ручная проверка = 2 ч.,
Коэфф. = 2 (окупаемость за  2 проверки **)
Cредняя окупаемость (Умеренная выгода)

5-10

Время подготовки автотеста * = 12 ч.,
1 ручная проверка = 2 ч.,
Коэфф. = 6 (окупаемость за  6 проверок **)
Долгая окупаемость (Долгосрочные инвестиции)

10-25

Время подготовки автотеста * = 20 ч.,
1 ручная проверка = 1 ч.,
Коэфф. = 20 (окупаемость за  20 проверок **)
Сомнительная ценность

> 25

Время подготовки автотеста * = 100 ч., 1 ручная проверка = 2 ч.,
Коэфф. = 50 (окупаемость за  50 проверок **)

*    - Время подготовки автотеста - это время подготовки сценарного теста "под ключ" (от постановки до завершения приемочных проверок);
**  - Одна проверка - это один тестовый прогон по сценарию в базе контура Dev, Test или PreProd.

 

Заключение:

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

  • Обучение ключевых сотрудников проектных команд разработке и анализу результатов сценарных тестов (свой мини-курс);
  • Подготовка командных правил работы со сценарными тестами (экспортные сценарии, правила именования, количество тестов);
  • Определить и согласовать роли (ответственных) при подготовке, использовании и сопровождении сценарных тестов на проектах;
  • Составить общую матрицу покрытия сценарными тестами функционала (какие процессы уже покрыты, какие нет) на проектах.

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

Благодарим за интерес к публикации.

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

сценарное тестирование методика

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

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

См. также

Инструментарий разработчика Нейросети DevOps и автоматизация разработки Тестирование QA Разработчик 1С 8.3 Бесплатно (free)

Открытый набор правил и скриптов на GitHub для ИИ-агента (агента искусственного интеллекта: Claude Code, Codex и других). Агент сам снимает опись машины, предлагает путь проверки кода: плагин Unica или BSL Language Server со справкой платформы. С вашего «да» ставит недостающее, затем выгружает внешнюю обработку, заводит git и доводит её до зелёного теста YAxUnit. Оба пути проверены с нуля свежим агентом на копии демобазы «Управление торговлей» 11.5, платформа 8.3.27. Новая часть: для задач по данным базы агент выгружает конфигурацию в XML, строит карту объектов и пишет запросы только по именам, найденным в выгрузке. Внутри гайд «Unica на Windows» с известными ошибками и проверенными обходами.

10.11.2026    507    Iliaelagin    0    

1

Тестирование QA Разработчик 1С:Предприятие 8 Бесплатно (free)

Когда полная сборка автотестов занимает полчаса, даже небольшая автоматизация может изменить рабочий процесс. Рассказываю, как Python-утилита Phase Switcher постепенно превратилась в KOT for 1C — open-source расширение для VS Code. KOT 3.0 объединяет в одной рабочей среде библиотеку шагов и сценариев, IntelliSense, поддержку СППР и самостоятельных feature Vanessa Automation, исследователь форм, запись действий и управление выполнением через MCP. В статье — история разработки проекта от небольшой Python-утилиты до расширения для VS Code, практические примеры, неудачные эксперименты и решения, которые помогли инструменту прижиться в нашей команде.

02.11.2026    486    alexiosus    0    

2

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

Резкий рост числа пользователей, консолидация систем или миграция в облако требуют заранее понять, выдержит ли инфраструктура новую нагрузку. Рассказываем, как с помощью LLM команда за 16 недель подготовила и провела нагрузочные тесты для шести баз: автоматизировала анализ технологических журналов и журналов регистрации, формирование реалистичных сценариев и создание обработок для «1С:Тест-центра» и JMeter. Показываем, как оркестратор, AI-агенты и MCP-серверы помогают сократить объем ручной работы, а также объясняем, почему контроль со стороны 1С-эксперта по-прежнему остается обязательным. Разбираем архитектуру решения, уже работающие инструменты и направления дальнейшей автоматизации нагрузочного тестирования.

31.10.2026    536    gabrielyants    0    

5

Инструментарий разработчика Тестирование QA Разработчик Стажер 1С 8.3 Абонемент ($m)

Проверила пять пакетных команд платформы 8.3.27 на контрольном расширении Нано-УТ: они обнаружили 4 из 28 заложенных пунктов. В набор входят ошибки применимости, предупреждения и сведения для ручного разбора. Проверка XML-выгрузки отметила все 28 пунктов и 15 из 15 на похожем слепом наборе. Показываю журналы, ограничения и сценарий обновления основной конфигурации. Прилагаются инструмент с 69 тестами и материалы опыта.

7 стартмани

28.10.2026    400    Ninel_S    2    

2

Инструментарий разработчика Мобильная разработка Тестирование QA Разработчик 1С 8.3 Абонемент ($m)

Скрипт form_diff_mobile.py сравнивает две выгрузки конфигурации 1С и показывает, что в формах удалено и переименовано, где на это ещё ссылаются и какой код попадает в мобильные контексты. На «Нано-УТ 2.0» сделано 13 изменений форм: платформа 8.3.27.2130 отметила 7, в остальных шести промолчала, и в четырёх из них скрипт нашёл обращение к удалённому элементу, строку с прежним именем формы, смену директивы или выход формы из мобильной области. На чистой УТ 11.5 сравнение с копией дало 0 находок, а с копией с пятью правками ровно семь. В архивах скрипт, 74 теста, стенд, чек-лист выпуска, журнал выпуска и скрипты опытов на платформе.

7 стартмани

27.10.2026    356    Ninel_S    0    

1

Тестирование QA Разработчик 1С 8.3 Абонемент ($m)

Прогнала через 1С 8.3.27 и валидатор .NET 21 файл XML по одной схеме: базовый пример и типичные отклонения. Вердикты совпали в 20 случаях (у .NET включены предупреждения), дата без времени дала расхождение. В архиве - схема, тесты, закреплённая версия учебной базы и исправленный сценарий проверки, включая выгрузку и обратное чтение 30 продаж.

1 стартмани

26.10.2026    345    Ninel_S    0    

1

Рефакторинг и качество кода Тестирование QA Системный администратор Разработчик 1С 8.3 Абонемент ($m)

В базе 1С на PostgreSQL копятся индексы, которыми никто не пользуется: их создаёт флажок «Индексировать» у реквизитов или их добавляют вручную. Каждый такой индекс замедляет запись: в опыте на тестовой таблице восемь лишних индексов сделали вставку 300 000 строк в четыре-шесть раз дольше. Скрипт на Python смотрит статистику PostgreSQL и показывает, какие индексы ни разу не использовались и какой реквизит 1С их создал. На нашей конфигурации «Нано-УТ» он нашёл четыре ненужных индекса документа и один дубль, добавленный вручную. После того как я сняла флажки и обновила конфигурацию, индексов стало 227 вместо 234, данные не пострадали. В архиве скрипт, запросы и примеры.

5 стартмани

23.10.2026    511    Ninel_S    4    

1

Рефакторинг и качество кода Тестирование QA Разработчик 1С 8.3 Абонемент ($m)

Скрипт, который должен был проверять код 1С в Docker, на деле проверял только, что файл не пустой: из 11 модулей с ошибками он пропустил все. Я переписала проверку и сравнила её с самой 1С на тех же 11 модулях из нашей конфигурации «Нано-УТ». Новый скрипт нашёл незакрытые «Если», процедуры и скобки в 10 случаях из 11. Вызов несуществующей процедуры находит только сама 1С. В архиве скрипт, файлы для Docker, примеры с ошибками и журналы проверки.

5 стартмани

23.10.2026    500    Ninel_S    4    

0
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. partizand 146 21.05.26 11:37 Сейчас в теме
Добрый день!
Здравый подход. Согласен, методик очень мало
А можете ли подсказать по какой методике вы непосредственно пишите сценарные тесты?
Пытаюсь понять как построить сценарное тестирование на Vanessa Automation.
Мне для подготовки данных теста, нужно будет создавать одни и те же объекты в разных тестах. Например, контрагентов создавать для разных сценариев. Это же должна быть какая-то общая функция для всех тестов, иначе изменение формы контрагента сломает множество тестов и придется править в разных местах одно и то же. Не могу найти что-то подобное в ванессе.
Мне ближе подход, что тест сам должен свои данные готовить...
2. vladimir_iclsoft 77 05.06.26 17:40 Сейчас в теме
День добрый!
Спасибо за оценку.
Собственной методики для написания автотестов у нас нет, ведь все есть в документации первоисточника (за это огромное спасибо разработчикам замечательного инструмента).
Дополнительно изучаем опыт коллег - читаем статьи на Инфостарте и смотрим видео с докладами. Много ссылок на полезные материалы и в разделе с документацией (по ссылке выше).
В вашем случае для создания одних и тех же объектов для разных тестов имеет смысл разработать подсценарий (чаще встречается - экспортный сценарий), шаг которого вы будете вызывать из всех основных сценариев. В таком случае при изменениях в справочнике вам достаточно поправить только один экспортный сценарий. В документации к Ванессе про подсценарии можно почитать здесь, Глава 3 Раздел 4.
Успехов!
Для отправки сообщения требуется регистрация/авторизация