Тестирование функциональности в 1С: Лучшие практики и подходы

Источник: Блог IBS

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

Подходы к тестированию, как и сами методы, могут быть различными. Какой из них выбрать, исходя из задачи, которая стоит перед командой? Какие особенности есть у каждого подхода? Об этом рассказали эксперты Центра тестирования группы компаний IBS.

Введение в функциональное тестирование 1С

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

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

Что такое функциональное тестирование и почему оно важно для 1С

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

Основные этапы тестирования 1С

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

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

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

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

Подходы к функциональному тестированию 1С

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

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

Мануальное тестирование: когда это эффективно

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

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

Автоматизированное тестирование: ускоряем процесс

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

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

Инструменты и ресурсы для автоматизации тестирования 1С

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

Встроенные инструменты 1С для автоматизации тестов

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

  • «1С: Тестировщик» — используется для проверки одного сценария. Удобство этого решения в простоте: для старта не требуется предварительная настройка и специальные навыки.
  • «1С: Сценарное тестирование» — одновременно выполняет тест и записывает его результаты. Благодаря понятному интерфейсу конфигурацией могут пользоваться даже неспециалисты. Достаточно иметь базовое представление о продукте, который нужно протестировать.
  • «1С: Автоматическое тестирование конфигураций» — продукт для работы с конфигурациями на платформе «1С: Предприятие» редакций 8.2 и 8.3. Участие человека при этом практически не требуется: в программе уже настроены все необходимые сценарии типовых тестов, которые позволяют максимально полно оценить работоспособность конфигурации.

Решения от 1С подходят как для опытных тестировщиков, так и для пользователей с небольшим опытом в тестировании. Синтаксис 1С русскоязычный, поэтому запросы необходимо составлять на русском языке. Эту особенность стоит учесть при работе со встроенными решениями от разработчиков.

Сторонние решения и их возможности

Самым популярным сторонним решением для тестирования 1С специалисты называют Vanessa ADD или Vanessa-automation, которые можно найти в свободном доступе.

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

Так, на начальном этапе аналитик может создать верхнеуровневый сценарий тестирования. Далее разработчик сделает его более детальным при помощи экспортных сценариев (расширение языка Turbo Gherkin, который используется в Vanessa), а тестировщик может добавить дополнительные, чтобы проверить работу продукта с другого ракурса. При этом все данные будут храниться в одном файле, что существенно упрощает работу команды.

Практическое применение 1С тестов: создание и настройка окружения

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

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

«Клиент» получает команды от «менеджера», исполняет их и возвращает результат. При этом клиентское приложение может быть толстым, тонким или веб-клиентом.

Алгоритм действий, которые необходимо проверить, можно написать вручную в «менеджере» тестирования или записать их в «клиенте», экспортировать в файл XML-формата и использовать его в качестве основы для теста.

Примеры наиболее распространенных тестов для 1С

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

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

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

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

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

Советы и лучшие практики при функциональном тестировании 1С

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

Как избегать наиболее распространенных ошибок

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

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

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

Оптимизация процесса тестирования: рекомендации

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

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

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

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

Заключение: эффективное тестирование в 1С как залог стабильности системы

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

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

Мнение эксперта в статье
Команда экспертов IBS
Сайт IBS использует cookie. Это дает нам возможность следить за корректной работой сайта, а также анализировать данные, чтобы развивать наши продукты и сервисы. Посещая сайт, вы соглашаетесь с обработкой ваших персональных данных.