Анатомія фреймворка автоматичного тестування - база знань

Анатомія фреймворка автоматичного тестування - база знань
У цій статті ми обговоримо ключові складові успішного фреймворка автоматизації.

Навіщо автоматизувати ваші тести?

Багато компаній виконують регресивні тести вручну. Виникає питання: Коли має сенс почати автоматизацію ваших регресійних тестів? Сенс з'являється тоді, коли ви вже не в змозі виконати тести для кожної збірки. Наприклад, коли у вас робиться щоденна або щотижнева збірка і ви не можете швидко виконати ваші регресивні тести для кожної збірки, то це саме час подумати про автоматизацію. Автоматизація тестів має такі переваги:

  • Швидкі релізи - Маючи автоматично виконуються регресивні тести, ваша команда тестувальників може сконцентруватися на тестуванні нових функцій і витрачати менше часу на регресіонний тестування існуючий функціональності
  • Кращу якість - Функціональність матимуть менше дефектів і вимагати менше підтримки, т.к якість буде значно вище
  • Задоволені клієнти - Клієнти і / або замовники будуть більш задоволені, тим самим ви отримаєте хорошу запис в портфоліо

Що таке фреймворк автоматичного тестування?

Для написання автоматичних тестів, більшість інструментів автоматизації вимагають від тестувальника розуміння скриптового мови (VB Script, Java Script, і т.д.). Зазвичай інструменти дозволяють створювати тести за допомогою запису і відтворення, але як правило такі скрипти не надто ефективні, не можуть бути перевикористання і важкі в підтримці. Фреймворк автоматичного тестування - це набір умов, концепцій і практик, спрямований на перевикористання, зменшення витрат на підтримку і підвищення надійності використання тестів.

Анатомія Успішного фреймворка автоматичного тестування

Коли ви проектуєте фреймворк, звертайте увагу на такі функції, так як вони можуть значно поліпшити його і зменшити ризик провалу автоматизації:

1. Keyword Driven підхід

2. Ітерації наборів даних

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

3. Розподілений запуск на декількох комп'ютерах

4. Автоматичний запуск за часом

Після того як ви разработаете ваші автоматичні тести, ви захочете запускати їх автоматично в призначений час. Тому, під час розробки фреймвормка вбудуйте можливість автоматичного запуску в завданні час (по днях тижня), вбудуйте можливість повторів (наприклад, запускати кожен день о 6 годині), не забувши при цьому про запуск на різних комп'ютерах.

5. Звіти результатів запуску