Основные принципы построения автоматического теста при помощи QTP

Содержание

Слайд 2

Введение

Целью данного документа является изложение подхода к автоматизации тестирования с использованием QTP,

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

Слайд 3

Структура теста

Структурно тест состоит из следующих компонентов:
Suite file – excel файлы,

Структура теста Структурно тест состоит из следующих компонентов: Suite file – excel
содержащий ссылки на файлы с тестовыми сценариями
Test script file – excel файлы, содержащие описание тестовых сценариев
Test driver – модуль, отвечающий за взаимодействие с внешними файлами, содержащими тестовые данные, вызов необходимых test actions и подготовку данных для отчета о тестировании
Test actions – модули, реализующие взаимодействие с AUT.
Reporter – модуль реализующий формирование отчета о тестировании
Test report – отчет о тестировании

Слайд 4

Взаимосвязь компонентов

Взаимосвязь компонентов отражена на рисунке

Взаимосвязь компонентов Взаимосвязь компонентов отражена на рисунке

Слайд 5

Компоненты теста: Описание

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

Компоненты теста: Описание Данный файл предназначен для группировки тестовых сценариев по каким-либо
Он определяет последовательность исполнения тестов и является входной точкой для автоматического скрипта.
Место расположения файла - TestData\ на одном уровне с папкой автоматического теста.
Порядок следования колонок в файле не регламентируется

Suite file

Слайд 6

Структура Suite файла:

Структура Suite файла:

Слайд 7

Test script file

Данные файлы содержат последовательность вызова test actions и данные для

Test script file Данные файлы содержат последовательность вызова test actions и данные
них. Кроме перечисленных в таблице колонок в файле могут содержаться любые другие колонки, в зависимости от параметров вызываемых действий.

Слайд 8

Структура Test script файла:

Структура Test script файла:

Слайд 9

Test driver file

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

Test driver file Данный модуль реализуется в виде Action. Он является единственным
action в test flow qtp. Все остальные действия вызываются из данного action. Входными данными для данного action является имя Suite file.
Модуль считывает данные из test script file, формирует объект Dictionary с параметрами и организует последовательный вызов действий, описанных в Test script file, и передает результаты вызовов в reporter для генерации отчета о тестировании.
Передача данных в actions организуется через параметр “data” объекта Environment.

Слайд 10

Алгоритм работы:

Алгоритм работы:

Слайд 11

Test actions

Данные модули реализуются в виде Action qtp и обеспечивают выполнение тестовых

Test actions Данные модули реализуются в виде Action qtp и обеспечивают выполнение
действий. Данные передаются в action через параметр data объекта Environment.
Отдельный test action реализует законченный шаг теста (открыть форму, создать элемент, проверить элемент). Каждый test actionв начале работы должен проверить состояние UI и привести его к исходному для данного test action (например, открыть необходимую форму, если она не открыта). На выходе каждый test action должен сгенерировать объект Dictionary.
Каждый test action должен заканчиваться инструкцией ExitAction Test Actions должны взаимодействовать с AUT посредствам объектов в Object Repository(OR). Допускается обращение к UI c использование descriptive programming, но предпочтение должно отдаваться использованию OR.

Слайд 12

Элементы объекта Dictionary

Элементы объекта Dictionary

Слайд 13

Хорошие практики проектирования тестовых действий (test actions)

Хорошие практики проектирования тестовых действий (test actions)

Слайд 14

Атомарность

Тестовое дейсnвие должно проектироваться таким образом, чтобы по возможности выполнять атомарное

Атомарность Тестовое дейсnвие должно проектироваться таким образом, чтобы по возможности выполнять атомарное
действие (т.е. если есть возможность разделить код на два тестовых действия - лучше делить). При этом под действием понимается не клик мышкой по объекту, а законченное действие с т.з. бизнес-процесса (например: создание заказа, проверка данных заказа, отмена заказа).

Слайд 15

Автономность

Перед выполнением необходимых действий, тестовое действие должено проверять соответствие состояния AUT

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

Слайд 16

Формирование результата

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

Формирование результата При выводе результата проверки в отчет необходимо ограничиваться не только
(pass/fail) но и выводить ожидаемый и фактический результат.

Слайд 17

Описание объектов UI

При описании объектов UI в OR необходимо придерживаться следующих

Описание объектов UI При описании объектов UI в OR необходимо придерживаться следующих
принципов:
Если можно обойтись без использования Smart Identification, то лучше обходиться без него.
Если можно сгруппировать объекты внутри иерархии (По умолчанию QTP записывает все объекты страницы плоским списком), то лучше группировать.
Если есть элементы, повторяющиеся на всех (или большинстве) страницах, то лучше вынести такие объекты на generic страницу.

Слайд 18

Работа со сложными объектами UI

Для работы со сложными объектами UI (таблицы, меню,

Работа со сложными объектами UI Для работы со сложными объектами UI (таблицы,
комбобоксы) желательно создавать отдельные классы (в отдельной functional library) и всю внутреннюю логику работы реализовывать именно там.

Слайд 19

Стабильность теста

При разработке авто теста следует помнить, что авто тест – это

Стабильность теста При разработке авто теста следует помнить, что авто тест –
программа предназначенная для тестирования другой программы (AUT). Т.е. при разработке авто теста следует учитывать вероятность ошибок в AUT. Это означает, что при выполнении авто тест должен быть стабильнее AUT и «падать» он должен только в крайнем случае (желательно перед этим записав причину в отчет).

Слайд 20

Список полезной литературы

VB Script:
http://www.w3schools.com/Vbscript/default.asp
http://www.askit.ru/custom/progr_admin/progr_admin_plan.htm (c п.2 по п.4)
VB

Список полезной литературы VB Script: http://www.w3schools.com/Vbscript/default.asp http://www.askit.ru/custom/progr_admin/progr_admin_plan.htm (c п.2 по п.4) VB
Script Reference из хелпа по QTP
QTP:
Quick Test Professional Tutorial
QuickTest User’s Guide
Для ознакомления с DOM структурой
http://www.w3.org/DOM/
http://msdn.microsoft.com/en-us/library/ms764730(VS.85).aspx
Имя файла: Основные-принципы-построения-автоматического-теста-при-помощи-QTP.pptx
Количество просмотров: 157
Количество скачиваний: 0