Перейти к тексту

 

Инновации в технологиях и бизнесе №1/2008

Решения и технологии: Управление качеством

   
 

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

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

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

Чтобы добиться успеха при разработке сложных прикладных программных комплексов, мало правильно выбрать инструментальные средства. Требуется четко и грамотно организовать весь процесс — от написания технического задания до внедрения системы на предприятии и дальнейшего ее сопровождения. Одним из наиболее эффективных подходов к организации процесса разработки приложений является Rational Unified Process (RUP), который успешно применяется и активно развивается вот уже второй десяток лет и включает в себя наиболее успешные из практик создания ПО.

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


Инструменты управления качеством

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


IBM Rational ClearQuest and Functional Testing

Пакет IBM Rational ClearQuest and Functional Testing — законченное решение для организации интегрированных процессов планирования и управления тестированием, управления изменениями и выполнения функционального и регрессионного тестирования. Данное решение обеспечивает команде тестирования централизованный доступ к задачам и инструментам тестирования и управления ошибками, позволяет получать отчеты о результатах выполнения ручного и автоматизированного функционального тестирования. Независимые команды тестирования или тестировщики, включенные в локальный или распределенный проект разработки, могут поднять возможности этого решения до уровня корпоративных проектов. Основанное на Eclipse, данное решение обеспечивает открытую экосистему для управления тестированием и снижает затраты на это управление.

В состав пакета входят:

  • IBM Rational ClearQuest — инструмент управления запросами на изменение и ошибками, обеспечивающий автоматизацию процесса, отчетность и управление тестированием, дефектами и изменениями на протяжении всего жизненного цикла проекта.
  • IBM Rational Functional Tester Plus — пакет для функционального и регрессионного тестирования, обеспечивающий тестирование приложений различных типов, включая Java, Web-приложения, Web-сервисы и .Net. В состав пакета входят продукты IBM Rational Functional Tester и IBM Rational Robot.

IBM Rational Functional Tester

IBM Rational Functional Tester — это мощное средство, автоматизирующее процессы функционального и регрессионного тестирования приложений Java, Web, .Net и WinForm. Этот инструмент предназначен прежде всего для тестировщиков и разработчиков пользовательского интерфейса, которым необходим особый контроль над процессом тестирования приложений.

Functional Tester обеспечивает автоматизацию тестирования, управляемого данными (data driven testing), а также поддерживает технологию ScriptAssure и возможности использования шаблонов для улучшения устойчивости скриптов к внесению частых незначительных изменений в пользовательский интерфейс. Продукт поддерживает контроль версий и параллельную разработку.

Для IBM Rational Functional Tester созданы также специальные расширения, делающие возможным его применение для определенных типов приложений:

  • IBM Rational Functional Tester Extension for SAP Solutions обеспечивает функциональное и регрессионное тестирование SAPgui-приложений.
  • IBM Rational Functional Tester Extension for Siebel обеспечивает тестирование приложений Siebel.7.7.и.7.8.
  • IBM Rational Functional Tester Extension for Terminal-based Applications расширяет возможности тестирования терминальных приложений. В частности, обеспечивает автоматизированное тестирование в среде эмулирования терминала на основе Eclipse приложений для хостсистем 3270 (для архитектуры zSeries) и 5250 (для архитектуры iSeries).

Functional Tester интегрируется с интерфейсом двух популярных сред разработки: Microsoft Visual Studio и Eclipse. Если проекты создаются в Visual Studio и команда тестировщиков предпочитает Visual Basic .Net как язык создания скриптов, можно инсталлировать Functional Tester непосредственно в оболочку Visual Studio и создавать тестовые скрипты на Visual Basic .Net.

С помощью инструментов, предлагаемых IBM, разработчики смогут создавать и реализовывать функциональные и регрессионные тесты приложений, организовывать ручное тестирование, проводить тестирование производительности, оптимизировать код приложения и многое другое
Другой вариант — это установка Functional Tester на платформу Eclipse. При этом можно использовать инсталляцию Eclipse — либо уже установленную в системе, либо предлагаемую Rational как часть инсталляционного пакета Functional Tester. В данном случае для тестовых скриптов используется Java-код. Решение Functional Tester поддерживает тестирование множества типов приложений, включая созданные с применением таких технологий, как Java, Web (HTML), Microsoft .Net, Siebel, SAPgui, а также консольные приложения (3270, 5250 и VT100).

Важной особенностью Functional Tester является наличие инструментов функционального и регрессионного тестирования для работы с графическим интерфейсом пользователя (GUI).

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

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

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


IBM Rational Manual Tester

IBM Rational Manual Tester — это средство подготовки и выполнения тестов, повышающее производительность, охват и надежность ручного тестирования. Оно позволяет использовать рабочие материалы (планы, скрипты и т п.) в распределенной среде, повторно применять существующие наработки в новых задачах. Предназначен Manual Tester для тестировщиков и бизнес-аналитиков, желающих улучшить быстродействие, широту применения и надежность ручного тестирования. Этот инструмент интегрируется с IBM Rational ClearQuest и предлагает такие возможности, как средство публикации скриптов в HTML, редактор разработки (Authoring Editor), средство просмотра журнала тестирования (Test Log viewer), а также набор инструментов Rational Process Advisor.

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

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

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

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

Ручной тест в Rational Manual Tester — это документ с упорядоченным набором шагов. Причем отдельные шаги могут представлять собой вызовы автоматизированных процедур тестирования, выполняемых IBM Rational Functional Tester или IBM Rational Performance Tester. Таким образом, Rational Manual Tester может использоваться в качестве средства планирования полного цикла тестирования, включающего как ручные, так и автоматизированные операции.

Во время выполнения теста Rational Manual Tester выполнит вместе с пользователем все необходимые действия в пошаговом режиме. Интерфейс этого приложения обеспечивает возможность одновременного просмотра тестируемого приложения и выполняемого теста.

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

Manual Tester может импортировать описание тестовых примеров из Microsoft Word и Excel и экспортировать результаты тестирования в файлы формата CSV, обеспечивая возможность их анализа с использованием приложений других производителей. Это приложение входит в состав IBM Rational Functional Tester, предоставляя командам тестирования возможности автоматизированного и ручного тестирования.


Интерфейс Rational Manual Tester обеспечивает возможность одновременного просмотра тестируемого приложения и выполняемого теста
IBM Rational Performance Tester

Rational Performance Tester — это многопользовательский инструмент тестирования, предназначенный для создания тестов производительности, их выполнения и анализа. С его помощью группы разработчиков могут проверять масштабируемость и надежность Web-приложений перед развертыванием. Многие из функциональных возможностей Performance Tester были специально разработаны для начинающих тестировщиков. С его помощью можно создавать и выполнять автоматизированные проверки, анализировать их результаты на предмет надежности бизнес-приложений. Это приложение работает под управлением ОС Linux или Windows и имеет дополнительные расширения для приложений Siebel и SAP.

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

Кроме того, Performance Tester можно использовать для дальнейшей идентификации основной причины плохой производительности на уровне аппаратных или программных компонентов, для этой цели служит система расширенного мониторинга ресурсов и слежения за временем реакции.

Performance Tester генерирует тест на базе HTTP-трафика, перехваченного им во время записи сессии. Тест отображается в древовидном формате, причем каждый узел верхнего уровня в дереве представляет Web-страницу, к которой было обращение во время записываемой сессии. Имя узла основано на имени Web-страницы.

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

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

Используя инструменты IBM Rational для управления качеством ПО, разработчики смогут гарантировать должный уровень функциональности, надежности и производительности программного обеспечения, а значит, обеспечить обратную связь между ИТ и бизнесом.


Другие инструменты IBM Rational для управления качеством

IBM Rational AppScan — автоматизирует сканирование и тестирование Web-приложений на наличие известных уязвимостей, включая несанкционированные SQL-вставки, кросс-сайтовое выполнение скриптов и переполнение буфера, и дает рекомендации по исправлению обнаруженных уязвимостей. Включает в себя более 40 гибко настраиваемых отчетов и информационных панелей для контроля работ по устранению уязвимостей и снижению риска, в том числе отчеты по стандартам PCI Data Security Standard, ISO 17799, ISO 27001, HIPAA, GLBA и Basel II. Инструмент реализован на основе масштабированной архитектуры уровня предприятия, позволяющей выполнять одновременное сканирование нескольких приложений.

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

Rational AppScan Standard Edition дополнительно к задачам тестирования, реализованным в AppScan Tester Edition, также решает задачи аудита Web-приложений на соответствие вышеуказанным стандартам безопасности и управления. Поддерживается AppScan eXtension Framework, обеспечивающий возможности интеграции со свободно распространяемыми утилитами и дополнениями. Использование функции Pyscan, входящей в состав AppScan eXtension Framework, позволяет применять скрипты Python для более гибкого сканирования, настроенного под определенные задачи и стандарты.

IBM Rational Purify — средство анализа исполнения кода, призванное помочь разработчикам писать более надежные тексты программ. Этот инструмент позволяет обнаруживать повреждения и утечки памяти (memory leak) при работе программы. Пакеты Rational Purify for Linux и Rational Purify for анализируют код Cи/C++ под Linux и Unix.

Rational Purify for Windows анализирует код Java, Cи/C++, Visual Basic и все языки платформы .Net, включая C# и VB Nеt.

IBM Rational Robot — средство автоматизации тестирования общего назначения для команд, выполняющих функциональное и нагрузочное тестирование клиент-серверных приложений. Оно позволяет тестировщикам обнаруживать больше ошибок, допуская использование в тестовых скриптах условных переходов и покрывая большее количество функционала приложений. Также возможно включать в тело тестов вызовы внешних библиотек DLL или программ.

IBM Rational Tester for SOA Quality — инструмент для функционального и регрессивного тестирования, который позволяет создавать, анализировать, модифицировать и тестировать Web-сервисы, не имеющие пользовательского интерфейса. Благодаря использованию этого продукта устраняется необходимость в ручном программировании за счет автоматизированной корреляции данных и управляемого данными тестирования в специальной среде, не требующей программирования. Кроме того, Tester for SOA Quality упрощает тестирование интеграции сервисов за счет автоматизированного создания теста с использованием ресурсов языка WSBPEL. IBM Rational Robot обеспечивает работ у с общими объектами, такими как меню, кнопки, списки и изображения, и предоставляет специальные сценарии тестирования для специфических объектов среды разработки.

IBM Rational Test RealTime — кроссплатформенное решение для компонентного тестирования и анализа исполнения. Предназначено для разработчиков встроенных (внедренных) систем. Обеспечивает автоматизацию проверки исходного кода на языке Си на соответствие правилам кодирования. Интегрируется с инструментами IBM Rational, предназначенными для моделирования, управления тестированием и управления конфигурацией.