Сценарный тест: быть или не быть? Методика оценки целесообразности автоматизации функциональных проверок в 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 Групповая разработка (Git, хранилище) Программист 1С:Предприятие 8 Бесплатно (free)

Четыре года в интеграторе я работал с git и EDT. Git после хранилища полюбил сразу: видно, кто и что менял. С EDT сложнее: тормозит, ошибки при обновлении ERP, автономный сервер внутри него работает только с файловой базой. На новой работе команда захотела перейти на git, я развернул EDT, и оно на второй день разрушило проект при загрузке расширения. Тогда я решил дать команде git с привычным Конфигуратором и инструмент, который за минуту доносит коммит до базы через ibcmd, вместо получасовой загрузки из файлов. На новой работе разрешили ИИ, и я написал это приложение с его помощью: от чтения документации и первого ТЗ до идей в электричке. Впервые за годы снова почувствовал себя творцом, а не закрывателем задач. По дороге приросли выгрузка, объединение и проверка конфигурации по коммитам, YAxUnit и режим MCP-сервера. В статье: схемы, скриншоты, грабли и честный список ограничений. Ссылки пока нет: хочу понять, нужно ли это кому-то, кроме меня.

03.09.2026    10541    KatanaDragon511    28    

39

Инструменты администратора БД Инструментарий разработчика Тестирование QA Системный администратор Программист Стажер 1С:Предприятие 8 Бесплатно (free)

В экосистеме 1С давно живут сотни инструментов: от Конфигуратора и Хранилища до систем тестирования, мониторинга, интеграции и CI/CD. Я собрал их в Ландшафт технологий, а теперь добавляю данные о реальном использовании. Рассказываю, как устроена карта, что показал первый опрос и почему в новой волне особенно нужны администраторы, аналитики и тестировщики.

01.09.2026    2124    mrXoxot    6    

25

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

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

25.08.2026    21050    mrXoxot    53    

82

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

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

21.08.2026    1303    nedomolkov.ivan    0    

0

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

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

17.08.2026    1079    user2181343    0    

1

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

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

13.08.2026    1451    chagbig    1    

0

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

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

12.08.2026    1298    Golovanoff    2    

4

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

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

16.07.2026    2463    Evg-Lylyk    2    

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