Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
YAIS_edit4.doc
Скачиваний:
5
Добавлен:
22.12.2018
Размер:
4.01 Mб
Скачать

Лабораторна робота №1 Знайомство з засобами ibm Rational Functional Tester. Розробка скриптів тестування з використанням Script Recorder

1.1 Мета роботи

Вивчити основні можливості IBM Rational Functional Tester, ознайомитись з його пакетами, класами API, порядком розробки скриптів.

1.2 Основні теоретичні відомості

IBM Rational Functional Tester – професійний інструмент для автоматичного функціонального і регресійного тестування, призначений для тестувальників та розробників для користувача інтерфейсу, яким необхідний особливий контроль за процесом тестування Java-, Microsoft Visual Studio. NET-, а також веб-орієнтованих додатків.

IBM Rational Functional Tester інтегрується з інтерфейсом двох популярних середовищ розробки: Microsoft Visual Studio і Eclipse. IBM Rational Functional Tester можна інсталювати безпосередньо в оболонку Visual Studio і створювати тестові скрипти на Visual Basic. NET. Також IBM Rational Functional Tester можна встановити на платформу Eclipse вже встановлену або пропоновану Rational як частина інсталяційного пакета Functional Tester. У даному випадку для тестових скриптів використовується Java-код.

Functional Tester підтримує функціональне регресійне тестування безлічі типів додатків, включаючи створені із застосуванням таких технологій:

- Платформа Java;

- Web (HTML);

- Microsoft ®. NET;

- Siebel;

- SAPgui;

- Консольні додатки (3270, 5250 і VT100).

Все вище перелічене може бути протестовано як з Eclipse-, так і з Visual Studio-базованої інсталяцією Functional Tester.

Запуск Functional Tester. Functional Tester запускається з меню "Пуск" Windows, за допомогою вибору Programs IBM Rational  Functional Tester IBM  Rational Functional Tester Java Scripting. При першому запуску Functional Tester, програма попросить вказати розташування робочого репозиторію, як показано на рис. 1.1. Репозиторієм може бути будь-яка директорія, в якій будуть зберігатися результати роботи (можна вибрати запропонований за замовченням репозиторій або створити свій).

Рисунок 1.1– Вибір директорії-репозиторія

Після того, буде обрана директорія-репозиторій, з’явиться стартова сторінка, наведена на рис. 1.2. Вона містить посилання для швидкого доступу до документації та прикладів. Натисніть на іконку Overview для перегляду керівництва по Functional Tester.

Рисунок 1.2 – Стартова сторінка

Закрийте стартову сторінку, і з’явиться проекція Functional Test. Проекцією в термінології Eclipse називається об'єднання інструментів і засобів, згрупованих для роботи з певним завданням. Проекція Functional Test, як видно з назви, пропонує засоби, необхідні розробнику або інженеру з якості, що працює над перевіркою функціональних вимог до додатка.

Підготовка тестового оточення. Даний розділ описує процес підготовки робочого оточення до тестування за допомогою Functional Tester. Необхідно:

– створити репозиторій, або проект, в якому будуть зберігатися дані Functional Tester;

– підготувати робоче оточення до тестування;

– конфігурувати додаток для проведення тестів.

Створення нового проекту функціонального тесту. Почніть з створення проекту Functional Test з назвою MyFunctionalTestProject для зберігання тестових скриптів, даних і об'єктних карт.

  1. Запустіть Functional Tester і виберіть репозиторій, як показано в попередньому розділі, якщо це ще не було зроблено.

  2. Використовуючи головне меню, виберіть File  New  Functional Test Project. З’явиться вікно, показане на рис. 1.3.

  3. Введіть MyFunctionalTestProject в поле, відповідне імені проекту, і натисніть Finish.

Рисунок 1.3 – Майстер створення проекту Functional Test

Як видно з рис. 1.4, два нових компонента додані у вікно проектів Functional Test: один для тестових даних і один для зберігання логів з результатами.

Рисунок 1.4 – Окно проектов Functional Test

Налаштування робочого оточення. Тепер необхідно налаштувати робоче оточення. Це дозволить Functional Tester ідентифікувати об'єкти тестованої програми під час виконання програми.

1. Виберіть Configure  Enable Environments for Testing .... Вікно Enable Environments містить три закладки, як показано на рис. 1.5. Вони відповідають трьом типам об'єктів, які можуть знадобитися, в залежності від типу тестованої програми. Як правило, Internet Explorer є браузером за замовчуванням для тестового відтворення та перевірки його доступності.

Рисунок 1.5 – Вікно Enable Environments

2. Functional Tester здатний тестувати плагіни Eclipse і додатки RCP. Якщо встановлені додаткові платформи Eclipse, можна дозволити їх тестування на закладці Eclipse Platforms.

3. Виберіть закладку Java Environments. IBM SDP Java Runtime Environment (JRE) є оточенням за замовчуванням для тестування Java-додатків і є доступним до тестування за допомогою Functional Tester. Якщо додаток використовує інше JRE, дозвольте його використання через цей інтерфейс. В рамках даної роботи, використовується JRE за замовчуванням, таким чином, не треба нічого змінювати на даній закладці.

4. Натисніть Finish для закриття вікна.

Налаштування тестованої програми. Налаштування тестованої програми не впливає на неї і не змінює її яким-небудь чином, насправді, вона дозволяє створити посилання, або покажчик, в оточенні Functional Tester, що спрощує запуск програми, але робить тести більш придатними до портування на інші тестові машини.

1. Виберіть Configure  Configure Applications for Testing ... У вікні налаштування тестованої програми, показаному на рис. 1.6, буде відображений список всіх програм, які були налаштовані для тестування за допомогою Functional Tester. Functional Tester містить приклад Java-додатка з використанням Swing, яке називається ClassicsJava. Дві версії ClassicsJava доступні, і параметри для них настроюються Functional Tester автоматично при установці. Можна подивитися на прикладі, як налаштовуються різні параметри запуску (такі, як шлях до JAR-файлу, classpath, JRE і робоча директорія).

2. Так як в рамках даної лабораторної роботи тестування виконується з додатком ClassicsJava, на даний момент тут не треба що-небудь змінювати. Натисніть Finish, і вікно закриється.

Рисунок 1.6 – Вікно налаштування тестованої програми

Запис тесту. Тести можуть створюватися шляхом написання коду, запису, або комбінації цих дій. Навіть якщо планується розширити стандартний функціонал тесту, набагато простіше спочатку записати тест, а далі змінювати необхідним чином, ніж створювати його з нуля.

Наприклад, запишемо імітацію покупки CD в додатку-прикладі ClassicsJava.

Запуск рекордера. Запустіть рекордер, натиснувши червону кнопку запису на панелі інструментів.

У вікні параметрів скрипта, надайте йому ім'я PlaceOrder та натисніть Finish. Запуститься рекордер тестів, додаток Functional Tester буде згорнуто, і з’явиться панель керування процесом запису, показана на рис. 1.7. Вона містить кілька корисних у процесі запису функцій, проте в цій роботі використовуються тільки деякі з них.

Рисунок 1.7 – Панель управління записом тесту

1. Запустіть тестований додаток.

2. Натисніть на кнопку старту програми для виконання команди ClassicsJavaA – java. Запуститься ClassicsJava (білд А).

Врахуйте, що тепер усі операції з додатком ClassicsJava будуть записані. Виберіть Schubert> Symphonies Nos. 5 & 9 з деревовидного списку Composers.

3. Натисніть Place Order.

4. Цей додаток не перевіряє введені логін і пароль на коректність. Для простоти, використовуйте логін і пароль за замовчуванням, коли вони будуть потрібні, однак, не забудьте включити опцію Remember Password, це дозволить переконатися в стійкості тестового механізму Functional Tester надалі.

5. Натисніть OK для виходу у вікно розміщення замовлень.

Управління даними. За замовченням, будь-яке натиснення клавіш відстежується і запам'ятовується при створенні тестового скрипта. Functional Tester має дуже потужну можливість розпізнавання даних, введених користувачем, і навігаційних команд тіста, окремо. Таким чином, один тестовий метод може бути повторно використаний з різними наборами даних, дозволяючи використовувати тести багаторазово і значно знижуючи час і зусилля, витрачені на їх розробку.

1. У вікні розміщення замовлень, введіть 1111 2222 3333 4444 в якості номера кредитної карти, залиште тип карти як Visa, і введіть 12/08 в поле дати закінчення (Expiration Date).

2. З панелі керування записом, перетягніть іконку додавання керованих даними команд (Insert Data Driven Commands) на форму замовлення. Форма повинна відобразитися в червоному прямокутнику, як показано на рис. 1.8.

3. При появі вікна додавання керованих даними дій, показаного на рис. 1.9, Functional Tester припустить, що необхідно контролювати дані всіх полів і об'єктів на формі додатку. Однак, в даному випадку необхідно управляти лише інформацією про кредитну картку. Це дозволить використовувати той самий скрипт для запуску тестів з кількома номерами карт. Для видалення непотрібних тестових об'єктів, виділіть кожен з них і натисніть на іконку з червоним хрестом. Виконайте дані дії для всіх об'єктів, крім CardNumberIncludeTheSpaces, creditCombo, і ExpirationDateText.

Рисунок 1.8 – Вибір полів для управління даними

4. Натисніть OK для підтвердження вищеописаних дій.

5. Натисніть кнопку "Place Order" у вікні додавання замовлення. Після появи вікна із запитом підтвердження, перевірте коректність тексту в цьому вікні так, як описано нижче.

Рисунок 1.9 – Вікно додавання керованих даними дій

Верифікація динамічних даних. Програми, як правило, відповідають на введення даних інформацією, яку не можна повністю визначити. Наприклад, повідомлення про підтвердження замовлення, одержуване в ClassicsJava, містить двозначний код підтвердження. Можна визначити, що в подальшому відповідна інформація буде двозначним числом, але його значення буде щоразу змінюватися. Необхідно переконатися в коректності шаблону повідомлення, не переймаючись питанням про конкретне значення числа (точки верифікації Functional Tester мають даний функціонал).

1. Перетягніть кнопку Insert Verification Point or Action з панелі управління записом на текст у вікні повідомлення, показаному на рис.1.10. Коли червоним виділиться тільки текст, що починається з "Your order has been received ...", відпустіть клавішу миші.

Рисунок 1.10 – Вибір тексту для верифікації

2. Існують різні типи точок верифікації. Зараз додамо просту точку верифікації даних. Натисніть Next двічі для прийняття значень за замовчуванням.

3. У вікні параметрів точки верифікації, натисніть кнопку конвертації значення в регулярний вираз (Convert Value to Regular Expression). Регулярні вирази є мовою розпізнавання шаблонів.

4. Відредагуйте дані в вікні – зітріть двозначний номер.

5. Клацніть правою кнопкою миші на місці, де номер був раніше. З'явиться контекстне меню зі списком найбільш часто використовуваних шаблонів регулярних виразів. Використовуйте контекстне меню для вставки \ d \ d на місце видаленого числа. Цей шаблон означає, що на відповідному місці має бути двозначне число, але не вказує точні числа. Тест буде невдалим, якщо число буде складатися з одного або трьох знаків, або буде містити що-нібудть крім 0–9 на місці кожного знака. Ваші дані повинні виглядати так само, як на рис. 1.11.

Рисунок 1.11 – Точка верификації даних с регулярним виразом

6. Functional Tester дозволяє переконатися, що регулярний вираз складено правильно і він працює так, як очікується. Для цього натисніть Evaluate Regular Expression на панелі, що на рис. 1.12.

Рисунок 1.12 – Кнопка перевірки регулярного виразу

7. У вікні перевірки регулярного виразу можна перевірити різні шаблони за допомогою поля "Match Against Value". Змініть його значення і натисніть Evaluate. Можна буде побачити, відповідає введене значення регулярному виразу, чи ні.

8. Коли переконаєтеся, що шаблони працюють коректно, натисніть OK у вікні перевірки.

9. Натисніть Finish у вікні додавання точки верифікації, щоб повернутися назад в режим запису.

10. Натисніть OK у вікні підтвердження програми ClassicsJava.

Верифікація статичних даних. Нарешті, необхідно додати точку верифікації для перевірки коректності обробки замовлення.

1. У меню програми ClassicsJava, виберіть Order> View Existing Order Status. Натисніть OK для повторного заходу у додаток.

2. Коли замовлення буде відображено, натисніть і перетягніть кнопку "Verification Point and Action" на інформацію про замовлення так, щоб форма замовлення відобразилася в червоному прямокутнику, як показано на рис. 1.13.

Рисунок 1.13 – Вибір замовлення для верифікації

3. Натисніть Next 2 рази на вікні відкритого помічника.

4. У третьому вікні вкажіть значення даних Table Contents і натисніть Next.

5. Нарешті, натисніть Finish для збереження значення таблиці як еталонних даних, які будуть використовуватися для перевірки при наступних запусках тесту. Відбудеться повернення в режим запису.

6. Закрийте програму і зупиніть запис. Натисніть Close у вікні перегляду поточних замовлень (View Existing Orders).

7. Натисніть кнопку з червоним хрестом у верхньому правому куті вікна програми ClassicsJava.

8Натисніть кнопку зупинки запису (Stop Recording) на панелі записи.

9. Закрийте з'явилися вікна допомоги і карти об'єктів (Object Map).

Вивчення тесту. Вивчення карти тестових об'єктів (Test Object Map). Після завершення запису тесту, вікно Functional Tester буде відновлено. Записаний тестовий скрипт буде знаходитися в центрі екрану. Перегляньте код і вивчіть записані програмою команди тесту.

Справа знаходиться вікно Script Explorer, яке відображає інформацію про скрипт, таку як класова ієрархія, пули даних, точки верифікації, і тестові об'єкти, асоційовані з тестом.

Натисніть двічі на об'єкті creditCombo, що знаходиться в дереві тестових об'єктів. Відкриється вікно карти тестових об'єктів, як показано на ріс.1.14. Карта тестових об'єктів містить всі властивості перерахованих об'єктів, отриманих в процесі запису. Цей список властивостей буде використано при прогоні тестів для ідентифікації об'єктів в додатку. Ваговий коефіцієнт праворуч від кожної властивості показує, наскільки вона критично для розпізнавання.

Рисунок 1.14 – Карта властивостей об'єкта creditCombo

Цей конкретний запис у карті має шість властивостей. Запатентована для Functional Tester технологія неявної логіки ScriptAssure ™ використовує всі дані властивості для визначення відповідного об'єкта під час прогонки тесту. Зміна однієї властивості не спричинить за собою помилку в тесті. Навіть два або три властивості можуть бути змінені в новій версії тестованого програми, без побоювання, що тест виконається некоректно.

Закрийте карту тестових об'єктів.

Додавання тестових наборів даних в пул даних. Натисніть двічі на об'єкт Private Test Datapool у вікні Script Explorer. У нижній частині вікна буде показано пул даних, асоційований з даним скриптом, як показано на ріс.1.15. Натисніть правою кнопкою миші будь де у вікні пулу даних і виберіть пункт Add Record ... Для вашого тесту з'явиться ще один ряд даних. Натисніть двічі на поле з номером кредитної карти і введіть новий номер: 1234 1234 1234 1234. Змініть тип кредитної картки на Amex. В поле з датою закінчення, введіть дату 06/08.

Рисунок 1.15 – Тестовий пул даних

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]