Как сделать первый, но уверенный шаг в тестировании

28.10.25

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

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

Хочу начать с простой мысли: все ошибаются. Если мы занимаемся разработкой программного обеспечения и создаем что-то чуть сложнее, чем Hello, world!, ошибки неизбежны. Вопрос лишь в том, какие это ошибки.

Отношение к ошибкам часто бывает неправильным: за них могут ругать, наказывать, искать виноватых. Но на самом деле с ошибками нужно работать и разбираться в них. Даже такие гиганты, как Microsoft или Google, регулярно выпускают обновления и исправления – просто потому, что ошибок не избежать.

Начнем мы со всем знакомой картинки.

 

 

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

 

Хаотичный подход и его недостатки

 

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

 

 

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

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

 

Упорядоченный подход: использование Git и код-ревью

 

Что отличается в нашем подходе? Он не инновационный, я просто рассказываю о практиках, которые мы применяем, и они действительно работают.

Во-первых, чтобы навести порядок в коде, мы используем Git-хранилище – конвертируем проект в Git. Это дает нам новые возможности:

  • проведение код-ревью,

  • оповещение тех. архитектора о коммитах,

  • удобный и быстрый просмотр изменений,

  • обратная связь от тех. архитектора разработчику.

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

 

 

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

 

вставленный-фильм.heic

 

А так – обратная связь архитектора к разработчику: комментарии, видны участки измененного кода и обсуждение.

 

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

 

Чтобы управлять кодом, мы используем не только GitLab-хранилище, но и проводим синтаксические и статические тесты на SonarQube. Это полезно: мы видим, что коммит разработчика оформлен правильно и не содержит критичных ошибок. Но статические тесты не показывают, что код действительно работает – он может быть написан без ошибок, но при этом не выполнять нужную логику. Поэтому дальше требуется динамическое тестирование.

Для этого мы создали группу тестирования. Ребята с энтузиазмом начали использовать Vanessa Automation и сценарные тесты, но сразу столкнулись с первыми проблемами. Очень сложно выстроить эффективное взаимодействие между тестировщиком и аналитиком или консультантом. Тестировщик не знает предметную область, а консультант тратит много времени на объяснения и может неправильно понимать суть теста. В итоге тестировщик не до конца понимает бизнес-логику, а консультант – техническую часть. Из-за этого тесты получаются хрупкими и дают нерелевантные результаты. Вместо анализа результатов тестирования команда занимается исправлением ошибок падения тестов.

Выводы, которые мы сделали:

  • начинать тестирование нужно с дымовых тестов,

  • тесты должны быть независимыми.

 

Типы тестов

 

 

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

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

Мы уже обсудили, почему начинать стоит с дымовых тестов. Теперь – от чего тесты должны быть независимыми:

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

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

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

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

 

 

Что в нашем подходе отличается от того, что я показывал вначале, – это этап, который называется предпрод.

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

 

Автоматизация рутины и дашборд релизов

 

Все, что мы делаем, направлено на избавление от рутинных задач.

 

 

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

 

вставленный-фильм.heic

 

Если открыть проект, можно увидеть его настройки, все данные, обновить копию до нужного релиза и просмотреть статистику по времени обновления базы.

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

 

 

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

 

 

Тестирование мы начинаем без захода в обработки или саму 1С, потому что создали шаблон тестового прогона и разместили его в репозитории на GitLab.

В репозитории содержатся:

  • настройки дымовых тестов – параметры тестирования и настройки среды (в какой базе, под каким пользователем и т.д. выполняются тесты);

  • настройки сценарных тестов – где они применяются, а также feature-файлы, содержащие сами сценарии тестирования;

  • YML-файл GitLab, который позволяет использовать механизмы автоматизации GitLab (о них я расскажу ниже);

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

 

Инструменты тестирования: Vanessa ADD и Vanessa Automation

 

Дымовое тестирование мы выполняем с помощью Vanessa ADD. Этот инструмент позволяет быстро получать результаты и проверять большие конфигурации.

Сценарные тесты создаются в Vanessa Automation. Здесь стоит отметить, что сценарные тесты – это сложная работа, и мы стараемся максимально атомизировать сценарии.

Например, если проверяем цепочку документов, связанных с ТМЦ, то передача материалов на склад зависит от множества других документов: заказов поставщику, ПТС, ПТУ и т.д., а также от большого числа элементов НСИ – складов, номенклатуры, цен и других справочников.

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

Кроме того, независимо от проверяемого документа, мы заранее загружаем корректные документы – ПТС, КПТУ, заказы поставщику – со всеми их движениями и ссылками. Например, в регистрах, где хранятся связи между документами, мы тоже подставляем нужные данные. Таким образом, система всегда получает все необходимые данные для теста, даже если их не было в базе изначально. Это позволяет избежать падений тестов.

 

CI/CD на GitLab и виртуальные машины

 

 

Для автоматизации с помощью GitLab мы используем пайплайн CI/CD – инструментарий, который позволяет запускать разные типы тестов отдельно друг от друга, в зависимости от их назначения. Например, отдельно запускаются дымовые тесты проверки форм, отдельно – репорт-задачи, собирающие отчеты и передающие данные в Telegram и другие системы.

 

 

Вот так выглядит скрипт для запуска дымового теста. В данном случае – это проведение документов. Мы используем стандартный язык GitLab, но на этом участке видим скрипты из командной строки. Эти скрипты говорят нам о том, что на текущий момент мы используем виртуальные машины на Windows. Для каждого проекта выделена своя виртуальная машина, на которой запускаются 1С, тест-менеджер, тест-клиент и выполняются тесты. После завершения теста виртуальная машина закрывается и ожидает следующего шага – следующего теста.

 

Отчетность и дашборд Allure

 

 

В конце, на шаге report, формируется отчет, который передает данные на другой наш дашборд.

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

 

 

Если открыть карточку проекта, можно увидеть настройки доступа к пайплайну и отчет Allure, который показывает общую успешность прохождения тестов – например, 98%.

 

 

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

Эти данные передаются разработчикам, либо они сами отслеживают отчеты и фиксируют найденные ошибки как заявки на изменения.

 

Архитектура системы и ее масштабируемость

 

 

Наш продукт работает примерно так. У нас есть репозиторий на GitLab, виртуальные машины на Windows и контейнеры Docker.

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

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

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

 

Ключевые принципы успешного тестирования

 

 

В чем секрет этого продукта? На самом деле никаких секретов нет. Успех – вещь эфемерная, но если следовать нескольким простым принципам, можно создавать действительно успешные решения:

  1. Внедрять как можно больше автоматизации и современных практик.

  2. Заниматься тестированием, как бы банально это ни звучало.

  3. Добиваться релевантных результатов своих тестов. Это особенно важно, потому что можно получить ошибки и передать их разработчикам со словами: «Все сломано, разбирайтесь». Но при этом проблема может быть не в коде, а, например, в неверной подготовке базы или в некорректно написанном тесте. Тест должен показывать именно ту ошибку, которую проверяет, а не ошибку в самом тесте.

  4. Упрощать работу с результатами для коллег. Не все готовы разбираться в том, как устроены репозитории или пайплайны GitLab. Уконсультантов и аналитиков просто нет на это времени, им важно быстро получить результат,

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

 

Типичные проблемы внедрения тестирования

 

Даже если кажется, что все делается правильно, проблемы все равно появятся. Например:

  1. Тесты написаны, все подготовлено – но ими никто не пользуется.

  2. Тестирование сложно встроить в уже отлаженный процесс непрерывной разработки и вклиниться в работу разработчиков. Это организационно непросто.

  3. Тесты могут выполняться формально: кто-то их запускает, смотрит на результаты, но не использует эти данные в работе. Результаты тестов нужно применять и анализировать.

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

 

Основные выводы

 

  1. Тестировать необходимо, потому что ошибки в системе будут всегда. Вопрос в том, как быстро вы на них реагируете и умеете ли ими управлять.

  2. Ошибка почти всегда обходится дороже, чем кажется, и чем дольше она живет в системе, тем выше ее стоимость.

  3. Правильно тестировать свой продукт сложно, но можно. Особенно на начальных этапах – войти в тестирование, как показывает практика, достаточно просто.

  4. Современные практики и инструменты значительно упрощают сам процесс и его настройку.

  5. Нужно добиваться релевантных результатов тестов – это самое важное.

  6. Пользоваться тестами должно быть удобно коллегам. Тестирование должно быть не инструментом «само в себе», а частью рабочего процесса, понятной, доступной и полезной для всех участников.

 

*************

Статья написана по итогам доклада (видео), прочитанного на конференции Анализ & Управление в ИТ-проектах.

Инфостарт Tech Event 2026

Инфостарт A&PM Event 2026

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

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

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

См. также

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

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

03.09.2026    9717    KatanaDragon511    28    

37

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

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

01.09.2026    1783    mrXoxot    6    

24

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

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

25.08.2026    19757    mrXoxot    52    

81

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

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

21.08.2026    1087    nedomolkov.ivan    0    

0

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

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

17.08.2026    919    user2181343    0    

1

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

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

13.08.2026    1246    chagbig    1    

0

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

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

12.08.2026    1120    Golovanoff    2    

3

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

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

16.07.2026    2283    Evg-Lylyk    2    

5
Для отправки сообщения требуется регистрация/авторизация