Пользователи и разработчики, использующие платформу “1С: Предприятие”, часто нуждаются в проверке работоспособности своих конфигураций после обновления на последнюю версию, добавления новых функций или в других случаях. В этой статье мы рассмотрим различные механизмы тестирования конфигураций 1С, их преимущества, недостатки и отличия друг от друга.
Самый распространенный вид тестирования – это ручное тестирование. Например, после обновления конфигурации, программист вынужден проверять все возможные ситуации, которые могут возникнуть во время работы пользователя в программе, находить места возникновения ошибок и исправлять их. Этот процесс может занять от нескольких часов до нескольких дней, недель и даже месяцев в зависимости от самой конфигурации и сложности доработок, внесенных в нее.
Ручное тестирование имеет следующие особенности:
- отнимает много времени и усилий у специалистов.
- человеческий фактор, который может привести к пропуску ошибок из-за невнимательности и даже возможности внести новые ошибки.
К счастью, помимо ручного тестирования, существуют и различные механизмы тестирования на платформе «1С: Предприятие:
- Vanessa ADD
- Система Тестер для сценарного тестирования решений на базе 1С: Предприятие 8.3;
- Программный продукт «1С: Сценарное тестирование 8»;
- Программный продукт «1С: Автоматическое тестирование конфигураций».
В основе всех рассмотренных решений лежит механизм автоматизированного тестирования, встроенный в саму платформу 1С. Он используется для имитации интерактивных действий пользователей системы и проверки результатов этих действий.
Автоматизированное тестирование выполняется при помощи двух клиентских приложений и сценария тестирования.
Сценарий тестирования в «1С» является программой на встроенном языке и описывает последовательность действий, которые должны быть выполнены, а также может проверять результаты выполнения этих действий при необходимости. Для этого в языке программирования «1С» есть специальные объекты.
Менеджер тестирования – клиентское приложение, которое запускается в соответствующем режиме и служит для исполнения сценария тестирования и оценки результатов в случае необходимости.
Клиент тестирования – клиентское приложение, которое может быть толстым, тонким или веб-клиентом. Оно получает команды от менеджера тестирования, воспроизводит их и возвращает результаты выполнения этих команд.
Для написания и запуска автоматизированного теста в «1С» необходимо выполнить следующие шаги:
- Запустить первую программу 1С в режиме менеджера тестирования.
- Запустить вторую программу 1С в режиме клиента тестирования.
- Установить связь между менеджером тестирования и клиентом тестирования.
- Написать алгоритм действий на встроенном языке, который будет представлять собой автоматизированный тест. Это можно сделать двумя способами: либо написать его вручную в менеджере тестирования, либо записать свои действия на клиенте тестирования, выгрузить их в XML-файл и на его основе создать автоматизированный тест.
- Запустить алгоритм в менеджере тестирования, который будет выполнять все действия на клиенте тестирования. По завершении теста можно получить результат, который будет зафиксирован в менеджере тестирования.
Так или иначе, все решения по автоматизированному тестированию опираются на этот механизм – где-то упрощают жизнь разработчику, где-то облегчают написание тестов на более высоком уровне чем пошаговые инструкции.
Ниже рассмотрим основные программные продукты для автоматизированного тестирования на платформе 1С Предприятие.
Среди основной категории пользователей продуктов 1С, которые включают профессионалов, специалистов и подготовленных сотрудников, наибольший интерес вызывают инструменты автоматизированного тестирования, такие как “Vanessa ADD“.
Для проведения автоматизированного тестирования «Vanessa ADD»:
- рекомендуется использовать версии платформы 1С: Предприятие, начиная с 8.3.6 и выше (предпочтительно 8.3.10 и выше).
- тестируемая конфигурация может содержать как управляемые, так и обычные формы, а также находиться в режиме совместимости 8.2 или выше.
- рекомендуется использовать режим асинхронных вызовов.
“Vanessa ADD” представляет собой серьезный инструмент для тестирования. Расширенная функциональность работы с языком Gherkin позволяет вовлечь в процесс разработки аналитика, разработчика и тестировщика.
Аналитик может написать общий верхнеуровневый сценарий, который затем детализируется разработчиком с помощью экспортных сценариев, при этом практически не пишется код. Тестировщик может добавлять сценарии, которые проверяют функциональность под другим углом, и все эти сценарии могут находиться в одном feature-файле.
Особенности:
- для проведения автоматизированного тестирования необходимо сначала разработать сценарий тестирования, который может быть написан во внешней или встроенной в конфигурацию обработке, где будут последовательно описаны выполняемые шаги. Затем созданную обработку следует запустить на исполнение в менеджере тестирования.
- предполагается, что пользователь обладает достаточными навыками программирования для создания обработок.
- автоматизированное тестирование позволяет сократить время, затрачиваемое на проверку работоспособности тестируемого объекта, а также снизить нагрузку на персонал, занимающийся тестированием программного продукта.
- автоматизированное тестирование позволяет дополнительно проверять модули и блоки, смежные или влияющие на корректное функционирование тестируемых объектов, и устранить влияние “человеческого фактора” на результаты исследований.
Система Тестер – бесплатная программа для тестирования решений на базе 1С: Предприятие 8.3, управляемые формы.
Тестер – инструмент для проведения сценарного тестирования приложений, который позволяет сохранить и воспроизвести опыт программиста, который ранее был получен путем ручных проверок и тестирования.
Основным преимуществом использования Тестера является повышение качества программ без необходимости внесения значительных организационных изменений, изменений в принципах программирования или других долгосрочных инвестиций времени в выпуск новых версий продуктов. Тестер может использоваться как самостоятельный инструмент, так и в сочетании с BDD, обеспечивая платформу для разработки сложных тестов.
Особенности:
- ПО быстро и легко устанавливается, не требует для работы специальных знаний или программного обеспечения, за исключением платформы 1С.
- Тестером быстро начать пользоваться – достаточно знаний языка 1С и навыков работы с платформой. Переучиваться, учить другой язык программирования или сторонние программы не требуется.
- сфокусирован на процесс создания реальных тестов
- не требует подготовки отдельных баз и эталонных данных. Все необходимые данные можно генерировать непосредственно самими тестами
Программный продукт “1С: СЦЕНАРНОЕ ТЕСТИРОВАНИЕ 8“ представляет собой механизм тестирования, который позволяет составлять и проводить специальные тесты для проверки работоспособности любой типовой или отраслевой конфигурации 1С, как в стандартном исполнении, так и после проведенных изменений, дополнений и доработок.
Понятный интерфейс в сочетании с методикой работы программы обеспечивают возможность проведения тестирования пользователями, у которых нет навыков и знаний в программировании, но которые имеют общее представление о свойствах тестируемой конфигурации.
«1С: Сценарное тестирование 8» состоит из двух внешних обработок: одна предназначена для записи теста, вторая – для его выполнения.
Тест представляют собой набор действий, которые пользователь должен выполнить в программе, например, создание новых документов, формирование отчетов, нажатие кнопок и т.д. При автоматическом выполнении такого теста происходит имитация ввода информации пользователем. По сути, тест делает то же самое с точки зрения платформы, что и пользователь – открывает формы, заполняет поля, нажимает кнопки и т.п.
Особенности:
- для разработки тестов не требуются навыки программирования, достаточно представления о работе тестируемой конфигурации на уровне пользователя.
- позволяет писать и выполнять тесты для проверки работоспособности любой конфигурации на платформе «1С: Предприятие 8».
- для выполнения теста не требуется специальной подготовки тестируемой конфигурации.
- возможность при выполнении автоматизированного теста обойти обнаруженную ошибку вручную и продолжить выполнение теста в автоматическом режиме.
- возможность отладки шагов при записи теста.
“1С: АВТОМАТИЧЕСКОЕ ТЕСТИРОВАНИЕ КОНФИГУРАЦИЙ“ – еще один программный продукт, который позволяет выполнять поиск ошибок в конфигурациях на платформе “1С: Предприятие” редакций 8.2 и 8.3. Он предназначен для максимально полной проверки работоспособности конфигураций.
Программный продукт используется при тестировании функционала конфигурации, выходе нового релиза, тестировании после обновления, а также для проверки функционала конфигурации, которую получили после объединения нескольких конфигураций.
Программный продукт может выполнять множество типовых тестов, таких как проверка форм, сравнение движений по регистрам, проверка метаданных и др.
Особенности:
- тестирование конфигураций происходит полностью в автоматическом режиме. Участие пользователя минимально – достаточно просто запустить тестирование и затем заняться анализом выявленных ошибок
- не требует предварительного создания тестов для проверки работоспособности конфигурации 1С, они уже имеются в программе и применимы для любых конфигураций.
- можно тестировать как типовые конфигурации, так и сильно измененные.
- для запуска тестирования не требует дополнительных приложений, обработок или каких-либо сложных настроек конфигурации.
- после завершения тестирования формирует отчет о различиях и ошибках. В списке обнаруженных ошибок указывается место и контекст их возникновения (чтобы разработчику было легче их найти, воспроизвести и исправить). Также имеется возможность посмотреть время выполнения того или иного события.
- автоматически формируется отчет по списку процедур и функций, которые не удалось вызвать автоматически, с указанием возможных причин (отчет «Покрытие кода тестами»).
- после завершения тестирования выводит подробный список задач, которые должен вручную выполнить специалист для исправления ошибок.
- можно одновременно тестировать до четырех конфигураций. При этом все, кроме основной, будут считаться эталонными.
- позволяет производить сравнительный анализ производительности работы тестируемых конфигураций.
- позволяет выполнять выборочное тестирование – тестирование отдельных объектов конфигурации, запуск отдельных тестов, направленных на решение конкретных задач.
- используется для тестирования конфигураций как для версии 1С: Предприятие 8.3, так и 8.2. Кроме того, поддерживаются не только конфигурации на управляемых формах, но и конфигурации в режиме «Обычное приложение».
Однозначного фаворита среди рассмотренных решений нет – каждый инструмент имеет свои преимущества и особенности – например, Vanessa ADD может быть легко встроена в контур CI/CD, Тестер 1С из коробки имеет удобные дымовые тесты, а Автоматическое тестирование конфигураций от компании 1С при проверке генерирует задачи на исправление – готовый таск треккер. Поэтому если хотите сэкономить время на тестировании вручную – обязательно ознакомьтесь с данными программными продуктами и выберите себе подходящий!