НЕМНОГО О ТЕСТИРОВАНИИ

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

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

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

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

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

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

В ПЦ, как правило, проводятся следующие виды тестирования:

  • функциональное;
  • регрессионное;
  • нагрузочное.

При этом используются следующие инструменты тестирования:

  • симуляторы (эмуляторы) платежных систем (VISA, MasterCard, CUP);
  • самописные  скрипты на самых разных языках программирования;
  • реальные устройства (POS, ATM, различные шлюзы);
  • симуляторы (эмуляторы) независимых производителей.

Симуляторы (эмуляторы) платежных систем

Преимущества:

  • Существенным достоинством являются предъявляемые требования как к эквайерам, так и к эмитентам, поэтому здесь  очевидно, на что следует обращать внимание.
  • Поддержка симуляторов (эмуляторов) в виде документации и специализированных служб поддержки.

Недостатки:

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

Самописные  скрипты.

Преимущества:

  • Многообразие и гибкость в создании новых скриптов.
  • Ориентированность создаваемых скриптов на особенности конкретного ПЦ.

Недостатки:

  • Сложность изменения динамических данных.
  • Необходимость изучения языков написания скриптов.
  • Сложность поддержания скриптов в актуальном состоянии.

Реальные устройства.

Преимущества:

  • Неоспоримым достоинством является реалистичность и достоверность проводимых тестов.

Недостатки:

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

Симуляторы (эмуляторы) независимых производителей.

Преимущества:

  • Ориентированность на задачи конкретного заказчика.
  • Возможность поддержки.

Недостатки:

  • Подразумевает аутсорсинг и связанные с этим риски.
  • Независимый производитель не всегда вызывает доверие потенциального заказчика.

Проводимые же в настоящее время тесты в ПЦ включают следующие особенности:

    • тестирование работоспособности только тех исправлений, которые в ближайшее время планируется внедрить;

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

    • тестирование проводится сразу на производственной системе;

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

    • тестирование проводится только на реальных устройствах, потому что так считается надежнее;

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

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

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

Новые требования к работе ПЦ выдвигают и новые требования к тестированию. Основными задачами, которые должны быть решены в процессе тестирования ПЦ, являются:

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

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

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

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

Вероятно, такие программные комплексы разработаны и существуют, однако широкому кругу ПЦ они неизвестны и поэтому не используются. Именно недостаточное внимание к проблемам тестирования, недостаточная гибкость существующих средств тестирования, осознание необходимости привести процесс тестирования к единому знаменателю и вывести его на качественно новый уровень привели к  созданию программного комплекса FrontEnd Testing System компании FavorX. При создании разработчики постарались объединить самые сильные стороны остальных инструментов. В то же время комплекс не является конечным продуктом с фиксированным количеством возможностей. Это очень гибкая система, которую за счет постоянной поддержки со стороны FavorX можно настроить под актуальные задачи и потребности любого ПЦ.

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

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