Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






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





Rational Quantify

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

Rational Quantify является простым, но в то же время мощным и гибким средством учета производительности приложений — эффективным инструментом для сбора и анализа информации о производительности созданного программного продукта.

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

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

Quantify предоставляет полную статистическую выкладку по всем вызовам (внешним и внутренним), невзирая на размеры тестируемого приложения и время его тестирования. Сбор данных осуществляется посредством технологии OCI (Object Code Insertion). Суть способа состоит в подсчете всех машинных циклов путем вставки счетчиков в код для каждого функционального блока тестируемой программы (все циклы приложения просчитываются реально, а не при помощи произвольных выборок, как в большинстве пакетов тестирования). Уникальность данного подхода заключается в том, что, во-первых, тестируется не только сам исходный код, но и все используемые компоненты, (например: библиотеки DLL, системные вызовы), а во-вторых, для подобного анализа совсем необязательно иметь исходные тексты тестируемого приложения (правда, в этом случае нет возможности отслеживать внутренние вызовы).

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

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

Тестируемое приложение можно перекомпилировать и запустить повторно, при этом Quantify способна запомнить все предыдущие вызовы и дать сравнительную оценку.

Основные возможности программы Quantify:

¨ Выдает точную и детальную информацию о производительности приложения;

¨ Указывает на все узкие места в приложении (как в пользовательском коде, так и в системных вызовах);

¨ Представляет комплексный дополнительный обзор данных по производительности:

¨ дерево вызовов (Call Graph);

¨ список функций с точными замерами (Function List);

¨ детальная статистика по конкретной функции (Function Detail);

¨ Гибкая настройка по желаниям и потребностям пользователя;

¨ Позволяет многократно тестировать приложение (по ходу разработки), отслеживая изменения в количестве вызываемых функций;

¨ Интеграция с Visual C++ с возможностью вызова исходных текстов функций тестируемого приложения;

¨ Интегрируется с Rational Robot, ClearQuest и Visual Test;

¨ Поддерживает Visual C++, Visual Basic и Visual Java приложения.

Rational Purify

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

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

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

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

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

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

Основные возможности программы Purify:

¨ Отслеживание ошибок доступа к памяти;

¨ Сбор и вывод статистики по использованию памяти;

¨ Использование комплексного подхода к тщательному тестированию;

¨ Технология OCI - Object Code Insertion позволяет детально отследить и выловить ошибку не только в контролируемом модуле, но и в модулях DLL сторонних разработчиков;

¨ Тестирование ActiveX, COM/DCOM, ODBC, DLL;

¨ Настраиваемый, двухуровневый способ тестирования приложений;

¨ Отслеживание API вызовов;

¨ Интеграция с Visual Studio;

Rational Pure Coverage

Основное и единственное назначение продукта – выявление участков кода, пропущенных при тестировании приложения.

Вполне очевидно, что при даже самом тщательном тестировании программы специалисту не удается протестировать абсолютно все ее функции. Это невозможно, как правило, по двум причинам: во-первых, разработчик не может сделать все абсолютно правильно с учетом всех возможных нюансов, во-вторых, даже учитывая все возможные реакции приложения на внешние “раздражители”, невозможно на 100% быть уверенным в том, что все протестировано.

Pure Coverage собирает статистику о тех участках программы, которые во время тестирования не были выполнены (пройдены). Дополнительно программа считает так называемые хиты – активно исполнявшиеся строки.

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

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

 

 

3.2 Анализ функциональной полноты системы «AQA»

Модуль AQA предназначен для автоматизации функционального тестирования системы Галактика и комплекса Support. Сравнение функциональных возможностей AQA с возможностями сторонних средств тестирования такого же назначения показывает, что AQA обеспечивает выполнение многих основных функций тестирования, таких как:

¨ Контроль GUI (с ограничениями);

¨ Сравнение с эталоном (с ограничениями);

В том числе обеспечивается визуальный режим сравнения;

¨ Несколько способов создания теста (автоматический, ручной, комбинированный);

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

¨ Независимость воспроизведения теста от расположения и времени;

¨ Воспроизведение теста в режиме отладки;

¨ Построение отчетов с различной степенью детализации;

¨ Ведение протоколов (журналов) прогона теста;

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

¨ Наличие базы данных тестов;

¨ Независимость тестов от платформы Windows.

Вместе с этим AQA не обеспечивает:

¨ Контроль приложений, функционирующих под Windows, но написанных не на VIP;

¨ Контроль свойств объектов экранной формы (анкетной, табличной, диалоговое окно);

Примеры контролируемых в SQA Suite объектов и свойств приведены в таблице 2:

 

Таблица 2. Примеры контролируемых в SQA Suite объектов и свойств

Объект Свойства
Listview (список) Расположение, видимость, доступность, количество записей, номер (содержимое) текущей записи, количество видимых записей в окне списка, характеристики палитры, тип списка (например, report) и др.
Tabcontrol (вкладки) Расположение, количество элементов, текущий элемент и др.
Checkbox Расположение, видимость, доступность, наименование поля, состояние (вкл./выкл.) и др.
Radiobutton Расположение, видимость, доступность, наименование поля, состояние (вкл./выкл.) и др.
Editbox (поле редактирования) Расположение, видимость, доступность, статус (например, ReadOnly), выравнивание, значение поля, тип и др.
Pushbutton (кнопка) Расположение, видимость, доступность, наименование, признак default и др.
Groupbox Расположение, видимость, доступность, наименование и др.

 

¨ Контроль экранных образов;

Для сохранения в контрольной точке можно задать как весь экран, так и выделенную область.

¨ Контроль меню;

В SQA Suite в контрольной точке (test case) сохраняется структура меню окна, включающая наименование и уровень пунктов. Для сохранения в контрольной точке можно задать как все меню, так и отдельные его элементы.

¨ Контроль содержимого clipboard;

¨ Вызов другой тестовой процедуры.

¨

3.2 Сравнительный анализ систем «AQA» и HP Mercury Interactive

Cистема HP Mercury Interactive Три основных продукта, интегрированных между собой с помощью API-интерфейсов. Могут использоваться как все вместе, так и каждый в отдельности.

1. TestDirector - система управления тестированием. В настоящее время доступна версия 8.0

3000-5000$ серверная часть плюс 1630$ на одно рабочее место.

Система имеет единую базу данных, которая может интегрироваться с SQL, Oracle, Access или Sybase, доступ через Web -браузер. Встроенный язык Visual Basic.

Вся система состоит из четырех подсистем:

- Управление требованиями (Requirements). Позволяет описывать требования к тестируемому продукту, подключать различные документы (описания бизнес-процессов)

- Планы тестирования (TestPlan) на основе требований. Создаются планы тестирования с подробным описанием каждого шага - что нужно сделать на каждом шаге и что должно получиться. Если есть автоматизированные тесты, то они привязываются к конкретному шагу.

- Планирование и выполнение тестов (TestLab). Планируется последовательность и время выполнения тестов. Тесты могут запускаться как на локальном компьютере, так и на машинах локальной сети. Задаются зависимости выполнения тестов от результатов выполнения предыдущих и отмечаются результаты выполнения тестов. Тесты могут быть как ручные, так автоматизированные.

- Управление дефектами (Defects Manager). Позволяет вести учет обнаруженных дефектов (ошибок), менять их статусы, имеет разграничение доступа для разных категорий сотрудников (тестировщиков, разработчиков, руководителей проекта). Позволяет получать статистику и строить графики по обнаруженным проблемам. Также есть возможность печатать отчеты по обнаруженным проблемам, используя различные фильтры. Есть настраиваемые реквизиты, которые необходимо заполнять. К недостаткам можно отнести отсутствие выбора из справочников, все реквизиты нужно заполнять вручную.

Этот продукт, за исключением Defects Manager, не имеет у нас аналогов. Достоинство его в том, что он позволяет объединить весь процесс тестирования в единое целое. Мы пользуемся множеством планов, документов, не связанных между собой. Нет единого средства управления тестированием.

 

2. WinRunner - функциональное и регрессионное тестирование. 1630$ на одно рабочее место. С-образный язык описания тестов "TSL".

В таблице представлена сравнительная характеристика средств AQA и WinRunner

Таблица 3. Сравнительная характеристика средств AQA и WinRunner

 

Возможности AQA WinRunner Примечание
Ориентация Тестирование приложения, ориентированного на работу с БД, с отчетными документами. Тестирование GUI - интерфейсов. Простые формы со стандартными элементами ввода и управления. Форма с закладками продемонстрировано не было  
Стоимость   1630$ на 1 пользователя  
Установка Система готова к работе после установки Галактики Необходима инсталляция и настройка на конкретное приложение, иногда с помощью дополнительных модулей Для тестирование Атлантис-приложений нужны дополнительные модули, возможно даже заказные
Интеграция в систему + - Здесь есть плюсы и минусы у каждого подхода. WinRuner - универсальное средство, тогда как AQA ориентирована только на Атлантис-приложения
Поддержка мыши при генерации - + Хорошо бы иметь поддержку мышки и в AQA
Наглядность Процесс генерации и выполнения скрыт от пользователя В открытом файле скрипта наглядно видно как генерируется или выполняется скрипт Полезно видеть процесс генерации, но в интегрированной системе это, скорее всего, трудно реализуемо.
Несколько режимов выполнения + + (нормальный, debug, update; лучше реализован режим Update) Полезно иметь аналогичный режим Update. Сейчас догенерировать можно только в случае рассинхронизации.
Выполнение нескольких экземпляров теста на одной машине + - Хорошая возможность, которой нет в WinRunner-е
Удобство работы со скриптом (интерактивность) Можно или генерировать автоматически или создавать вручную. С нуля вручную скрипт создать нельзя; Язык описания скриптов является процедурным, т.е. можно создавать процедуры и функции, которые потом можно вызывать из основной программы Работая в редакторе, можно включать запись и сгенерированные куски скрипта будут вставляться в позицию курсор; Возможностей создания процедур продемонстрировано не было Полезная возможность. В AQA сейчас нужно генерировать отдельный сегмент, а затем копировать текст скрипта.
Последовательность Загружается программа, автоматически или вручную запускается тест Запускается тест, который запускает программу AQA работает так в следствии своей интеграции, а WinRunner - в следствии своей универсальности.
Сохранение/восстановление БД + - Невозможность сохранять/восстанавливать БД - один из основных недостатков WinRunner-а
Контрольные точки на элементы интерфейса + + В WinRunner-e есть GUI - карты. Контрольные точки устанавливаются после генерации всего скрипта.
Контрольные точки на отчеты + - В WinRunner-e нет функций сравнения файлов
Контрольные точки на таблицы БД - + Неплохая возможность, но труднореализуемая в AQA из-за того, что в таблицах имеется ряд служебных полей, зависящих от текущей даты и времени.
Контрольные точки на графические элементы - + Полезность такой возможности сомнительна.
Имитация реального ввода Автоматически контролируется время выполнения последовательности команд Необходимо вставлять в скрипт специальные функции задержки выполнения скрипта и подбирать время задержек В AQA реализовано значительно лучше, а WinRunner требует ручной корректировки, что увеличивает трудоемкость.

Таким образом, после проведения сравнительного анализа данных средств было выявлено, что система «AQA» по многим параметрам лучше подходит для локального автоматизированного тестирования. Вместе с тем, выбранная система имеет ряд недостатков и нуждается в доработке.

 

Date: 2015-07-17; view: 637; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию