Первый банковский!: Независимое тестирование системы дист. банк. обслуживания - Первый банковский!

Перейти к содержимому

Правила конференции

Внимание! Ответственность за содержание публикуемых материалов лежит целиком на авторах статей.
Мнение Администрации сайта может не совпадать с мнениями авторов публикаций.
Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Независимое тестирование системы дист. банк. обслуживания Статья предоставлена компанией "Банк'с Софт Системс" Оценка: -----

#1 Пользователь офлайн   Admin 

  • Стажер
  • Группа: Топ-менеджмент
  • Сообщений: 27
  • Регистрация: 25 June 02

Отправлено 23 October 2001 - 10:45

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



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

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

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

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

  При этом под "аномалиями" следует понимать весьма широкий спектр проблем. В простейшем случае это просто банальные ошибки программирования, приводящие ко всем знакомым GPF. Но это могут быть и более сложные проблемы в ПО, которое кажется с первого взгляда вполне неплохим. Например, это может быть неприемлемая производительность некоторых операций, низкая надёжность работы, неудобный пользовательский интерфейс, наличие брешей в системе безопасности. Такие вопросы обычно начинают беспокоить разработчиков ПО не в первую очередь. Это и понятно, взяв за основу какой-нибудь инструментарий, положившись на рекламные обещания компании разработчика RAD средства, в сжатые сроки создаётся программный продукт с главной целью обеспечить необходимую функциональность. Это делается любой ценой, в условиях нехватки времени, ресурсов, прессинга со стороны руководства и т.п. Думаю, такая ситуация знакома многим, кто так или иначе связан с созданием программ. В результате, когда приходит пора сдавать продукт заказчику, начинают проявляться все "прелести" инструментария и ошибки разработки. Пользователи недовольны неудобным интерфейсом, отчёт, который должен выдаваться за пару секунд, готовится по десять минут и при этом так загружает SQL сервер установленный на компьютере последней модели, что остальные пользователи в это время ничего не могут делать вообще. Хуже, если после этого сервер "падает", и тут-то вы вспоминаете, что забыли с утра сделать резервную копию БД.  Знакомо? Возможно, я утрирую, но мой многолетний опыт общения с сотрудниками отделов автоматизации банков рисует именно такую картину. И если вы не проводили бессонных ночей в серверной при подготовке годовой отчётности, то вам откровенно повезло: либо у вас давно и грамотно налажено управление автоматизацией, и вы пользуетесь только отлаженным ПО, либо объёмы обрабатываемой информации не столь велики. Увы, идеализированная ситуация всё ещё не типична для российских банков. В чём причина такого положения? Бегло охватив область, можно назвать несколько ключевых факторов: недостаток времени, ресурсов, отсутствие методической базы разработки и внедрения ПО, неподготовленность специалистов, непредсказуемость ЦБ, невысокое качество применяемого в банках коммерческого ПО. Если к первым факторам можно отнестись с благосклонностью и пониманием - банк это не программистская фирма, а ЦБ достаточно стохастичен, то качество коммерческих программ могло бы быть и лучше. Конечно, отечественные программы во многом превосходят западные аналоги - обычно они внедряются в конечные сроки и соответствуют Российскому законодательству, но с наступлением XXI века хочется ждать от них большего, мы ведь не в 1991 году.

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

Изображение

  Мы можем видеть, что элементы тестирования сопутствуют разработке программ на каждом этапе их жизненного цикла. Только обычно вместо "тестирования"  или "верификации" применяются несколько другие названия и термины:  Аудит, Анализ приемлемости, Системный анализ, Анализ интеграции и пр. Именно проведение такого "тестирования" на всех этапах и даёт "убойный" кумулятивный эффект: при проведении очередного проекта можно уложиться и в сроки и в бюджет, а пользователи окажутся в конце концов довольны готовой программой. Отсюда и следует, что тестирование - необходимая поддержка бизнеса. Именно в проведении такого рода кропотливой работы и могут помочь независимые QA компании. Грамотная постановка процесса производства, контроль качества на каждом этапе и профессиональное тестирование сделают своё дело. Повысится самооценка участников проекта, наверняка разработчики получат премию, и, более того, удовлетворение от хорошо сделанной работы. Не к этому ли мы все стремимся? Конечно, чуда как в сказке не произойдёт, предстоит достаточно большая работа, но цель, как мне, да к счастью не только мне, кажется, оправдывает вложения средств и потраченные усилия.  Естественно, коль скоро мы говорим об усилиях, они могут показаться чрезмерными, как только мы представим себе весь фронт работ. Это и понятно, сделать революцию в производстве или даже простую модернизацию силами одних и тех же людей, которые изо дня в день заняты своей рутинной работой практически невозможно. Конечно, руководство заинтересовано в том, чтобы все эти замечательные методики были внедрены имеющимися сотрудниками (иначе, за что они деньги получают?), но практика показывает, что в большинстве своём такие попытки бывают обречены на провал. Без серьёзного подхода здесь не обойтись, приходится привлекать дополнительные силы. А учитывая ограниченность внутренних ресурсов это сделать непросто. Вот почему в мире в подобных случаях обращаются к независимым SQA компаниям и консультантам. Вот почему мы говорим не просто о тестировании, а о независимом тестировании, как поддержке бизнеса.

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

  Нет ничего удивительного в том, что услуги по независимому тестированию стали востребованы с момента своего появления на Российском рынке. Безусловно, возможность применения внешнего тестирования определяется уровнем зрелости предприятия, налаженности работы с субподрядчиками. Поэтому в первую очередь независимым тестированием пользуются либо западные компании, либо их представительства в России. Услуги по аутсорсингу (а независимое тестирование является одним из видов аутсорсинга) давно знакомы и широко используются на Западе, а при решении проблемы 2000 года приняли массовый характер. Уровень менеджмента и организации труда в наших компаниях медленно, но верно подтягивается к Западному. Иначе и нельзя: на открытом рынке невозможно удержаться только за счёт демпинговых цен на человеко-часы программистов, нужно нечто большее - КАЧЕСТВО. Неспроста всё более и более популярными в России становятся западные продукты для автоматизации предприятий, да и западные банковские системы имеют свою долю рынка в России. Здесь есть о чём задуматься. Видимо подобными соображениями и был обусловлен выбор компании "Банк'с Софт Системс", одной из первых на Российском рынке решивших подвергнуть линейку своих продуктов независимому тестированию. Надо сказать, что эта мысль появилась в БСС уже достаточно давно, но трудно было найти подходящего кандидата, которому можно было бы доверить подобную работу. За тестирование готовы были взяться многие, но далеко не все могли обеспечить должный уровень качества выполнения работ. Почему-то за тестирование берутся те, у кого не получилось программировать, но им кажется, что с тестированием-то удастся справиться. Странно, не правда ли? Отсюда и высокий уровень разочарования в тестировщиках тех, кто в первый раз попробовал провести аутсорсинг тестирования. После таких "экспериментов" трудно решиться пойти на независимое тестирование второй раз, но в компании Амфора - Технологии Качества в пользу этого нашлись аргументы. Не случайно AQT выиграла тендер, проводимый в Европе HP среди независимых SQA компаний, а нашими постоянными клиентами являются Informix Software и такая известная своими надёжными банковскими и биржевыми серверами приложений компания, как CMA Small Systems AB. Несомненно, что одним из поводов к более серьёзному подходу к тестированию стало заключение контракта компании "Банк'с Софт Системс" с известным банком ING Barrings Bank на поставку новой версии системы Банк-Клиент. Кстати, проведение независимого тестирования было хорошим аргументом в пользу выбора именно системы от БСС, а не какой-либо иной. В ING Bank хорошо понимают тот факт, что если в системе и существуют дефекты (а других систем, увы, в природе не бывает), то лучше о них знать. Действует золотое правило: "предупрежден, значит вооружён", лишняя информация не помешает. Да и со стороны разработчика такой подход является более честным - заказчик должен иметь объективную картину о получаемом продукте. Тогда не будет никаких неожиданностей и разочарований. К чести разработчиков следует сказать, что после проведения независимого тестирования они дополнительно провели тщательную отладку кода и сделали предложенные для системы доработки.

  А само тестирование было не поверхностным - ставилась задача выполнить наиболее полное тестирование системы. Весь цикл тестирования системы Клиент-Банк занял более 3 месяцев. Из этого времени на проведение тестов было потрачено не более месяца, а всё остальное время было посвящено подготовке к тестированию и тщательному изучению продукта с анализом исходных текстов. Что представляет из себя подготовка к тестированию? Сразу следует отметить, что в компании Амфора - Технологии Качества методика проведения тестирования основана на рекомендациях известного продукта компании Rational Software - Rational Unified Process.




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

ПоказательУсловия тестированияВремя, с, не более
Обработка выписок: текстовый формат, выписка за один день по 1000 счетов, 100 клиентов, всего 5000 документовС момента появления файла с выпиской в каталоге импорта из АБС до появления всех транспортных пакетов на выходе шлюза "FileGate"20:08
Обработка одиночного п/п: прием пакета, дешифрование пакета, извлечение п/п, проверка реквизитов, проверка ЭЦП, выгрузка в АБС в текстовом форматеС момента появления транспортного пакета на вход шлюза "FileGate" до момента появления файла выгрузки в каталоге связи с АБС 0:120: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 таких сценариев! Понятно, почему подготовка к выполнению тестов занимает большую часть времени. А если необходимо проверить систему несколько раз, например, при внесении каких-то изменений? Тогда большинство тестовых сценариев целесообразно автоматизировать, написать соответствующие скрипты, применив специальные средства автоматизации тестирования. Это тоже занимает время и немалое. Отсюда видно, что проведение качественного тестирования - процесс достаточно сложный и трудоёмкий, не терпящий "шапкозакидательского" подхода. Впрочем, можно пойти и "лёгким" путём, предоставив проводить тестирование пользователям, но в конечном итоге стоить это будет дороже, чем провести тестирование по канонам.
  Видно, что независимое тестирование является обоюдовыгодным и потребителю программного обеспечения и поставщику, что наглядно показало тестирование системы дистанционного банковского обслуживания компании "Банк'с Софт Системс". Каждый из участников лучше узнаёт программный продукт и может правильно построить политику его развития или использования. Кроме того, независимое тестирование помогает проложить дорогу от разработчика к клиенту - оно даёт некий кредит доверия разработчику, помогает развеять сомнения потребителя, потенциального клиента. Оно может быть невыгодно в одном единственном случае - если кто-то из участников сделки по каким-либо причинам не заинтересован в объективном представлении информации. Однако такую ситуацию следует считать ненормальной и не соответствующей цивилизованным отношениям. Всё равно, рано или поздно всё тайное станет явным.
  Итак, какие же виды тестовых исследований являются наиболее актуальными на сегодняшнем рынке? Вот несколько примеров, составленных по запросам наших заказчиков.
     
  • Проведение функционального тестирования программного продукта, а также поиск скрытых дефектов. Полезно во всех случаях.
     
  • Проведение нагрузочного тестирования системы, построенной в многозвенной архитектуре, с использованием механизмов профилирования и поиском "узких мест", снижающих общую производительность. Последующая оптимизация.
     
  • Подбор конфигурации аппаратного обеспечения для работы ПО с различным числом пользователей (типично для тиражируемой АБС).
     
  • Проверка совместимости ПО с различными типами оборудования, операционными системами, программными продуктами третьих фирм. Это один из самых важных видов тестирования "коробочных" продуктов для потребительского рынка.
     
  • Проверка надёжности и защищённости приложения. Особенно важно для Интернет и Интранет приложений с централизованным доступом и обработкой информации.
     
  • Проверка интеграции приложений в сложной гетерогенной вычислительной системе. Типично для банков, использующих комбинацию отечественных и западных АБС, SWIFT-терминалы и программные продукты разных поставщиков.
     
  • Приёмочное тестирование программного продукта, созданного субподрядчиком.

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

Алексей Лукутин,
Исполнительный директор ООО "Амфора - Технологии Качества",
e-mail: lav@in-amphora.com


0

#2 Пользователь офлайн   Ruiz 

  • Стажер
  • Группа: Банкир
  • Сообщений: 15
  • Регистрация: 04 June 01

Отправлено 28 October 2001 - 17:04

 Вот это попса:))))) Дается производительность системы без указания железа, операционки и СУБД. Сильно.


0

#3 Пользователь офлайн   Bars 

  • Стажер
  • Группа: Банкир
  • Сообщений: 1
  • Регистрация: 08 November 01

Отправлено 08 November 2001 - 16:39

В предлагаемой статье приведены лишь некоторые показатели.
Для проведения нагрузочного тестирования в данном случае использовался сервер 2 x Pentium III 500/256/20G SCSI, Windows 2000 advanced server, СУБД Sybase ASA 6.0.4.

С уважением,
Начальник отдела продаж Компании БСС
Барсуков Дмитрий.

(Отредактировал(а) Bars - 4:42 pm - Ноябрь. 8, 2001)

0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему