Тестові рамки автоматизації - речі, які ви повинні знати!

Зміст:

Anonim

У цьому підручнику ви дізнаєтесь

  • Що таке фреймворк?
  • Що таке TEST Automation Framework?
  • Типи рамки автоматизації
  • 1) Лінійні сценарії - запис і відтворення
  • 2) Структура архітектури тестової бібліотеки.
  • 3) Структура тестування на основі даних.
  • 4) Структура тестування на основі ключових слів або таблиці.
  • 5) Структура автоматизованої гібридної перевірки.

Що таке фреймворк?

Замість того, щоб надати книжкове визначення структури, давайте розглянемо приклад.

Я впевнений, що ви відвідували семінар / лекцію / конференцію, де учасникам було запропоновано дотримуватися наступних рекомендацій -

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

Як ви думаєте, чи можете ви провести семінар БЕЗ дотримання цих вказівок ????

Відповідь - великий ТАК! Звичайно, ви можете провести семінар / лекцію / конференцію / демонстрацію без вищевказаних вказівок (насправді деякі з нас не будуть їх виконувати, навіть якщо там закладено ... :-)

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

Виходячи з вищевикладеного, структуру можна визначити як набір керівних принципів, які при дотриманні дають корисні результати.

Що таке TEST Automation Framework?

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

Типи рамки автоматизації

1) Лінійний сценарій
2) Тестова архітектура архітектури.
3) Структура тестування на основі даних.
4) Структура тестування на основі ключових слів або таблиці.
5) Структура автоматизованої гібридної перевірки.

Давайте розглянемо їх детально -

1) Лінійні сценарії - запис і відтворення

Це найпростіший з усіх фреймворків, а також відомий як "Запис і відтворення". У цьому фреймворку Tester вручну записує кожен крок (навігація та введення користувачами), вставляє контрольні точки (кроки перевірки) у першому раунді. Потім він відтворює записаний сценарій у наступних раундах.

Приклад: розгляньте можливість входу в програму бронювання польотів та перевірку того, чи завантажилась програма під час успішного входу. Тут тестер просто запише кроки та додасть етапи перевірки.

SystemUtil.Run "flight4a.exe", "", "", "open"Діалогове вікно ("Вхід"). WinEdit ("Ім'я агента:"). Набір "Guru99"Діалогове вікно ("Вхід"). WinEdit ("Пароль:"). Набір "Ртуть"Діалогове вікно ("Вхід"). WinButton ("ОК"). Клацніть'Перевірте, чи завантажилося вікно бронювання польотів після успішної реєстраціїВікно ("Резервування польоту"). Перевірити CheckPoint ("Бронювання польоту")

Переваги

  • Найшвидший спосіб створення сценарію
  • Експертиза з автоматизації не потрібна
  • Найпростіший спосіб вивчити особливості інструменту тестування

Недоліки

  • Невелике повторне використання сценаріїв
  • Тестові дані чітко закодовані в сценарії
  • Кошмар технічного обслуговування

2) Структура архітектури тестової бібліотеки.

Він також відомий як "Структуровані сценарії" або "Функціональне розкладання".

У цій структурі тестові сценарії спочатку записуються методом "Запис і відтворення". Пізніше загальні завдання всередині сценаріїв визначаються та групуються у функції. Ці функції викликаються основним тестовим сценарієм, який називається Driver, по-різному для створення тестових кейсів.

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

Вхід до функції ()SystemUtil.Run "flight4a.exe", "", "", "open"Діалогове вікно ("Вхід"). WinEdit ("Ім'я агента:"). Набір "Guru99"Діалогове вікно ("Вхід"). WinEdit ("Пароль:"). Набір "Ртуть"Діалогове вікно ("Вхід"). WinButton ("ОК"). КлацнітьКінцева функція

Тепер ви викличете цю функцію в основному сценарії наступним чином

Зателефонувати Увійти ()---------------------------Інші виклики функцій / кроки тесту.---------------------------

Переваги

  • Більш високий рівень повторного використання коду досягається у структурованих сценаріях порівняно з "Записом та відтворенням"
  • Сценарії автоматизації розробляються дешевше через більш високе повторне використання коду
  • Простіше обслуговування скриптів

Недоліки

  • Технічний досвід необхідний для написання сценаріїв із використанням Test Library Framework.
  • Для планування та підготовки тестових сценаріїв потрібно більше часу.
  • Тестові дані жорстко закодовані в сценаріях

3) Структура тестування на основі даних.

У цій структурі, поки логіка тестового випадку знаходиться в тестових сценаріях, тестові дані відокремлюються та зберігаються поза тестовими сценаріями. Тестові дані зчитуються із зовнішніх файлів (файли Excel, текстові файли, файли CSV, джерела ODBC, об'єкти DAO, об'єкти ADO) і завантажуються у змінні всередині тестового сценарію. Змінні використовуються як для вхідних значень, так і для перевірочних значень. Самі тестові сценарії готуються або за допомогою лінійних сценаріїв, або тестової бібліотеки.

Приклад: Розробка сценарію реєстрації польотів за допомогою цього методу передбачає два етапи.

Крок 1) Створіть файл тесту - файл даних, який може бути Excel, CSV або будь-яким іншим джерелом бази даних.

AgentName

Пароль

Джиммі

Меркурій

Тіна

МЕРКУРІЙ

Білл

MerCURY

Крок 2) Розробіть тест сценарію та зробіть посилання на джерело даних тесту.

SystemUtil.Run "flight4a.exe", "", "", "open"Діалогове вікно ("Вхід"). WinEdit ("Ім'я агента:"). Встановити таблицю даних ("Ім'я агента", dtGlobalSheet)Діалогове вікно ("Вхід"). WinEdit ("Пароль:"). Встановити таблицю даних ("Пароль", dtGlobalSheet)Діалогове вікно ("Вхід"). WinButton ("ОК"). Клацніть'Перевірити завантажено вікно бронювання польотівВікно ("Резервування польоту"). Перевірити CheckPoint ("Бронювання польоту")** Примітка "dtGlobalSheet" - це аркуш Excel за замовчуванням, наданий QTP.

Переваги

  • Зміни до тестових сценаріїв не впливають на тестові дані
  • Тестові випадки можуть виконуватися з кількома наборами даних
  • Різноманітні сценарії тесту можна виконати, просто змінивши дані тесту у файлі зовнішніх даних

Недоліки

  • Потрібно більше часу для планування та підготовки як тестових сценаріїв, так і тестових даних

4) Структура тестування на основі ключових слів або таблиці.

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

Існує 3 основні компоненти Framework Driven Framework, а саме. Ключове слово, карта додатка, функція компонента.

Що таке ключове слово?

Ключове слово - це дія, яку можна виконати з компонентом графічного інтерфейсу. Напр. Для текстового поля компонентів графічного інтерфейсу деякі ключові слова (Action) будуть InputText, VerifyValue, VerifyProperty тощо.

Що таке карта додатків?

Карта додатків містить іменовані посилання на компоненти графічного інтерфейсу. Карти додатків - це не що інше, як " Репозиторій об'єктів "

Що таке функція компонента?

Функції компонентів - це ті функції, які активно маніпулюють або допитують компонент графічного інтерфейсу. Прикладом функції може бути натискання веб-кнопки з усіма обробками помилок, введення даних у веб-редагуванні з усіма обробками помилок. Компонентні функції можуть бути залежними від програми або незалежними.

Приклад : Щоб зрозуміти подання ключових слів, давайте візьмемо той самий приклад. Він викликає 2 кроки

Крок 1 : Створення таблиці даних (відрізняється від таблиці тестових даних, створеної в Data Driven Framework). Ця таблиця даних містить дію, що виконується над об'єктами графічного інтерфейсу, та відповідні аргументи, якщо такі є. Кожен рядок представляє один тестовий крок.

Об'єкт

(КАРТА додатка)

Дія

(КЛЮЧОВІ СЛОВА)

Аргумент

WinEdit (ім'я агента)
Встановити
Гуру99
WinEdit (Пароль)
Встановити
Меркурій
WinButton (OK)
Клацніть
Вікно (бронювання польоту)
Перевірити
Існує

Крок 2 : Написання коду у вигляді компонентних функцій.

Після створення таблиць (таблиць) даних ви просто пишете програму або набір сценаріїв, які читаються на кожному кроці, виконують крок на основі ключового слова, що містить поле Дія, виконує перевірку помилок і реєструє будь-яку відповідну інформацію. Ця програма або набір сценаріїв буде виглядати подібно до псевдокоду нижче:

Функція основна (){Call ConnectTable (Назва таблиці) {// Функція виклику для підключення до таблиці.while (Call TableParser ()! = -1) // Функція виклику для синтаксичного аналізу та вилучення значень з таблиці.{Передайте значення відповідним функціям COMPONENT. Подібно набору (ім'я об'єкта, аргумент), наприклад, Set (ім'я агента, Guru99).}}Виклик CloseConnection () // Функція закриття з'єднання після того, як була виконана вся операція.} // Кінець головного

Це все до фреймворку, керованого ключовими словами.

Перевага Framework Driven Framework полягає в тому, що ключові слова можна використовувати повторно. Щоб зрозуміти це, розгляньте, що ви хочете підтвердити операцію входу для веб-сайту, скажімо YAHOO MAIL Таблиця буде виглядати так -

Об'єкт (ЗАЯВНА КАРТА) Дія (КЛЮЧОВЕ СЛОВО) Аргумент
WebEdit (ім'я користувача) Встановити Ця електронна адреса захищена від спам-ботів. Вам потрібно увімкнути JavaScript, щоб переглянути його.
WebEdit (Пароль) Встановити ххххх
WebButton (OK) Клацніть
Вікно (Yahoo Mail) Перевірити Навантаження

Якщо ви спостерігаєте в цьому випадку набір ключових слів, клацання, перевірка залишаються тими ж, для яких відповідні функції компонентів вже розроблені. Все, що вам потрібно зробити, це змінити програму відображення програм (сховище об’єктів) з попередньої резервації польоту на Yahoo Mail, зі зміною значень аргументів і той самий сценарій буде працювати!

Переваги

  • Забезпечує високе повторне використання коду
  • Незалежний інструмент тестування
  • Незалежно від тестової програми, той самий сценарій працює для AUT (з деякими обмеженнями)
  • Тести можуть бути розроблені як з АВТ, так і без нього

Недоліки

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

ПРИМІТКА. Незважаючи на те, що Micro Focus UFT рекламує себе як KeyWord Driven Framework, за допомогою HP UFT ви не можете досягти повної незалежності інструменту тестування та застосування.

5) Структура автоматизованої гібридної перевірки.

Як випливає з назви, цей фреймворк являє собою поєднання одного або декількох фреймворків, про які йшлося вище, використовуючи їх сильні сторони та намагаючись пом'якшити їх слабкі сторони. Ця гібридна система автоматизації тестів - це те, в що розвивається більшість фреймворків з часом та в декількох проектах. Максимальна галузь використовує Framework ключових слів у поєднанні методу декомпозиції функцій.

PS: Варто згадати й інші фреймворки

Структура модульної перевірки

У цій структурі загальні завдання в тестовому сценарії згруповані як модулі.

Приклад : Використання дій у QTP може створити сценарії Modualr

Зразок сценарію для входу

SystemUtil.Run "flight4a.exe", "", "", "open"Діалогове вікно ("Вхід"). WinEdit ("Ім'я агента:"). Набір "Guru99"Діалогове вікно ("Вхід"). WinEdit ("Пароль:"). Набір "Ртуть"Діалогове вікно ("Вхід"). WinButton ("ОК"). Клацніть'Кінець сценарію

Тепер ви можете викликати цю дію в основному сценарії наступним чином -

RunAction ("Вхід [Аргумент]", oneIteration)

Тестування бізнес-процесів (BPT)

Цей фреймворк розбиває великі бізнес-процеси на компоненти, які можна повторно використовувати кілька разів в одних і тих самих або різних тестових сценаріях. Наприклад, бізнес-процес бронювання рейсу розділений на такі компоненти, як Вхід, Пошук рейсів, Бронювання, Оплата та Вихід, які можуть бути використані повторно в одному бізнес-процесі або різних процесах. Крім того, BPT сприяє тіснішій координації діяльності середніх та малих підприємств та інженерів з автоматизації.