Интеграция без границ: секреты успешного сквозного тестирования в «1С». 1С.. 1С. API.. 1С. API. json.. 1С. API. json. xml.. 1С. API. json. xml. Блог компании SimbirSoft.. 1С. API. json. xml. Блог компании SimbirSoft. искусственный интеллект.. 1С. API. json. xml. Блог компании SimbirSoft. искусственный интеллект. Программирование.. 1С. API. json. xml. Блог компании SimbirSoft. искусственный интеллект. Программирование. разработка.. 1С. API. json. xml. Блог компании SimbirSoft. искусственный интеллект. Программирование. разработка. Тестирование IT-систем.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Интеграция без границ: секреты успешного сквозного тестирования в «1С» - 3
  • поддерживает протоколы обмена и стандарты взаимодействия с другими подсистемами (XML, JSON и т. п.);

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

Механизм выгрузки файлов во внешние системы

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

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

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

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

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

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

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

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

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

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

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

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

Так что же такое интеграционное тестирование на платформе «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С» в другую внешнюю систему:

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

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

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

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

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

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

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

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

Механизм загрузки документа в «1С» через API (Postman)
Результат загрузки документа в «1С» через API (Postman)

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

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

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

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

Заключение

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

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

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

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

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

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

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

Автор: SSul

Источник

Rambler's Top100