Visa или MasterCard? Карту какой платежной системы выбрать? Кто на свете всех богаче? Анализ роста благосостояния в мире.

Независимое тестирование системы дистанционного банковского обслуживания

Из бесконечного потока пресс-релизов компаний, работающих на банковском рынке ИТ, сложно выделить что-то неординарное, заслуживающее особого внимания. Однако такие события все же случаются. И примером тому служит проведение московской компанией «Банк’с Софт Системс» (БСС) (www.bssys.com) независимого тестирования cистемы дистанционного банковского обслуживания ДБО BS-Client v.3.

Что же в этом особенного? Во-первых, компания БСС первой среди разработчиков систем класса «Клиент—Банк» решила провести независимый аудит своего решения, а во-вторых, то, что руководство БСС отнеслось к этому вопросу со всей серьезностью и поручило проведение работ компании независимого тестирования. Последнему моменту хочется уделить особое внимание.

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

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

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

Это и понятно: взяв за основу какой-нибудь инструментарий, ориентируясь на рекламные обещания компании — разработчика RAD-средства (Rapid Application Development — быстрая разработка приложений), в сжатые сроки создается программный продукт с главной целью — обеспечить необходимую функциональность. Это делается любой ценой, в условиях нехватки времени, ресурсов, прессинга со стороны руководства и т. п. Думаю, такая ситуация знакома многим, кто так или иначе связан с созданием программ.

В результате, когда приходит пора сдавать продукт заказчику, начинают проявляться все «прелести» инструментария и ошибки разработки. Пользователи недовольны неудобным интерфейсом; отчет, который должен выдаваться за пару секунд, готовится по десять минут и при этом так загружает SQL-сервер, установленный на компьютере последней модели, что остальные пользователи в это время ничего не могут делать вообще. Хуже, если после этого сервер «падает», и тут-то вы вспоминаете, что забыли с утра сделать резервную копию БД.

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

В чем причина такого положения? Бегло проанализировав данную область, можно назвать несколько ключевых факторов: недостаток времени, ресурсов, отсутствие методической базы разработки и внедрения ПО, неподготовленность специалистов, непредсказуемость ЦБ РФ, невысокое качество применяемого в банках коммерческого ПО. Если к первым факторам можно отнестись с благосклонностью и пониманием, ведь банк — это не программистская фирма, а ЦБ достаточно стохастичен, то качество коммерческих программ могло быть и лучше. Конечно, отечественные программы во многом превосходят западные аналоги — обычно они внедряются в конечные сроки и соответствуют российскому законодательству. Но с наступлением XXI века хочется ждать от них большего — мы ведь не в 1991 г.

Для того чтобы эффективно справиться с такой ситуацией, как раз и существуют независимое тестирование, аудит и консалтинг в области обеспечения качества. Комплекс этих услуг на Западе называют Software Testing & Quality Assurance (QA), что переводится как тестирование и обеспечение качества ПО. Его можно разделить на две части: проведение разнообразных тестовых исследований и обеспечение качества программ на основе применения современных методик разработки ПО и международных стандартов. Тестирование, в общепринятом у нас смысле, является лишь определенным и, как правило, не слишком ресурсоемким этапом работ, выполняемым на заключительной стадии создания программного продукта. Однако с точки зрения обеспечения качества тестирование играет намного более важную роль. Это может проиллюстрировать так называемая V-модель, представленная на рисунке.

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

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

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

Конечно, руководство заинтересовано в том, чтобы все эти замечательные методики были внедрены имеющимися сотрудниками (иначе за что они деньги получают?), но практика показывает, что в большинстве своем такие попытки бывают обречены на провал. Без серьезного подхода здесь не обойтись, приходится привлекать дополнительные силы, а учитывая ограниченность внутренних ресурсов, это сделать непросто. Вот почему в мире в подобных случаях обращаются к независимым QA-компаниям и консультантам и мы говорим не просто о тестировании, а о независимом тестировании как поддержке бизнеса.

Именно с целью предоставления подобного рода услуг и была два года назад создана компания Amphora Quality Technologies (AQT) (www.aqtlab.com), известная на российском рынке как «Амфора — Технологии Качества». Ядро компании составили высококвалифицированные специалисты, имеющие 5—10-летний опыт разработки, проектирования и тестирования сложных вычислительных систем, созданных на различных языках программирования. Коллектив поддержали научные работники, совершенствующие методическую базу и технологии работы с использованием последних достижений математики. Такой сплав позволил в рекордно короткие сроки стать AQT международной компанией, открыть офис в США и предлагать свои услуги по всему миру.

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

Услуги по аутсорсингу (а независимое тестирование является одним из видов аутсорсинга) давно известны и широко используются на Западе, а при решении проблемы 2000 г. приняли массовый характер. Уровень менеджмента и организации труда в наших компаниях медленно, но верно подтягивается к западному стандарту. Иначе и нельзя: на открытом рынке невозможно удержаться только за счет демпинговых цен на человеко-часы программистов, нужно нечто большее — качество. Неслучайно все более и более популярными в России становятся западные продукты для автоматизации предприятий, да и западные банковские системы имеют свою долю рынка в России.

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

После таких экспериментов трудно решиться пойти на независимое тестирование второй раз, но у компании AQT в пользу этого нашлись аргументы. Неслучайно AQT выиграла тендер, проводимый в Европе компанией Hewlett-Packard среди независимых QA-компаний, а нашими постоянными клиентами являются Informix Software и такая известная своими надежными банковскими и биржевыми серверами приложений компания, как CMA Small Systems AB.

Несомненно, что одним из поводов к более серьезному подходу к тестированию стало заключение контракта компании БСС с известным банком ING Barings на поставку новой версии системы «Банк—Клиент». Кстати, проведение независимого тестирования было хорошим аргументом в пользу выбора именно системы от БСС, а не какой-либо иной. В банке ING Barings хорошо понимают тот факт, что если в системе и существуют дефекты (а других систем, увы, в природе не бывает), то лучше о них знать. Действует золотое правило: «Предупрежден — значит вооружен». Лишняя информация не помешает, да и со стороны разработчика такой подход является более честным — заказчик должен иметь объективную картину о получаемом продукте. Тогда не будет никаких неожиданностей и разочарований. К чести разработчиков следует сказать, что после проведения независимого тестирования они дополнительно провели тщательную отладку кода и сделали предложенные для системы доработки.

Само тестирование не было поверхностным — ставилась задача выполнить наиболее полное тестирование системы. Весь цикл тестирования системы «Клиент—Банк» занял более трех месяцев. Из этого времени на проведение тестов было потрачено не более месяца, а все остальное время было посвящено подготовке к тестированию и тщательному изучению продукта с анализом исходных текстов. Что представляет собой подготовка к тестированию? Сразу следует отметить, что в компании AQТ методика проведения тестирования основана на рекомендациях известного продукта компании Rational Software — Rational Unified Process (RUP).

Наша компания всегда старалась ставить во главу угла своей политики высокое качество программных продуктов и обслуживания. В этом направлении нами проводится большая работа, и одним из важных шагов нашей деятельности стало привлечение независимого западного эксперта Amphora Quality Technologies (AQT) для тестирования наших программных продуктов. Мы не побоялись стать первыми среди российских компаний - разработчиков решений для дистанционного банковского обслуживания и проверить наши решения на прочность.

Некоторые показатели производительности системы BS-Client v.3 приводятся в таблице.Наша компания всегда старалась ставить во главу угла своей политики высокое качество программных продуктов и обслуживания. В этом направлении нами проводится большая работа, и одним из важных шагов нашей деятельности стало привлечение независимого западного эксперта Amphora Quality Technologies (AQT) для тестирования наших программных продуктов. Мы не побоялись стать первыми среди российских компаний - разработчиков решений для дистанционного банковского обслуживания и проверить наши решения на прочность.

Некоторые показатели производительности системы BS-Client v.3 приводятся в таблице.

Показатель Условия тестирования Время (не более), с
Обработка выписок: текстовый формат, выписка за один день по 1000 счетов, 100 клиентов, всего - 5000 документов. С момента появления файла с выпиской в каталоге импорта из АБС до появления всех транспортных пакетов на выходе шлюза FileGate. 20,08
Обработка одиночного п/п (платежного поручения): прием пакета, дешифрование пакета, извлечение п/п, проверка реквизитов, проверка ЭЦП, выгрузка в АБС в текстовом формате. С момента появления транспортного пакета на вход шлюза FileGate до момента появления файла выгрузки в каталоге связи с АБС. 0,12
Обработка 10 пакетов из 5 п/п каждый при поступлении в течение рабочего дня 1000 документов: прием пакетов, дешифрование пакета, извлечение п/п, проверка реквизитов, проверка ЭЦП, выгрузка в АБС в текстовом формате. С момента появления первого из 10 транспортных пакетов на вход шлюза FileGate до момента появления файла выгрузки с последним из 50 п/п в каталоге связи с АБС. 1,33
Обработка 10 пакетов из 5 п/п каждый при пиковой нагрузке - поступление в течение часа 500 документов: прием пакетов, дешифрование пакета, извлечение п/п, проверка реквизитов, проверка ЭЦП, выгрузка в АБС в текстовом формате. С момента появления первого из 10 транспортных пакетов на вход шлюза FileGate до момента появления файла выгрузки с последним из 50 п/п в каталоге связи с АБС. 1,58

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

Попов Алексей Юрьевич — генеральный директор компании «Банк'с Софт Системс»

Эта методология описывает полный жизненный цикл программного продукта, начиная от замысла и заканчивая внедрением и сопровождением. Лейтмотивом этого подхода является борьба со сложностью программных систем и повышение их качества за счет правильной организации труда. Неслучайно, что в данной методике значительная часть отведена тестированию программных продуктов. Значимость тестирования настолько высока для обеспечения качества, что в RUP тестирование выделено в один из Core Workflow — основных процессов всего цикла разработки.

Методика определяет как, когда и кто проводит тестирование, а также набор документации (артефактов в терминах RUP), которая должна готовиться в процессе тестирования. Среди основных документов можно выделить «Стратегию тестирования», «План тестирования», «Тестовую модель», «Обзор результатов тестирования». Подготовка каждого из этих документов имеет ясно выраженную цель и необходима для проведения работы с надлежащим качеством. Из всех перечисленных документов наиболее объемным является «Тестовая модель», состоящая из множества простых тестовых сценариев — так называемых тестовых прецедентов или вариантов (Test Cases).

Только для тестирования одной лишь системы дистанционного банковского обслуживания ДБО BS-Client v.3 было разработано свыше 6000 таких сценариев! Понятно, почему подготовка к выполнению тестов занимает большую часть времени. А если необходимо проверить систему несколько раз, например при внесении каких-то изменений? Тогда большинство тестовых сценариев целесообразно автоматизировать, написать соответствующие скрипты, применив специальные средства автоматизации тестирования. Это тоже занимает время, и немалое. Отсюда видно, что проведение качественного тестирования — процесс достаточно сложный и трудоемкий, не терпящий «шапкозакидательского» подхода. Впрочем, можно пойти и легким путем, предоставив проводить тестирование пользователям, но в конечном итоге стоить это будет дороже, чем проведение тестирования по канонам.

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

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

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

НОВОСТИ

27 апреля 202426 апреля 2024

Статьи, интервью, публикации