qtp frameworks test automation frameworks keyword driven
=> Клацніть тут для серії навчальних посібників з QTP
що може відкрити файл JSON
Що таке Framework автоматизації тестів і що таке QTP Framework?
У контексті успішного впровадження QTP для проекту тестування програмного забезпечення ми часто стикаємося з концепцією фреймворків. Структура - це не що інше, як підхід, якого ми послідовно дотримуємося в процесі автоматизації, - набір керівних принципів.
Особисто я не люблю називати імена та говорити, що одне працює краще за інше. Вибір певної основи - це не початок проекту. Це правда навпаки. У процесі розробки стратегії тестування ви формуєте правила, які застосовуються до поточної ситуації тестувальника, і саме там є ваша структура.
Сказавши це, нижче наведено деякі важливі моменти, які ми повинні врахувати:
- Багаторазове використання
- Просте обслуговування сценарію
- Начитаність сценаріїв
- Хороша працездатна структура папок для всіх тестових ресурсів
- Немає жорстких значень кодування
- Немає каскаду відмов. (тобто якщо одне тестування не вдається, це не повинно спричинити збій або зупинку інших)
Це основний список, і на основі вимоги можна додати більше.
Будь-яка стратегія тестування, яка намагається включити деякі або всі перераховані вище пункти, є вашою структурою автоматизації випробувань.
Існують різні назви та типи фреймворків. Далі наводиться перелік фреймворків за моїми словами:
Що ви дізнаєтесь:
- Типи фреймворків автоматизації: (застосовується до фреймворку QTP)
- Лінійний каркас
- Управління ключовими словами
- Рекомендована література
Типи фреймворків автоматизації: (застосовується до фреймворку QTP)
- Лінійний - Найпростіша форма створення тесту. Просто напишіть одну програму без модульності послідовними кроками
- На основі ключових слів - Створіть різні ключові слова для різного набору операцій, і в основному сценарії ми можемо просто посилатися на ці ключові слова.
- На основі даних - Для запуску одного і того ж набору операцій над кількома наборами даних, які зберігаються в окремих файлах, переважно Excel-аркушах.
- Гібридний - Комбінований фреймворк, який може бути частково керований даними, а частково ключовими словами
- BPT - Це просто означає, що програми розбиті на бізнес-компоненти і використовуються з тими чи іншими вищезазначеними типами фреймворків
Лінійний каркас
Як обговорювалося, цей підхід передбачає просто написання коду під час запису та продовження.
Наприклад, якщо операцією, яку потрібно перевірити, є створення нового облікового запису в Gmail, наступні кроки:
- Відкрийте gmail.com
- Натисніть «Створити рахунок»
- Введіть деталі
- Перевірте деталі
- Створіть обліковий запис
'Open GMail SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' 'Page Sync Browser('Gmail').Page('Gmail').Sync ‘Click on create account Browser('Gmail').Page('Gmail').WebLink(“Create Account”).Click ‘Enter the details Browser('Gmail').Page('Google Accounts').WebEdit(“First Name”).Set “Swati” Browser('Gmail').Page('Google Accounts').WebEdit(“Last Name”).Set “test” ‘Fill in several other details ‘Submit Browser('Gmail').Page('Google Accounts').WebButton(“Next Step”).click
Вище наведено приклад того, як виглядає програма, яка використовує лінійний метод. На даний момент очевидно, якими є переваги та недоліки цього методу.
Переваги:
- Простота. Для програміста-початківця цей метод є доречним
- Час - На створення тесту не потрібно багато часу
- Потрібно дуже мало планування
Недоліки:
- Відсутність багаторазового використання взагалі
- Якщо є інший скрипт, який підтверджує певний аспект сторінки «Облікові записи Google», вам доведеться переписати код, щоб також запустити сторінку gmail.com. Так багато повторень.
- Всі дані безпосередньо вбудовані в код. Жорстке кодування не дозволяє використовувати код для будь-якого іншого набору даних.
- Схильні до помилок та технічного обслуговування
Хоча мінуси переважають плюси, цей метод можна використовувати, коли ваша мета сувора для виконання завдання без перевірки.
Компонентами тестових активів у таких структурах є:
- Тестовий сценарій
- Сховище об’єктів (Цього можна уникнути, використовуючи описове програмування, якщо це необхідно)
Управління ключовими словами
Як ми можемо покращити вищезазначений лінійний фреймворк-тест? Як ми можемо подолати мінуси?
як дивитись аніме в Інтернеті безкоштовно -
Очевидно, що нам потрібні багаторазове використання, модульність та читабельність. Спроба включити ці функції та досягнення оптимального рішення - це не що інше, як спроба створити новий, більш вдосконалений фреймворк.
Що таке багаторазові компоненти?
- Запуск Gmail і вихід на сторінку „Облікові записи Google”. Це дане, оскільки перевірка цієї сторінки означає спочатку потрапити сюди. 'GoTo Google Account' - можна перетворити на окрему функцію, яку можна викликати знову і знову.
- Введіть деталі та підтвердьте їх - Ви можете додатково розбити це на позитивні та негативні блоки, щоб включити більше рівня модульності
- Створення облікового запису - Кінцевий рівень перевірки та виконання поставленого завдання
Як тільки ви прибули сюди, ви не тільки визначили компоненти, які можна викликати знову і знову, але ви також розбили вашу лінійну програму на модулі.
що може відкрити файл .dat
Функції:
Поки що в нашій серії ми не мали справу з функціями. Функції - це не що інше, як шматок коду, який виконує певні операції. Він приймає вхідні параметри від програми, яка викликає його, і повертає йому значення.
Як загальна практика, всі шматки коду, які можна багаторазово використовувати, згруповані у файл, який містить усі функції багаторазового використання. Цей файл пов'язаний з ресурсом для вашого тесту QTP. Зазвичай бібліотекою функцій може бути файл типу: .vbs, .txt або .qfl
Повернімось до нашого прикладу- Ось яким може бути файл бібліотеки функцій:
Function gotoGoogleAccount() 'Open Gmail SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' 'Page Sync Browser('Gmail').Page('Gmail').Sync ‘Click on create account Browser('Gmail').Page('Gmail').WebLink(“Create Account”).Click ‘Enter the details End Function Function EnterDetails() Browser('Gmail').Page('Google Accounts').WebEdit(“First Name”).Set “Swati” Browser('Gmail').Page('Google Accounts').WebEdit(“Last Name”).Set “test” ‘Fill in several other details End Function Function SubmitToCreate() ‘Submit Browser('Gmail').Page('Google Accounts').WebButton(“Next Step”).click End Function
Тепер ваш фактичний сценарій буде таким:
'Open GMail gotoGoogleAccount() ‘Enter the details EnterDetails() ‘Submit SubmitToCreate()
З наведеної програми тепер стає зрозуміло, що ми досягли читабельності, модульності, і якщо у випадку, якщо інша програма захоче використовувати функцію входу, ми можемо її використовувати повторно. Все, що вам потрібно зробити, - це приєднати бібліотеку функцій до цього нового тесту, і ви готові піти.
Ви також можете помітити, що у вашому сценарії імена функцій функціонують так, ніби вони є VBScript ключові слова, а отже і назва цього фреймворку.
Компонентами тестових активів у таких структурах є:
- Тестові сценарії
- Спільний АБО
- Бібліотека спільних функцій
Що ще може зробити цю програму ще кращою? Якби ми могли зробити функцію EnterDetails () для прийому різних наборів даних і створення різних облікових записів, і не обмежуючись даними, які ми жорстко закодували в програму. Це саме наступний крок. Дані, що керують вашими тестами, і підхід, коли ми це робимо, - це структура, керована даними.
Ми обговоримо Керовані даними та гібридні фреймворки детально у наступному підручнику.
=> Завітайте сюди, щоб дізнатись про серію навчальних посібників з QTP
Якщо у вас є які-небудь проблеми, пов’язані з фреймворком QTP, які не висвітлюються в цих статтях, повідомте нам про це. Ми точно спробуємо відповісти на ваші запитання.
Рекомендована література
- Найпопулярніші рамки автоматизації тестів з плюсами та мінусами кожного - Підручник селену №20
- Автоматизація тестів - це спеціалізована кар’єра? Чи можуть звичайні тестери також робити автоматизацію?
- Навіщо нам потрібні рамки для автоматизації тестів?
- Підручник з QTP # 18 - Управління даними та гібридні фреймворки, пояснені на прикладах QTP
- Чим відрізняється планування тестів для проектів, що проводяться вручну та автоматизації?
- Як працює тестування на основі даних (приклади QTP та селену)
- Як вибрати найкращий засіб тестування автоматизації (повне керівництво)
- Data Driven Framework у Selenium WebDriver з використанням Apache POI