Vf Московский Государственный Технический Университет им. Н.Э. Баумана

 

 

 

 

 

 

 

 

 

 

 

Домашнее задание

по дисциплине

«Разработка КИСП»

Тема: «Принципы, теория, пакеты и опыт применения CASE (Computer Aided Software/System Engineering) технологий.

Rational Rose: Visual Test v 4.0»

 

15

(вариант)

 

Отчет по домашнему заданию

(вид документа)

 

Бумага писчая (A4)

(вид носителя)

 

28

(количество листов)

 

 

Проверил:

Большаков С.А.

___________________

«___»_________2007 г.

 

 

 

Выполнил:

студент группы ИУ5-103:

Тесленко М.В.

__________________

«___»_________2007 г.

 

 

 

 

 

 

Москва 2007 г.

Аннотация

Домашнее задание представляет собой отчет по изучению программного продукта Rational Visual Test 4.0.

Отчет по домашнему заданию содержит теоретическую и практическую части.

Теоретическая часть содержит:

§  Описание функциональных возможностей программного продукта;

§  Описание структуры программно продукта;

§  Описание основных элементов с позиций концепции абстракций представлений КАП;

Практическая часть содержит описание работы в Rational Visual Test 4.0, т.е. последовательное выполнение функций  продукта, описанных в теоретической части, проиллюстрированное на конкретном примере.


 

Оглавление

1.     Введение. 4

2.     Информация о продукте Rational Visual Test 4.0 в интернет-ресурсах. 4

3.     Фирма-производитель программного продукта Rational Visual Test 4.0. 5

4.     Назначение и область применения Rational Visual Test 4.0. 5

5.     Системные требования Rational Visual Test 4.0. 5

6.     Теоретическая часть. 5

6.1.       Принцип работы Rational Visual Test 4.0. 5

6.2.       Основные свойства и возможности Rational Visual Test 4.0. 6

6.2.1.         Встроенный язык тестирования TestBasic. 6

6.2.2.         Интеграция со средой разработки. 6

6.2.3.         Возможность тестирования web-приложений. 6

6.2.4.         Поддержка Microsoft Active Accessibility. 7

6.3.       Структура программного продукта Rational Visual Test 4.0. 7

6.3.1.         Структурная схема программного продукта Rational Visual Test 4.0. 7

6.3.2.         Основные модули программного продукта Rational Visual Test 4.0. 8

6.4.       Функциональность программного продукта Rational Visual Test 4.0. 11

6.4.1.         Функциональная диаграмма Rational Visual Test 4.0. 11

6.5.       Основные элементы программного продукта Rational Visual Test 4.0 с позиций концепции абстракций представлений КАП.. 13

7.     Практическая часть. 15

7.1.       Создание и выполнение тестового скрипта. 15

7.2.       Создание проекта тестирования. 19

7.3.       Создание и выполнение набора тестовых скриптов. 20

7.4.       Использование модуля «Screen Utility». 23

8.     Заключительная часть. 26

8.1.       Достоинства и недостатки Rational Visual Test 4.0. 26

8.2.       Сравнение Rational Visual Test 4.0 с другими продуктами тестирования. 26

9.     Список литературы. 28


 

1.     Введение

Целью выполнение ДЗ является ознакомление с принципами современных технологий создания АСОИУ и, в том числе, CASE технологиями (Computer Aided Software/System Engineering ) – автоматизированная технология создания программных информационных систем) на основе конкретных программных продуктов. Должны быть приобретены навыки изучения новых технологий и теоретических достижений по специальности, требования к грамотному и профессиональному оформлению реферата. Студенты должны научиться применять на практике способы описания процессов автоматизации на основе концепции абстракции представлений (КАП). Кроме того, должны быть приобретены навыки предметного поиска нужной информации по различным источникам, в том числе и в сети ИНТЕРНЕТ. Должны быть получен опыт написания и оформления технических рефератов (технического и научного изложения материала) по специальности.

В соответствии с вариантом №15 необходимо изучить программный продукт Rational Visual Test 4.0, известный ранее также как MS-Test (именовался так до тех пор, пока не был куплен корпорацией Rational у производителя Microsoft).

2.     Информация о продукте Rational Visual Test 4.0 в интернет-ресурсах.

С помощью поисковых систем Yandex (http://yandex.ru) и Google (http://google.com) были найдены и использованы в домашнем задании следующие интернет-ресурсы, содержащие информацию по продукту:

-        http://en.wikipedia.org/wiki/Visual_Test

Зарубежный сайт, представляющий собой краткую энциклопедическую статью про Rational Visual Test. Язык: английский.

-        http://software-testing.ru/lib/kubansoft/hp-mercury-qtp-4engineer.htm

Отечественный сайт, содержащий описание продукта «HP Mercury QuickTest Professional», схожего по функциям и возможностям с Rational Visual Test.

-        http://www.interface.ru/rational/robot.htm

Отечественный сайт, содержащий описание продукта «Rational Robot», схожего по функциям и возможностям с Rational Visual Test.

-        http://www.interface.ru/home.asp?artId=1732

Отечественный сайт, содержащий описание продукта «Rational Functional Tester», схожего по функциям и возможностям с Rational Visual Test.

-        http://www-306.ibm.com/software/awdtools/visualtest/support/index.html

Ссылка на продукт на сайте производителя IBM, не содержащая никакой информации о продукте, т.к. его поддержка была прекращена. Найти информацию про MSTest, предшествующего продукту Visual Test 4.0, на сайте корпорации Microsoft не удалось.

-        http://www.interface.ru/fset.asp?Url=/rational/vtest.htm

Отечественный сайт, содержащие краткое описание возможностей Rational Visual Test.

-        http://www.citforum.ru/programming/rational_use/coolrat11.shtml

Отечественный сайт, содержащие краткое описание возможностей Rational Visual Test.

-        http://www.cmcons.com/automation_met_instr_rational.htm#life_cycle_of_a_product_and_testing

Новичков Александр «Автоматизация процесса тестирования при помощи методологии и инструментальных средств IBM Rational».

Данная статья содержит краткое описание возможностей Rational Visual Test.

-        Поиск готовой работы по продукту Rational Visual Test в различных банках рефератов не дал результатов.


 

3.     Фирма-производитель программного продукта Rational Visual Test 4.0

Рассматриваемый в домашнем задании продукт был разработан корпорацией Microsoft для проведения внутренних автоматизированных тестирований приложений, разработанных для Windows. В 1992 году Visual Test стал коммерческим продуктом и позднее был куплен корпорацией Rational Software [3].

4.     Назначение и область применения Rational Visual Test 4.0

В соответствие с RUP тестирование — одна из дисциплин RUP. Она ориентирована в первую очередь на оценку качества с помощью следующих методов:

-          поиск и документирование дефектов качества;

-          общие рекомендации относительно качества;

-          проверка выполнения основных предположений и требований на конкретных примерах;

-          проверка, что продукт функционирует так, как было запроектировано;

-          проверка, что требования выполнены соответствующим образом.

В соответствии с IEEE Std 829-1983 тестирование — это процесс анализа ПО, направленный на выявление отличий между его реально существующими и требуемыми свойствами (дефект) и на оценку свойств ПО [6].

Rational Visual Test обеспечивает полнофункциональное, не зависящее от языка реализации, тестирование 32-битных приложений, написанных для Windows, а также компонентов ActiveX.

Что тестировать с помощью данного средства - не имеет значения. Это может быть и 32-битное приложение, и компонент ActiveX, и сервер OLE, и даже Web приложение. Visual Test позволит решить каждую из поставленных задач, поскольку сам является автоматизированным средством тестирования всех описанных типов приложений. Гибкость Visual Test дает возможность создавать поддерживаемые, расширяемые и пригодные для повторного применения компоненты тестирования, которые можно приспосабливать ко многим версиям, а после некоторого планирования - ко многим проектам [2].

5.     Системные требования Rational Visual Test 4.0

Для нормальной работы программного продукта Rational Visual Test 4.0 требуется:

·   персональный компьютер, использующий процессор 386DX/25 и выше, работающий под управлением ОС Microsoft Windows 95 или Windows NT 3.51 или выше, либо персональный компьютер Alpha AXP(TM) под управлением ОС Microsoft Windows NT 3.51 или выше;

·   8 МБ оперативной памяти для  процессора 386 и выше под управлением ОС Windows 95, или 12 МБ оперативной памяти (рекомендуется 16 МБ) для процессора 386DX и выше под управлением ОС Windows NT, либо 16 MB оперативной памяти (рекомендуется 20 МБ) для система Alpha AXP;

· устройство чтения оптических дисков CD ROM;

· 15 МБ свободного места на жестком диске;

· VGA видеоадаптер и выше;

· устройства ввода - мышь и клавиатура [1].

6.     Теоретическая часть.

6.1.         Принцип работы Rational Visual Test 4.0

Работа Rational Visual Test основана на использовании программных GUI-роботов (GUI -Graphical User Interface). GUI-робот - это специальная программа, которая «заставляет» реальное пользовательское приложение работать в автоматическом режиме, без участия самого пользователя (человека). Примерами средств, предназначенных для создания GUI-роботов, являются также пакеты Rational Robot компании Rational Software и пакет WinRunner компании Mercury Interactive.

Программный GUI-робот, как и реальный пользователь приложения, анализирует содержимое экрана и вводит данные с клавиатуры. Другими словами, он взаимодействует с пользовательским приложением через тот же интерфейс, что и человек. При этом GUI-робот работает по программе (скрипту), к коду которой всегда есть доступ (в отличие от кода самого пользовательского приложения).

6.2.         Основные свойства и возможности Rational Visual Test 4.0

Основные свойства и возможности рассматриваемого программного продукта Rational Visual Test 4.0  представлены ниже:

1)      обеспечивает полное, не зависящее от языка тестирование 32-битных Windows-приложений, компонентов ActiveX и DLL;

2)      автоматизирует повторяющиеся задачи тестирования с возвратом на более ранние стадии для увеличения эффективности проекта тестирования и дает возможность создавать высококачественные приложения за меньшее время;

3)      использует TestBasic, самый мощный язык программирования автоматизированного тестирования, чтобы дать возможность разрабатывать базу данных для постоянно используемых, поддерживаемых и расширяемых тестов

4)      основывается на существующих возможностях Visual Test с массой новых функций для полного тестирования Web-приложений

5)      вводит поддержку Microsoft Active Accessibility как первого шага в продвижении производных от него стандартов тестируемости в высших целях

6)      предлагает компоненты, которые можно распространять дальше, так что сконструированные и разработанные инженерами QA тесты пригодны для дальнейшего распространения и обеспечивают максимальную эффективность издержек

7)      тестирует существование и расположение компонентов, собирает качественные показатели и допускает обновление свойств, обеспечивая тщательное тестирование в вашем приложении компонентов OLE (OCXs) и ActiveX.

8)      содержит Suite Manager чтобы конструировать, контролировать и выполнять серии автоматизированных тестов [2].

Рассмотрю ниже кратко некоторые особенности рассматриваемого программного продукта.

6.2.1.  Встроенный язык тестирования TestBasic.

В основе гибкости и мощи Visual Test лежит производный от Visual Basic экстенсивный язык программирования TestBasic, с сотнями специфических для тестирования функций, специальных конструкций. Встроенный язык тестирования чрезвычайно гибок, что открывает неограниченные возможности по его расширению, например, любую функцию, которая не является встроенной, можно поместить в DLL и вызывать из тестовой программы точно так же, как если бы она была встроенной в язык TestBasic [2].

6.2.2.  Интеграция со средой разработки.

Даже самые мощные языки программирования нуждаются в полной среде разработки для того, чтобы быть продуктивными инструментами. Rational Visual Test 6.0 является единственным средством функционального тестирования, тесно интегрированного с Visual Studio и Integrated Development Environment (IDE) от Microsoft.

6.2.3.  Возможность тестирования web-приложений.

Для всех стало очевидно, что своевременный выпуск качественных WWW–приложений - задача трудновыполнимая, а досадное свойство проектов “сжиматься” в сроках отрицательно сказывается на качестве приложения. Visual Test предлагает тестировать логические схемы как клиентской части, так и серверной при помощи более чем 150 новых функций TestBasic, разработанных специально для тестирования в среде Web. Visual Test дает возможность запрашивать и устанавливать атрибуты стандартных элементов HTML и программных действий с входными элементами, “гулять” по ссылкам, выверять состояние и данные любого элемента.


 

Кроме того, добавились новые возможности для решения следующих задач:

6.2.4.  Поддержка Microsoft Active Accessibility

Rational Software – первая компания, предложившая инструмент тестирования, который поддерживает архитектуру Microsoft Active Accessibility (стандартного Windows API разработанного Microsoft). Эта архитектура допускает управление заблокированными приложениями с помощью вспомогательных средств доступа с помощью таких средств, как экранная лупа.

6.3.         Структура программного продукта Rational Visual Test 4.0

6.3.1.  Структурная схема программного продукта Rational Visual Test 4.0

Структурная схема программного продукта Rational Visual Test 4.0 представлена на рис.1:

 

Рис. 1 Структурная схема Rational Visual Test 4.0

Подробнее представленные модули будут рассмотрены в следующем пункте.


 

6.3.2.  Основные модули программного продукта Rational Visual Test 4.0

На рисунке 1 были представлены модули, составляющие рассматриваемый продукт Rational Visual Test 4.0. Пользователь-тестировщик взаимодействует с программой через её графический пользовательский интерфейс (GUI), который визуализирует под воздействием пользователя тот или иной модуль, который в свою очередь имеет свой уникальный интерфейс. Рассмотрим последовательно все модули:

1)       Модуль «Microsoft Developer Studio»

Модуль представляет собой единую среду для создания тестовых скриптов и проектов тестирования. Помимо стандартных пунктов меню и панелей инструментов модуль содержит специальное меню и панель инструментов для написания и отладки тестовых скриптов. На выходе данного модуля можно получить соответственно файл скрипта теста (*.mts), либо файл тестового проекта (*.vtp). Посредством меню из данного модуля может быть осуществлен вызов всех других модулей программного продукта Visual Test, указанных на рисунке 1. Внешний вид модуля представлен на рисунке 2:

Рис. 2 Внешний вид модуля «Microsoft Developer Studio»

2)      Модуль «Suite Manager»

Данный модуль позволяет запускать наборы связанных тестовых скриптов, написанных с помощью  модуля «Microsoft Developer Studio», для полного тестирования всех аспектов проверяемого приложения. Можно комбинировать различные скрипты по собственному желанию,  настраивать под собственные нужды параметры журналирования, оповещений, обработки отказов во время выполнения теста. Во время выполнения набора тестов можно видеть прогресс его выполнения (т.е. процент выполнения), а также фиксировать какие-либо возникающие отказы в ходе работы и контролировать выделение памяти под процессы. Suite Manager в ходе выполнения набора тестов также создает файл журнала, который можно посмотреть сразу после завершения все скриптов [1]. Внешний вид модуля представлен на рисунке 3:

Рис. 3 Внешний вид модуля «Suite Manager»

3)      Модуль «Scenario Recorder»

Данный модуль вызывается только непосредственно из модуля «Microsoft Developer Studio», т.к. напрямую связан с созданием тестовых скриптов. Данный модуль позволяет создавать их без написания исходных кодов на языке TestBasic. Он записывает действия пользователя-тестировщика и автоматически создает скрипт на языке TestBasic, который симулирует эти действия [1]. В модуле «Microsoft Developer Studio» записанный скрипт можно сохранить в файле скрипта (*.mst), либо изменить его, добавив свои процедуры тестирования. Внешний вид модуля представлен на рисунке 4:

Рис. 4 Внешний вид модуля "Scenario Recorder"

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


 

4)      Модуль «Window Information Utility»

Данный модуль используется для получения информации об окнах графического пользовательского интерфейса приложения. Модуль WInfo собирает и выводит такие свойства окон, как дескрипторы, координаты и названия классов. Эта информация может быть полезна при написании тестового скрипта [1]. Данные также можно скопировать в буфер обмена. Внешний вид модуля представлен на рисунке 5:

Рис. 5 Внешний вид модуля «Window Information Utility»

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


 

5)        Модуль «Screen Utility»

В дополнение к некоторым тестам может потребоваться проверить внешний вид отдельных компонент или окон графического пользовательского интерфейса. Для этого можно использовать указанный модуль, который позволяет делать снимки всего экрана, отдельного окна, либо определенных частей экрана [1]. Помимо этого модуль «Screen Utility» позволяет делать с полученными снимками сравнение  попиксельно.

Внешний вид модуля представлен на рисунке 6:

Рис. 6 Внешний вид модуля "Screen Utility"

6.4.         Функциональность программного продукта Rational Visual Test 4.0

Функциональность рассматриваемого продукта Rational Visual Test 4.0 будет полностью востребована на этапе тестирования, однако может быть востребована разработчиком на этапах анализа и реализации продукта для анализа возможных вариантов реализации с точки зрения быстродействия, расхода памяти и т.д. Кроме того, сделанные тестовые сценарии могут быть востребованы в дальнейшем и на этапе сопровождения, когда может потребоваться оперативно выяснить причину отказов в работе готового продукта. Утилита «Screen Utility» может быть полезной при составлении документации по готовому продукту.

6.4.1.  Функциональная диаграмма Rational Visual Test 4.0

Набор функций продукта Rational Visual Test 4.0 можно разбить на несколько связанных подгрупп, соответствующих отдельным модулям на структурной схеме продукта.

Для общего случая функциональная диаграмма Rational Visual Test 4.0 представлена на рисунке 7:


 


 

 

 

Рис. 7 Функциональная диаграмма Rational Visual Test 4.


 


6.5.         Основные элементы программного продукта Rational Visual Test 4.0 с позиций концепции абстракций представлений КАП

Представим основные элементы программного продукта с позиций концепции абстракций представлений КАП.

Выделим основные представления:

1)      Визуальные представления:

·         Результаты сравнения экранных снимков;

·         Экранные снимки;

2)      Текстовые представления:

·         План тестирования;

·         Исходный текст сценария тестирования;

·         Результаты выполнения тестового сценария;

·         Информация об окнах GUI приложения;

3)      Комбинированные представления:

·         Набор тестов в Suite Manager;

4)      Электронные представления

·         Тестируемое приложение *.exe;

·         Файл проекта *.vtp;

·         Файл скрипта теста *.mst;

·         Исполняемый файл тестового скрипта *.pcd;

·         Файл набора тестовых скриптов *.vts;

·         Файл снимка экрана *.scn;

·         Файл журнала выполнения набора тестов *.log;

5)      Выходные представления

·         Распечатка исходных текстов тестовых сценариев;

 

Переходы между перечисленными представлениями приведены в таблице 1:

 

Таблица 1. Переходы между представлениями

Исходное представление

Переход

Итоговое представление

1

Электронное представление: Тестируемое приложение *.exe

Использование модуля «Screen Utility» для получения снимков пользовательского интерфейса

Визуальное представление:

Экранные снимки

2

Визуальное представление:

Экранные снимки

Использование функции

Edit->Compare модуля «Screen Utility» для нескольких снимков

Визуальное представление:

Результаты сравнения экранных снимков

3

Электронное представление: Тестируемое приложение *.exe

Использование модуля «WInfo» для получения информации об окнах пользовательского интерфейса приложения

Текстовое представление:

Информация об окнах GUI приложения;

 

4

Текстовое представление:

План тестирования;

 

Набор исходных текстов тестового сценария в соответствии с планом тестирования

Текстовое представление:

Исходный текст скрипта тестирования

5

Текстовое представление:

Исходный текст скрипта тестирования

Компиляция тестового скрипта в Microsoft Developer Studio

Электронное представление:

Исполняемый файл тестового скрипта *.pcd

6

Текстовое представление:

Исходный текст скрипта тестирования

Сохранение исходного текста на носителе

Электронное представление:

Файл скрипта теста *.mst

7

Электронные представления:

Файл скрипта теста *.mst

Включение в Suite Manager нескольких файлов *.mst в определенные наборы

Комбинированное представление:

Набор тестов в Suite Manager

8

Комбинированное представление:

Набор тестов в Suite Manager

Сохранение набора тестов на носителе

Электронные представления:

Файл набора тестовых скриптов *.vts

9

Визуальное представление:

Экранные снимки

Сохранение на носитель

Электронное представление:

Файл снимка экрана *.scn

10

Электронные представления:

Все возможные электронные представления, кроме файла проекта *.vtp

Создание в Microsot Developer Studio рабочей области проекта, импорт прочих электронных представлений в проект, сохранение проекта

Электронное представление:

Файл проекта *.vtp

11

Текстовое представление:

Исходный текст скрипта тестирования

Выполнение скрипта в Microsoft Developer Studio

(пункт меню Test -> Go)

Текстовое представление:

Результаты выполнения тестового сценария

12

Комбинированное представление:

Набор тестов в Suite Manager

Выполнение наборов скриптов в Suite Manager

Электронное представление:

Файл журнала выполнения набора тестов *.log

13

Текстовое представление:

Исходный текст скрипта тестирования

Печать в Microsoft Developer Studio (пункт меню File -> Print)

Выходные представления:

Распечатка исходных текстов тестовых сценариев


 

7.     Практическая часть.

7.1.         Создание и выполнение тестового скрипта.

Предположим необходимо запустить приложение «CURRENCY.EXE» и выполнить следующие действия:

1)      запустить приложение;

2)      выбрать пункт меню Edit. Если в нем отмечен флажком пункт «Bugs Active», то сбросить флажок;

3)      выбрать меню «File» и нажать в нем пункт «Default Values»;

4)      выйти из приложения.

Предварительно воспользуемся утилитой «Scenario Recorder», вызвав её из Microsoft Developer Studio. Откроется форма, представленная на рисунке 8.

Рис. 8 Экранная форма модуля «Scenario Recorder».

Укажем название сценария «calculat» и нажмем кнопку «ОК». После этого выполним все возможные действия, указанные выше (проверку состояния флажка пункта «Bugs Active» будем осуществлять иначе). По окончании их выполнения переходим на панель утилиты «Scenario Recorder», показанной на рисунке 9, и нажимаем кнопку «ОК».

В результате выполненных операций в Microsoft Developer Studio получаем исходный текст сценария, отражающий всю последовательность действий, которая была выполнена при записи сценария. Несомненно, будут записаны лишние действия в виде пауз, переходов между папками в процессе открытия необходимого тестируемого приложения, выбор панели утилиты «Scenario Recorder» и т.д. Пример такого сценария представлен ниже:


 

'$INCLUDE 'RECORDER.INC'

'$INCLUDE 'RECORDER.INC'

 

SetDefaultWaitTimeout(Timeout)

Scenario "Calculat"

      'Minimize the Visual Test window.

      If GetHandle(GH_HWNDCLIENT) Then WMinWnd(GetHandle(GH_HWNDCLIENT))

 

      ' Check the resolution that this script was recorded on.

      CheckResolution (1280, 1024)

 

      WToolbarButtonClk("@2", "CURRENCY")

 

      CurrentWindow = WFndWndC("CURRENCY", "CabinetWClass", FINDWINDOWFLAGS_IF, Timeout)

      WSetWndPosSiz(CurrentWindow, 438, 253, 800, 600)

      WViewItemDblClk("@1", "CURRENCY.EXE", VK_LBUTTON)

 

      CurrentWindow = WFndWndC("Currency Exchange", "#32770", FINDWINDOWFLAGS_IF, Timeout)

      WSetWndPosSiz(CurrentWindow, 487, 387, 306, 227)

      WMenuSelect("&Edit\&Bugs active")

      WMenuSelect("&File\&Default values")

      Play "{Click 781, 402, Left}"

 

      CurrentWindow = WFndWndC("CURRENCY", "CabinetWClass", FINDWINDOWFLAGS_IF, Timeout)

      WSetWndPosSiz(CurrentWindow, 438, 253, 800, 600)

      WToolbarButtonClk("@2", "Scenario Recorder")

End Scenario

 

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

 Ниже приведен текст скрипта сценария, выполняющего указанные в начале действия, в том числе проверку флажка пункта «Bugs Active»:


 

 

const APP_EXE               = "C:\MSDEV\SAMPLES\VTEST40\CURRENCY\CURRENCY.EXE"

const APP_TITLE             = "Currency Exchange"

 

const FILE_MENU             = "&File"

    const FILE_DEFAULT      = "&Default Values"

    const FILE_EXIT         = "E&xit"

 

const EDIT_MENU             = "&Edit"

    const EDIT_RATE         = "&Rate..."

    const EDIT_BUGS_ACTIVE  = "&Bugs Active"

 

Sub StartTargetApp()

    dim hwnd as long

 

    run APP_EXE, nowait

    hwnd = WFndWnd(APP_TITLE, FW_DEFAULT, 5)

    if hwnd = 0 then

        fail "Target application failed to start."

    end if

 

End sub

 

Sub EndTest()

   CloseTargetApp() ' Clean up.

   End              ' End the test case.

End Sub

 

Sub CloseTargetApp()

    dim hwnd as long

 

    hwnd = WFndWnd(APP_TITLE, FW_DEFAULT or FW_FOCUS)

    if hwnd then

        Play "{ESC}"

    end if

End Sub

 

Scenario "Test application currency.exe"

 

StartTargetApp()

 

Scenario Cleanup

 

    WMenuSelect (EDIT_MENU)

 

    IF WMenuChecked(EDIT_BUGS_ACTIVE) THEN

       WMenuSelect(EDIT_BUGS_ACTIVE) ' If checked, uncheck the menu.

    END IF

 

    IF Failed Then

        EndTest()

    ELSE

        WMenuSelect(FILE_MENU)

        WMenuSelect(FILE_DEFAULT)

    END IF

 

End Scenario

 

EndTest()


 

Выполним данный сценарий в Microsoft Developer Studio. В итоге получим в окне ViewPort информацию по выполнению тестового сценария, представленную на рисунке 9:

Рис. 9 Информация по выполнению тестового сценария

Сохраним данный сценарий на носителе, воспользовавшись пунктом меню File -> Save As. Назовем файл сценария теста calculate.mst.

Рис. 10 Сохранение файла сценария теста на носителе

Выполним также компиляцию сценария в исполняемый тестовый файл *.pcd через пункт меню Test -> Compile, где будет предложено сохранить откомпилированный сценарий с определенным именем (см. рисунок 11):

Рис. 11 Сохранение откомпилированного сценария теста

7.2.         Создание проекта тестирования.

Создадим теперь проект тестирования, для чего выбираем пункт меню File -> New и выбираем строку «Project Workspace» (см. рисунок 12):

Рис. 12 Создание нового проекта тестирования

После этого вводим имя проекта «CURRENCY» (см. рисунок 13):

Рис. 13 Указание имени проекта тестирования

После выполнения этих действий в левом окне Microsoft Developer Studio появится дерево проекта. Импортируем в него выше созданный файл сценария теста calculate.mst, поместив его в подпапку проекта «calc». Для этого, выделив правой кнопкой мыши название проекта в дереве, нажимаем пункт «New» и в появившемся окне выбираем «Test Folder» и указываем имя папки (см. рисунок 14):

Рис. 14 Создание  подпаки в проекте тестирования

После этого, выделив правой кнопкой мыши название проекта в дереве, нажимаем пункт «Import» и выбираем в созданной подпапке файл сценария calculate.mst, который предварительно переносим в данную подпапку на носителе.

Рис. 15 Импорт в проект сценария тестирвоания

7.3.         Создание и выполнение набора тестовых скриптов.

Дополним проект различными вариантами тестов и запустим утилиту «Suite Manager». Модуль будет иметь следующий вид:

Рис. 16 Утилита «Suite Manager»

В левой половине нижней части формы представлено дерево проекта, с которым происходит в данный момент работа, а в правой части – содержимое набора тестовых сценариев. Для добавления в набор сценария необходимо перейти в подпапку проекта, где содержится файл *.mst сценария, выделить его правой кнопкой мыши и нажать «Add Selection», после чего тест будет добавлен в набор. Добавим в набор созданный выше тест «Calculat.mst» и тест «Editrate.mst» из подпапки «Edit». Получим следующий вид формы «Suite Manager» (см. рисунок 17):


Рис. 17 Внешний вид "Suite Manager" после добавления тестов в набор

Выполним набор тестов, выбрав пункт меню Run->Run All. Форма будет иметь следующий вид:

Рис. 18 Внешний вид "Suite Manager" после выполнения набора тестов

Можно посмотреть журнал выполнения набора тестов, выбрав пункт меню View -> Log File. Фрагмент журнала выполнения созданного выше набора представлен ниже:


 

[Start Suite Header]

[Suite Name]         CURRENCY

[Machine]            MAXONESS

[Start Time]         04/22/2007 00:01:00

[End Suite Header]

 

  [Start Case Header]

  [Case Name]         C:\MSDEV\SAMPLES\VTEST40\CURRENCY\calc\CALCULAT.MST

  [Product Version]  

  [Language]         

  [Machine]           MAXONESS

  [Start Time]        04/22/2007 00:01:01

  [End Case Header]

 

    [Start Scenario]

    [Name]           Test application currency.exe

    [Test Location]  C:\MSDEV\SAMPLES\VTEST40\CURRENCY\calc\CALCULAT.MST (60)

    [Start Time]     04/22/2007 00:01:01

    [Result]         PASS

    [Elapsed Time]   0.563

    [End Scenario]

 

  [Case Result]       PASS

  [Elapsed Time]      0.563

  [End Case]

 

  [Start Case Header]

  [Case Name]         C:\MSDEV\SAMPLES\VTEST40\CURRENCY\edit\editrate.mst

  [Product Version]  

  [Language]         

  [Machine]           MAXONESS

  [Start Time]        04/22/2007 00:01:02

  [End Case Header]

 

    [Start Scenario]

    [Name]           0. Start the target application.

    [Test Location]  C:\MSDEV\SAMPLES\VTEST40\CURRENCY\edit\editrate.mst (60)

    [Start Time]     04/22/2007 00:01:02

    [Result]         PASS

    [Elapsed Time]   0.188

    [End Scenario]

 

    [Start Scenario]

    [Name]           1.  Verify that the menu exists.

    [Test Location]  C:\MSDEV\SAMPLES\VTEST40\CURRENCY\edit\editrate.mst (76)

    [Start Time]     04/22/2007 00:01:02

    [Result]         PASS

    [Elapsed Time]   0.109

    [End Scenario]

 

   

 

  [Start Case Header]

  [Case Name]         C:\MSDEV\SAMPLES\VTEST40\CURRENCY\terminat.mst

  [Product Version]  

  [Language]         

  [Machine]           MAXONESS

  [Start Time]        04/22/2007 00:01:05

  [End Case Header]

 

    [Start Scenario]

    [Name]           1. Close all copies of the test application.

    [Test Location]  C:\MSDEV\SAMPLES\VTEST40\CURRENCY\terminat.mst (61)

    [Start Time]     04/22/2007 00:01:06

    [Result]         PASS

    [Elapsed Time]   0.016

    [End Scenario]

 

  [Case Result]       PASS

  [Elapsed Time]      0.250

  [End Case]

 

[Suite Result]       PASS

[Elapsed Time]       5.625

[End Suite]

Сохраним созданный набор тестов в файл *.vts на носителе, выбрав пункт меню               «File -> Save Suite As» и указав имя набора.

7.4.         Использование модуля «Screen Utility».

Запустим теперь из Microsoft Developer Studio модуль «Screen Utility».  Работа с этим модулем осуществляется по сути через 2 пункта меню: Edit->Capture и Edit->Compare, предназначенные соответственно для захвата изображения экрана или его части, и для сравнения изображений экрана или его частей, либо изображений, захваченных с помощью данного модуля ранее или хранящихся в графических файлах.

Прежде чем начать работу с модулем, необходимо создать файл *.msc, в который будут записываться все сделанным снимки экрана, либо его частей. Создадим такой файл через пункт меню File->New. После этого запустим приложение «Currency.exe», тестируемое выше, выберем в модуле «Screen Utility» пункт Edit->Capture->Window и выделим появившимся указателем окно запущенного раннее приложение. При этом в панели модуля «Screen Utility» появится информация про данное окно (см. рисунок )

Рис. 19 Панель захвата модуля «Screen Utility»

Выберем на этой панели в группе «Capture to» пункт «Screen File» и нажмем кнопку «ОК», после чего снимок окна приложения будет добавлен в файл *.msc и будет отображаться в виде отдельной строки, при двойном клике по которой будет открываться сам снимок (см. рисунок 20):

Рис. 20 Просмотр содержимого снимка в модуле «Screen Utility»


 

Изменим в запущенном приложении какие-либо элементы, например элемент Currency из списка, как представлено на рисунке 21:

Рис. 21 Измененный внешний вид приложения для сравнения

После этого выберем в списке снимков сделанный нами выше, выберем пункт меню Edit->Compare->Windows и выделим окно запущенного приложения с измененным внешним видом. В результате действий в модуле «Screen Utility» откроется изображение, содержащие только начертания различий, полученных после попиксельного анализа двух изображений (см. рисунок 22):

Рис. 22 Изображение различий между двумя снимками окна приложения


 

8.     Заключительная часть.

8.1.         Достоинства и недостатки Rational Visual Test 4.0.

Говоря о достоинствах программного продукта Rational Visual Test 4.0, можно выделить следующее:

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

2.      Сценарии тестирования могут создаваться как в визуальном режиме (при помощи специального рекордера), так и при помощи встроенного редактора.

3.      При помощи данного продукта можно проводить тестирование не только готовых систем, но и отдельных программных компонентов, при этом поддерживаются такие передовые технологии, как ActiveX.

4.      Rational Visual Test тесно интегрируется с MS Developer Studio.

Однако можно выделить и недостатки:

1.        Отсутствие встроенной системы документирования результатов тестирования.

2.        Интеграция только с одной средой разработки.

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

Данный продукт достаточен для выполнения функционального тестирования, как по линейным, так и по нелинейным планам тестирования, однако, на мой взгляд, продукт ограничен с точки зрения возможности оценки производительности.

8.2.         Сравнение Rational Visual Test 4.0 с другими продуктами тестирования.

Visual Test 4.0, после того как был куплен корпорацией Rational, лёг в дальнейшем в основу Rational Robot, который в настоящее время, в отличие от Visual Test, поддерживается производителем.

Rational Robot совместим со значительно большим числом программных продуктов. Rational Robot позволяет определять многочисленные таймеры для дополнительной оценки производительности приложения. Rational Robot автоматически вносит информацию с результатами всех тестов в масштабируемый встроенный репозитарий Rational Repository. Инструмент Test Log Viewer служит для облегчения визуального анализа результатов и отображает их результаты тестирования различными цветами [9].  

Оба вышеуказанных продукта относятся к такому классу продуктов, которые позволяют записывать последовательность взаимодействий с графическим интерфейсом, откорректировать её, а затем многократно выполнять эту последовательность в рамках тестирования. В случае изменения интерфейса все сценарии придется либо переписать, либо откорректировать. Другой продукт, предоставляющий возможность выполнения автоматизированных функциональных тестов - Rational Functional Tester. В отличие от указанных выше двух продуктов, он обладает более сложным алгоритмом распознавания объектов GUI программы,  оставаясь доступным (через карту объекта, object map). Уникальная схема распознавания объектов в сочетании с поддержкой в RFT языка Java как языка написания сценариев, обеспечивает, в первую очередь, по-настоящему объектно-ориентированный подход к созданию инструментов автоматизации GUI. Этот подход позволяет создавать сценарии на ранней стадии процесса разработки, основываясь на требованиях проекта или спецификации разработчика, вместо того, чтобы ждать, пока приложение не будет полностью написано, а затем перейти к использованию механизма записи-воспроизведения [7].

Кроме продуктов корпорации Rational среди специалистов по тестированию также известен продукт фирмы HP: Mercury QuickTest Professional. Продукт схож с Rational Visual Test, однако обладает более удобной системой просмотра результатов выполнения отдельных тестов, либо за весь сеанс тестирования, и системой документирования обнаруженных дефектов. Кроме того данный продукт поддерживает гораздо большее количество сред приложений.

Представим основные данные про перечисленные средства тестирования в виде сводной таблицы (см. таблицу 2):

Критерий

Rational Visual Test 4.0

Rational Robot

Rational Functional Tester

HP Mercury QuickTest Professional

1.  

Простота внутреннего языка тестирования

TestBasic

SQABasic

Java

Visual Basic Script

Оценка: 5

5

3

4

2.  

Удобство просмотра результатов тестирования

При выполнении отдельного теста – в отдельном фрейме, при выполнении набора тестов – в отдельном файле

Имеет специальные инструменты для визуального анализа результатов

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

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

Оценка: 3

5

4

5

3.  

Полнота документ-ния дефектов

Функция не реализована

Функция не реализована

Можно реализовать самостоятельно

Дефекты описываются наиболее полно и вместе со снимком экрана приложения, где имел место дефект, сохраняется в специальном репозитории

Оценка: 0

0

3

5

4.  

Возможность регрессивного тестирования

Нет

Нет

Да

Нет

Оценка: 0

0

5

0

5.  

Интеграция со средами разработки

MS Visual Studio

MS Visual Studio, Oracle Developer/2000, Java-среды разработки

Eclipse IDE, IBM WebSphere Studio, Rational XDE Developer.

QuickTest Professional поддерживает фактически любое приложение и с помощью доп. плагинов может быть интегрирован в любую среду разработки

Оценка: 1

4

4

5

6.  

Поддержка производи-телем

Нет

Да

Да

Да

Оценка: 0

5

5

5

7.  

Возможность анализа производи-тельности

Недостаточны

Реализована в полной мере

Реализована в полной мере

Реализована в полной мере

Оценка: 3

5

5

5

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

9.     Список литературы.

1.         Справочная система программы Rational Visual Test 4.0. Язык: английский;

2.         Электронный ресурс http://www.interface.ru/fset.asp?Url=/rational/vtest.htm - краткое описание возможностей Rational Visual Test. Язык: русский;

3.         Электронный ресурс http://en.wikipedia.org/wiki/Visual_Test - краткая энциклопедическая статья про Rational Visual Test. Язык: английский.

4.         Электронный ресурс http://www.citforum.ru/programming/rational_use/coolrat11.shtml - краткое описание возможностей Rational Visual Test. Язык: русский;

5.         Электронный ресурс http://bankrabot.com/work/work_32661.html?similar=1 – Дипломная работа «Разработка методов и средств оценки эффективности функционирования WEB-серверов», 115 с.;

6.         Электронный ресурс http://www.cmcons.com/automation_met_instr_rational.htm#life_cycle_of_a_product_and_testing – Новичков Александр «Автоматизация процесса тестирования при помощи методологии и инструментальных средств IBM Rational». Язык: русский;

7.         Электронный ресурс

http://www.interface.ru/home.asp?artId=1732 – Статья «Объектно-ориентированная среда IBM Rational Functional Tester». Язык: русский;

8.         Электронный ресурс

http://software-testing.ru/lib/kubansoft/hp-mercury-qtp-4engineer.htm - Дмитрий Карбасов, Константин Пасевич «HP Mercury QuickTest Professional. Введение для специалиста по тестированию».  Язык: русский;

9.         Электронный ресурс

http://www.interface.ru/rational/robot.htm - Статья «IBM Rational Robot». Язык: русский.



Hosted by uCoz