Разработка и Конфигурация · 10 мин
Что такое тестирование в 1С и как его проводить
Что такое тестирование в 1С: виды проверок, типовые инструменты платформы, порядок тестирования доработок и обновлений, типичные ошибки и контроль результата.
Тестирование в 1С — это проверка того, что конфигурация, доработка или обновление работают так, как задумано, и не ломают существующий учёт. Оно нужно перед любым изменением рабочей базы: установкой обновления, внедрением расширения, доработкой документа или отчёта. Без тестирования ошибка обнаруживается уже в боевой базе — в виде неверных проводок, непроведённых документов или повреждённых данных, восстановление которых стоит дороже самой проверки.
Специфика 1С в том, что система работает с живыми учётными данными: остатками, взаиморасчётами, регламентированной отчётностью. Поэтому тестирование здесь — не абстрактная проверка кода, а прогон реальных хозяйственных сценариев на копии базы: создать документ, провести его, закрыть месяц, сформировать отчёт и сверить результат с ожидаемым.
Тестированием занимаются разные роли: разработчик проверяет свой код, внедренец — бизнес-процесс целиком, ключевой пользователь — удобство и соответствие реальной работе. В небольших компаниях все эти роли часто совмещает один специалист, что повышает риск «слепых зон»: автор доработки редко находит собственные ошибки.
Какие задачи решает тестирование в 1С
Первая задача — функциональная корректность: документ проводится, движения по регистрам формируются правильно, отчёт показывает ожидаемые цифры. Вторая — регрессионная безопасность: новая доработка не сломала то, что работало раньше. Третья — соответствие требованиям: поведение системы совпадает с тем, что заказывал бизнес, а не с тем, как понял задачу разработчик.
Отдельная задача — проверка обновлений типовых конфигураций. Даже штатное обновление от вендора может конфликтовать с доработками, расширениями и нестандартными настройками. Поэтому обновление принято сначала разворачивать на копии и прогонять ключевые операции.
Основные виды тестирования в 1С
На практике виды тестирования различаются по тому, что именно проверяется и кем. Один и тот же релиз обычно проходит несколько видов проверок подряд — от кода до приёмки пользователем.
| Вид | Что проверяет | Кто выполняет |
|---|---|---|
| Модульное (юнит) | Отдельные функции и процедуры | Разработчик |
| Функциональное | Сценарий целиком: документ → проведение → отчёт | Тестировщик, внедренец |
| Регрессионное | Работоспособность старого функционала после изменений | Тестировщик |
| Интеграционное | Обмены с другими системами: сайт, банк, ЭДО, CRM | Интегратор, разработчик |
| Нагрузочное | Скорость и устойчивость при большом числе пользователей и данных | Администратор, разработчик |
| Приёмочное (UAT) | Соответствие реальным бизнес-процессам | Ключевые пользователи |
Тестирование и исправление информационной базы
Отдельно стоит штатный механизм «Тестирование и исправление» в конфигураторе. Это не тестирование в смысле проверки логики, а диагностика физической целостности базы: проверка ссылочной целостности, пересчёт итогов, реиндексация таблиц. Его запускают при подозрении на повреждение данных или как профилактическую меру, обязательно на копии и в монопольном режиме.
Инструменты: от встроенных до внешних фреймворков
Базовый уровень — средства самой платформы: отладчик конфигуратора, синтаксический контроль модулей, замер производительности, технологический журнал для анализа ошибок и медленных запросов. Этого достаточно для ручной проверки небольших доработок.
Для автоматизированного тестирования используются специализированные решения: Vanessa Automation для сценарных тестов на языке Gherkin, xUnitFor1C для модульных тестов, инструменты нагрузочного тестирования вроде Тест-центра из комплекта КИП. Они позволяют записывать сценарии один раз и прогонять их после каждого изменения.
Сравнение подходов
Подходит для разовых доработок и приёмки пользователями. Ограничение: медленно, зависит от внимательности, не масштабируется на регрессию.
Подходят для регулярных регрессионных прогонов и крупных внедрений. Ограничение: требуют времени на разработку и поддержку сценариев.
Отладчик, замер производительности, технологический журнал — для диагностики конкретных проблем. Не заменяют полноценную проверку бизнес-сценариев.
Как организовать процесс: тестовая среда и порядок работы
Главное правило — тестировать только на копии рабочей базы. Копия должна быть достаточно свежей, чтобы данные в ней отражали реальную ситуацию: актуальные остатки, настройки, права пользователей. Тестирование на пустой или устаревшей базе даёт ложную уверенность: сценарий проходит, а на реальных данных падает.
Типовой цикл выглядит так: разработчик дорабатывает функционал и проверяет его локально, затем изменения переносятся в тестовую копию, где прогоняются сценарии, после чего ключевой пользователь подтверждает приёмку, и только потом доработка попадает в рабочую базу — желательно в нерабочее время и с резервной копией перед обновлением.
- 1Сделайте копию рабочей базы и разверните её как тестовую
- 2Перенесите доработку в тестовую базу и обновите конфигурацию
- 3Прогоните основной сценарий: создайте документ, проведите, проверьте движения и отчёты
- 4Прогоните смежные сценарии, которые доработка могла затронуть (регрессия)
- 5Проверьте работу под правами реальных пользователей, а не только под полными
- 6Получите подтверждение ключевого пользователя и только после этого переносите в рабочую базу
Как проверить результат и не пропустить ошибку
Проверка должна опираться на контрольные точки, а не на общее впечатление «вроде работает». Для учётных доработок эталоном служат цифры: обороты по регистрам, итоги отчётов, результаты закрытия месяца до и после изменения. Расхождение даже в копейках — повод разбираться, а не списывать на округление.
Полезно фиксировать эталонные результаты до внесения изменений: сформировать ключевые отчёты на копии базы, сохранить их, а после наката доработки сформировать те же отчёты и сравнить. Такой простой приём выявляет большинство регрессионных проблем без специальных инструментов.
Как проверить результат
Набор и суммы записей соответствуют ожидаемой логике
Лишние, отсутствующие или задвоенные записи
Итоги совпадают или отличаются объяснимо
Необъяснимые расхождения в суммах и остатках
Пользователь выполняет сценарий без ошибок доступа
Ошибки «Нарушение прав доступа» или пустые данные
Документы в закрытом периоде корректно блокируются
Изменение прошлых периодов без контроля
Типичные ошибки и ограничения
Самая частая ошибка — тестирование под полными правами. Разработчик и администратор видят всё, а рядовой пользователь упирается в ограничения RLS и роли. Вторая ошибка — проверка только «счастливого пути»: документ заполнен идеально, все данные на месте. Реальная работа включает незаполненные реквизиты, отмены проведения, перепроведение задним числом, и именно там всплывают дефекты.
Третья группа ошибок связана со средой: тестовая база устарела на полгода, в ней не работают обмены, а регламентные задания отключены. Интеграционные механизмы при этом проверяются «в уме», а ломаются в продакшене. Для обменов стоит поддерживать отдельный тестовый контур с тестовыми же контурами смежных систем.
Когда достаточно ручной проверки, а когда нужна автоматизация
Ручной проверки достаточно для разовых мелких доработок: новая печатная форма, дополнительный реквизит, простой отчёт. Автоматизация окупается, когда конфигурация сильно доработана, обновления выходят регулярно, а регрессионный прогон вручную занимает дни. Тогда сценарии в Vanessa Automation или модульные тесты сокращают проверку до часов.
Как выбрать подход
Удобно вести постоянный чек-лист критичных операций компании: выписка реализации, закрытие смены, начисление зарплаты, закрытие месяца. Перед любым обновлением достаточно прогнать этот список — это закрывает большую часть рисков без сложной инфраструктуры тестирования.
Частые вопросы
Можно ли тестировать сразу в рабочей базе, если доработка небольшая?
Нежелательно даже для мелких изменений. Любая доработка, затрагивающая проведение документов или регистры, способна повлиять на учётные данные. Копия базы создаётся за минуты, а восстановление испорченных данных может занять дни. Исключение — чисто интерфейсные изменения вроде подписи в печатной форме, и то после проверки на копии.
Чем «Тестирование и исправление» отличается от обычного тестирования?
Это разные вещи. «Тестирование и исправление» в конфигураторе — утилита диагностики физической целостности базы: ссылочная целостность, итоги, индексы. Тестирование доработок — проверка логики и бизнес-сценариев. Первое лечит повреждения данных, второе предотвращает ошибки в поведении системы.
Кто должен проводить приёмочное тестирование?
Ключевые пользователи — те, кто реально работает с процессом: бухгалтер для учётных доработок, кладовщик для складских. Разработчик не может быть единственным проверяющим, потому что проверяет соответствие своему пониманию задачи, а не реальному процессу.
Нужно ли тестировать штатные обновления типовой конфигурации?
Да, особенно если есть расширения, доработки или нестандартные настройки. Обновление может изменить объекты, на которые опираются ваши доработки. Минимальный набор — развернуть обновление на копии, прогнать критичные операции и проверить работу расширений.
С чего начать автоматизацию тестирования, если её никогда не было?
Начните с одного-двух самых критичных сценариев, например полного цикла продажи от заказа до оплаты, и запишите их в Vanessa Automation. Не пытайтесь покрыть всё сразу: ценность дают даже несколько стабильных сценариев, которые запускаются перед каждым обновлением.
Что важно запомнить
Тестирование в 1С — обязательный этап перед любым изменением рабочей базы. Проверяйте доработки на свежей копии, под правами реальных пользователей, со сверкой отчётов до и после. Ручной проверки достаточно для мелких задач; при регулярных обновлениях и большом объёме доработок переходите к автоматизированным сценариям.