(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Как автоматизировать тестирование ПО?

Источник: cnews
Василий Полевой

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

Невозможно представить себе разработку ПО, которое было бы свободно от тех или иных ошибок. По данным, опубликованным Национальным институтом стандартов (NIST 2002 RTI Project 7007.011), основное количество ошибок в продукте - 70%! - закрадывается на стадии выработки требований и построения дизайна. А обнаруживается подавляющее большинство дефектов либо в процессе тестирования (около 60%), либо уже при эксплуатации (21%). При этом удельная стоимость исправления дефектов быстро растет по мере продвижения продукта к стадии эксплуатации. Так, в статье "Software Defect Reduction Top 10 List", опубликованной в IEEE Computer, показано, что стоимость исправления дефекта после ввода системы в эксплуатацию вдвое превышает аналогичную стоимость на стадии тестирования продукта, и более чем в тысячу раз - в период выработки требований к продукту.
Бизнес-процессы обычно базируются на нескольких программных продуктах, и при организации тестирования необходимо убедиться не только в правильной работе каждого продукта по отдельности, но и в их корректной стыковке между собой, т.е. речь уже идёт о расширении понятия тестирования на бизнес-процессы.

Эффект от внедрения средств автоматического тестирования

Источник: J.M. Juran’s Quality Control Handbook

Поскольку большинство дефектов выявляется всё-таки на стадии тестирования продукта, определяющим для экономии средств является автоматизация этой стадии внедрения. Компания Mercury провела опрос 1000 заказчиков и выяснила, что приблизительно 80% из них не используют средств автоматизации при тестировании, предпочитая проводить его вручную. Из оставшейся доли абсолютное большинство - 80% компаний - применяют лишь простейшие средства автоматизации тестирования при выполнении отдельных проектов. У 14% фирм развернуты специальные продукты тестирования и создана стандартная инфраструктура для этого. Ещё 5% компаний внедрили сервисы тестирования и образовали центры компетенции, агрегирующие лучшие практики и осуществляющие обмен опытом между командами и проектами. И лишь у 1% заказчиков реализована система тотального контроля качества и запущены централизованные сервисы тестирования, использующие единый жизненный цикл для всех проектов.

Эффект от внедрения средств автоматизации тестирования иллюстрирует приведенный график. На нем отражена зависимость затрат, которые несёт организация от требуемого уровня качества. Суммарная стоимость качества складывается из затрат на тестирование (растущая сплошная кривая) и на исправление ошибок в системе с заданным качеством (падающая кривая). В результате стоимость качества имеет определенный минимум, который соответствует оптимуму затрат. Если используются средства автоматизации, то затраты на тестирование уменьшаются (пунктирная кривая) и, соответственно, падают затраты, обеспечивающие достижение оптимального показателя качества. В то же время само значение оптимального качества смещается в сторону увеличения.

Чем можно тестировать?

Лидирующим продуктом на рынке автоматизации тестирования в настоящее время является HP Quality Center (до приобретения компании Mercury в конце 2006 года - Mercury Quality Center.) По данным IDC от 2006, он занимает 61,7% рынка, значительно опережая идущий за ним IBM Rational, на долю которого приходится 16,8%.

Центры программных решений HP

Поглощение компанией HP одного из крупнейших поставщиков программных решений для ИТ и бизнеса - компании Mercury, привело к тому, что пакет предлагаемых НР программных решений вырос до более чем 400 продуктов. Чтобы ориентироваться в этом море продуктов, была разработана новая модель взаимосвязи стратегических и функциональных инициатив ИТ для бизнеса. Согласно этой модели, портфель программных решений HP представляется в виде совокупности так называемых центров (HP Business Technology Optimization Centers), каждый из которых направлен на решение определенного класса задач, обеспечивающих оптимизацию ИТ-процессов для более эффективного достижения целей и задач бизнеса.

Центры группируются по трем основным направлениям - управление стратегией развития бизнеса, управление внедрениями проектов и управление процессом эксплуатации текущих бизнес-процессов. Цель данной статьи - познакомить читателей с одним из этих направлений, а именно управлением внедрениями проектов. Управление внедрением включает в себя два центра программных решений - центр управления качеством (Quality Center) и центр управления производительностью (Performance Center). В центре управления качеством сосредоточены средства для автоматизации тестирования продуктов, а центр управления производительностью объединяет пакеты создания нагрузки и анализа производительности приложений.

В Quality Center включены продукты автоматизации тестирования: панель управления Dashboard, средства организации и проведения тестирования Test Director, средства функционального тестирования и тестирования бизнес-процессов.

Test Director является ядром Quality Center. Он содержит пять модулей, тесно интегрированных между собой и обеспечивающих непрерывность процесса тестирования - Service Test Manager, Requirement Manager, Test Plan, Test Lab и Defect Manager. С его помощью можно задать структуру тестирования, организовать процесс, наладить взаимодействие между различными участниками и обеспечить выпуск документации.

Кроме того, Quality Center включает в себя средства функционального тестирования: Quick Test Professional - новый активно развивающийся продукт, нацеленный на классический набор приложений, который наиболее часто используется в бизнес-практике и поддерживает современные технологии (SOA и т.п.). WinRunner работает со старыми тяжелыми приложениями с интерфейсом GUI. Этот продукт постепенно отходит на второй план и более развиваться не будет.

В набор Business Process Testing объединены средства, позволяющие экспертам в области бизнес-процессов, не имеющих навыков программирования, создавать процедуры тестирования, выполнять их, управлять процессом тестирования и документировать результаты. Для создания процедур тестирования используются библиотеки стандартных элементарных бизнес-процессов, значительно повышающие эффективность разработки. Среди прочих, в набор также включен ряд акселераторов, предназначенных для проверки процессов на промышленных системах, включающих SAP и Oracle.

Как автоматизировать тестирование?

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

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

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

Опыт "Вымпелкома"

Решения Mercury появились в "ВымпелКом" еще в 2002 году, когда в связи с бурным ростом числа абонентов руководство сотового оператора решило внедрить новую биллинговую систему от компании Amdocs. Как рассказывает руководитель службы тестирования "ВымпелКом" Михаил Мериин, именно после развертывания биллинга Amdocs стало очевидно, что обычные приемочные испытания программного обеспечения не выявляют все ошибки и необходимо тщательное тестирование любого нового пакета.

Между прочим:

  • Компания Hewlett-Packard пользовалась продуктами Mercury, ещё до приобретения этой фирмы для тестирования заплат в собственных промышленных Unix’ах.
  • Продукты Quality Center и LoadRunner (из Perfomance Center) использовались для тестирования самих себя!

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

После анализа представленных в то время на рынке инструментов для тестирования ПО специалисты "ВымпелКом" сделали ставку на решения Mercury. В первую очередь была внедрена система управления процессом тестирования Mercury TestDirector из пакета Mercury Quality Center (с 2007 года - HP Quality Center), которая поддерживает весь цикл тестирования - управление требованиями, составление планов тестирования, автоматизация выполнения тестов и работа с дефектами. Решающими доводами в пользу предложения Mercury стали более широкая, чем у конкурентов функциональность и высокое качество поддержки, предоставляемой этой компанией. По словам Мериина, TestDirector оказался настолько удобным, что в последствии его стали использовать для управления не только тестированием биллинга, но и другими проектами.

За прошедшие пять лет TestDirector превратился в стандартный рабочий инструмент в компании, - если раньше он использовался лишь в двух-трех проектах, то сегодня в нем ведется около сотни. Всего в "ВымпелКом" с этим инструментом работают порядка 1700 пользователей, из них одновременно - более ста. Причем это не только сотрудники отдела тестирования, но и аналитики, архитекторы и специалисты службы Help Desk.

Одной из особенностей TestDirector является возможность получения детальной картины процесса тестирования, на основе которой можно легко определить загруженность каждого отдельного сотрудника и более эффективно спланировать распределение рабочей силы при выполнении разных проектов. Стоит отметить, что использование этой системы стало обязательным требованием и для аутсорсеров услуг тестирования, которые работают с "ВымпелКомом".

Как публичная компания, имеющая листинг на Нью-Йоркской фондовой бирже, "ВымпелКом" обязан ежегодно проходить сертификацию на соответствие требованиям закона Sarbanes-Oxley (SOX). Как известно, к этим компаниям предъявляются очень высокие требования с точки зрения гарантии финансовой безопасности, в том числе, гарантии безотказной работы всех информационных систем, участвующих в бизнес-процессах. И здесь TestDirector оказался нужным помощником. Он позволил быстро предоставить аудиторам детальные сведения обо всех проектах и доказать, что система проверки качества приложений организована на самом высоком уровне.

Всместе с TestDirector в "ВымпелКом" используются и другие инструменты Mercury. Так, уже несколько лет для тестирования производительности приложений применяет входящий в состав пакета Mercury (HP) Performance Center инструмент LoadRunner (новое название - HP Load Runner). LoadRunner позволяет до запуска приложения в эксплуатацию оценить, насколько хорошо оно будет работать в требуемом инфраструктурном окружении под высокими нагрузками. По словам Мериина, практически все новые приложения, будучи развернутыми в конкретных условиях, не способны выдержать требуемых нагрузок - всегда требуется проводить предварительную настройку различных компонентов, будь то web-сервер, сервер приложений или база данных.

Наконец, еще один продукт HP, который применяется, прежде всего, для тестирования ERP-системы "ВымпелКом", - это WinRunner (в настоящее время включен в пакет НР Functional Testing). Он позволяет автоматизировать функциональное тестирование, помогая быстро проверить функциональность бизнес-процессов внутри ERP и выявить некорректное поведение системы после внесения в нее каких-либо изменений.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 08.10.2007 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
IBM RATIONAL Clearcase Floating User From Rational Clearcase Lt Floating User Trade Up License + Sw Subscription & Support 12 Months
Oracle Database Standard Edition 2 Named User Plus License
IBM Rational Functional Tester Floating User License
Oracle Database Personal Edition Named User Plus License
Rational ClearQuest Floating User License
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
CASE-технологии
СУБД Oracle "с нуля"
Компьютерные книги. Рецензии и отзывы
Новые материалы
3D и виртуальная реальность. Все о Macromedia Flash MX.
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100