Как стать автором
Обновить
66.92
SimbirSoft
Лидер в разработке современных ИТ-решений на заказ

Интеграция без границ: секреты успешного сквозного тестирования в «1С»

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров883

Привет! Меня зовут Ольга и я QA-специалист SimbirSoft. На данный момент моя специализация сопрягается с тестированием платформы «1С».

Идея статьи появилась, когда ко мне обратился коллега с вопросом: что такое интеграционное тестирование «1С». Готовясь ко встрече с ним, я поняла, что это очень важный этап в работе с программой для QA-специалиста, так как процесс интеграции в «1С»:

  1. Неотъемлемая часть любого проекта

  2. Требует глубокого погружения в продукт

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

Статья поможет на этапе изучения интеграционного тестирования платформы понять, что нужно учесть при планировании тестирования, подсветить возможные узкие места и предотвратить появление критичных багов. Расширить знания QA-специалиста в платформе «1С» в целом и возможности ее интеграции в частности.

Также статья будет полезна для SDET-специалистов, тимлидов или PO проектов, где присутствует эта платформа.

Начнем с того, что такое программа «1С» и интеграционное тестирование:

Что такое «1С»?

«1С» — это группа программ для автоматизации бизнес-процессов. Она имеет две составляющие:

  1. Платформа «1С» — это программа, созданная компанией «1С». Платформа доступна пользователям и работает на основе конфигурации.

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

Платформа «1С» имеет очень широкий спектр интеграций: 

  •  поддерживает работу с различными форматами файлов (текстовые файлы, текстовые документы и т.п.);

  • поддерживает протоколы обмена и стандарты взаимодействия с другими подсистемами (XML, JSON и т. п.);

Примеры формата файлов XML, JSON
Примеры формата файлов XML, JSON
  • работает с Интернетом и электронной почтой;

Механизм выгрузки файлов во внешние системы
Механизм выгрузки файлов во внешние системы
  • поддерживает возможность создания web- и HTTP-сервисов и работу с внешними web- и HTTP-сервисами;

Пример HTTP запросов в 1С
Пример HTTP запросов в 1С
  • поддерживает доступ внешних систем к данным приложений «1С» по протоколу OData

Пример настройки синхронизации в 1С
Пример настройки синхронизации в 1С

В свою очередь интеграцию на платформе «1С» можно разделить на внутреннюю и внешнюю. Где под внутренней мы понимаем взаимодействие между распределенными информационными базами программы.

А под внешней – универсальный механизм обмена данными между системами реализованными не на платформе «1С».

Теперь разберемся с интеграционным тестированием:

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

Так что же такое интеграционное тестирование на платформе «1С»?

Интеграционное тестирование на платформе «1С» — это проверка взаимодействия различных микросервисов, модулей, подсистем между собой. Даже при корректной работе отдельных компонентов, их взаимодействие может отличаться от ожидаемого поведения системы в целом.

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

Импорт/экспорт файлов – механизм, позволяющий производить загрузку или выгрузку файлов на платформе «1С». Это может быть текстовый/ табличный файл или документ, JSON-файл.

Механизм загрузки документа во внешнюю систему
Механизм загрузки документа во внешнюю систему
Механизм выгрузки документа во внешнюю систему
Механизм выгрузки документа во внешнюю систему

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

 Механизм выгрузки документа во внешнюю систему
 Механизм выгрузки документа во внешнюю систему

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

  • передаваемые данные

  • конечное округление

  • заполнение документов в справочниках

  • создание проводок в отчетах

  • создание записей в регистрах

Рассмотрим на примере загрузки файла JSON:

Механизм загрузки документа в 1С через API
Механизм загрузки документа в 1С через API
Механизм загрузки документа в 1С через API
Механизм загрузки документа в 1С через API

И наоборот, если мы говорим про выгрузку, то будем проверять соответствие исходных данных документов из «1С» с выгруженным файлом.

Рассмотрим на примере загрузки файла xlsx:

Пример xlsx-файла для загрузки документа в 1С
Пример xlsx-файла для загрузки документа в 1С

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

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

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

Механизм работы регламентного задания
Механизм работы регламентного задания
  • Фоновое задание – это объект, в котором содержатся выполняемые действия.

Механизм работы фонового задания
Механизм работы фонового задания

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

Механизм работы регламентного задания
Механизм работы регламентного задания

Процесс тестирования будет заключаться в запуске регламентного задания → проверке выполнения → проверке отображения полученного результата:

Механизм результата запуска регламентного задания
Механизм результата запуска регламентного задания

Здесь мы можем познакомиться с новым инструментом интеграции в «1С» — 1С:Шина.

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

Подробно можно ознакомиться здесь: 1С:Шина. Наводим порядок в информационных системах компании

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

Здесь для тестирования будут задействованы разные команды разработки («1С», мобильное приложение, backend, frontend) и определяется как — е2е-тестирование или Ролевые игры.

Процесс тестирования будет заключаться в отправке информации из «1С» в другую внешнюю систему:

Механизм результата запуска регламентного задания
Механизм результата запуска регламентного задания

и получении данных внешней системой:

  • REST-интерфейс – данный механизм позволяет сформировать или модифицировать любой объект конфигурации (документ, справочник, регистр сведений и т.п). Поддерживаются форматы JSON или XML.

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

Далее мы будем проверять корректность создания либо модификации объекта конфигурации с исходным файлом. Здесь хочу обратить внимание, что REST интерфейс позволяет одновременно взаимодействовать с распределенными базами платформы «1С» и сторонними ресурсами. Соответственно, тестирование будет заключаться в проверке, полученной информации как в смежных базах, так и на сторонних ресурсах, например, электронной почты.

Рассмотрим на примере создания объекта через API-запрос:

Механизм загрузки документа в «1С» через API (Postman)
Механизм загрузки документа в «1С» через API (Postman)
Результат загрузки документа в «1С» через API (Postman)
Результат загрузки документа в «1С» через API (Postman)
  • Интеграция с банковскими решениями — данный механизм позволяет взаимодействовать с платежными системами, банковскими картами и т.д.

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

Заключение

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

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

Механизм проверки соответствия загрузки документа в 1С с исходным файлом
Механизм проверки соответствия загрузки документа в 1С с исходным файлом

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

Также здесь можно почитать о возможности автоматизации тестирования платформы «1С», которую осветили мои коллеги: 1C-проекты и тестирование: взгляд QA-специалистов

Авторские материалы для QA-специалистов мы также публикуем в наших соцсетях – ВКонтакте и Telegram.

Теги:
Хабы:
-1
Комментарии4

Публикации

Информация

Сайт
www.simbirsoft.com
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия