Підручник з автоматизованого тестування: Що таке автоматизоване тестування?

Зміст:

Anonim

Що таке автоматичне тестування?

Автоматизація тестування або тестування Автоматизація - це техніка тестування програмного забезпечення, яка виконує спеціальні програмні засоби автоматизованого тестування для виконання набору тестів. Навпаки, ручне тестування проводиться людиною, яка сидить перед комп’ютером, ретельно виконуючи етапи тестування.

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

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

Клацніть тут, якщо відео недоступне

У цьому навчальному посібнику з автоматизованого тестування програмного забезпечення ви вивчите основи автоматизації тестів, як-

  • Що таке автоматичне тестування?
  • Чому саме автоматичне тестування?
  • Які тестові випадки для автоматизації?
  • Автоматизований процес тестування
  • Вибір інструменту для тестування
  • Визначте сферу автоматизації
  • Планування, проектування та розробка
  • Виконання тесту
  • Основи для автоматизації
  • Найкращі практики роботи з інструментом автоматизації
  • Переваги автоматичного тестування
  • Види автоматизованого тестування
  • Як вибрати інструмент автоматизації?
  • Засоби автоматизації тестування

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

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

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

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

Які тестові випадки для автоматизації?

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

  • Високий ризик - критичні для бізнесу тести
  • Тестові кейси, які неодноразово виконуються
  • Тестові випадки, які дуже втомлюють або важко виконувати вручну
  • Тестові випадки, які забирають багато часу

Наступна категорія тестових кейсів не підходить для автоматизації:

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

Автоматизований процес тестування:

У процесі автоматизації виконуються наступні кроки

Крок 1) Вибір інструменту тестування

Крок 2) Визначте сферу автоматизації

Крок 3) Планування, проектування та розробка

Крок 4) Виконання тесту

Крок 5) Технічне обслуговування

Процес автоматизації тестів

Вибір інструменту для тестування

Вибір інструменту тестування значною мірою залежить від технології, на якій побудовано тестоване додаток. Наприклад, QTP не підтримує Informatica. Отже, QTP не можна використовувати для тестування програм Informatica. Це гарна ідея провести Доказ концепції інструменту на AUT.

Визначте сферу автоматизації

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

  • Особливості, важливі для бізнесу
  • Сценарії, що мають великий обсяг даних
  • Спільні функціональні можливості всіх додатків
  • Технічна доцільність
  • Ступінь повторного використання компонентів бізнесу
  • Складність тестових кейсів
  • Можливість використання тих самих тестів для крос-браузерного тестування

Планування, проектування та розробка

На цьому етапі ви створюєте стратегію та план автоматизації, що містить наступні деталі -

  • Вибрано засоби автоматизації
  • Каркасний дизайн та його особливості
  • Елементи автоматизації, що входять у сферу дії та поза сферою дії
  • Автоматизація підготовки випробувального стенду
  • Графік та хронологія сценаріїв та виконання
  • Результати тестування автоматизації

Виконання тесту

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

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

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

Підхід до автоматизації тестування

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

Основи для автоматизації

Структура - це набір вказівок щодо автоматизації, які допомагають

  • Збереження послідовності тестування
  • Покращує структурування тестів
  • Мінімальне використання коду
  • Менше обслуговування коду
  • Покращення повторного використання
  • Нетехнічні тестери можуть брати участь у коді
  • Навчальний період використання інструменту можна скоротити
  • Залучає дані, де це доречно

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

  1. Система керування даними, керована даними
  2. Управління автоматизацією за ключовими словами
  3. Модульна система автоматизації
  4. Гібридна система автоматизації

Найкращі практики роботи з інструментом автоматизації

Щоб отримати максимальну рентабельність інвестицій в автоматизацію, дотримуйтесь наступного

  • Сфера автоматизації повинна бути детально визначена перед початком проекту. Це правильно визначає очікування від автоматизації.
  • Виберіть правильний інструмент автоматизації: інструмент не можна вибирати залежно від його популярності, але він відповідає вимогам автоматизації.
  • Виберіть відповідний фреймворк
  • Стандарти сценаріїв - При написанні сценаріїв для автоматизації слід дотримуватися стандартів. Деякі з них -
    • Створюйте єдині сценарії, коментарі та відступи коду
    • Адекватна обробка винятків - як обробляється помилка при відмові системи або несподіваній поведінці програми.
    • Користувацькі повідомлення повинні бути закодовані або стандартизовані, щоб тестувальники розуміли журнал помилок.
  • Вимірювання метрик - Успіх автоматизації неможливо визначити, порівнюючи ручні зусилля з зусиллями автоматизації, а також взявши наступні метрики.
    • Відсоток виявлених дефектів
    • Час, необхідний для автоматичного тестування для кожного циклу випуску
    • Для випуску потрібно мінімальний час
    • Індекс задоволеності клієнтів
    • Підвищення продуктивності

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

Переваги автоматичного тестування

Переваги автоматичного тестування

Нижче наведено переваги автоматизації випробувань:

  • На 70% швидше, ніж ручне тестування
  • Ширше тестове охоплення функцій програми
  • Надійні результати
  • Забезпечте узгодженість
  • Економія часу та витрат
  • Покращує точність
  • Втручання людини не вимагається під час страти
  • Підвищує ефективність
  • Краща швидкість виконання тестів
  • Тести для повторного використання
  • Перевіряйте часто і ретельно
  • Більший цикл виконання можна досягти за допомогою автоматизації
  • Ранній час виходу на ринок

Види автоматизованого тестування

  • Тестування диму
  • Одиничне тестування
  • Інтеграційне тестування
  • Функціональне тестування
  • Тестування ключових слів
  • Регресійне тестування
  • Перевірка даних
  • Тестування чорної скриньки

Як вибрати інструмент автоматизації?

Правильний вибір інструменту може бути складним завданням. Наступний критерій допоможе вибрати найкращий інструмент для ваших потреб -

  • Підтримка навколишнього середовища
  • Простота використання
  • Тестування бази даних
  • Ідентифікація об’єкта
  • Тестування зображень
  • Тестування відновлення помилок
  • Картографування об’єктів
  • Використовувана мова сценаріїв
  • Підтримка різних типів тестів - у тому числі функціональних, управління тестами, мобільних тощо ...
  • Підтримка декількох фреймворків тестування
  • Легко налагоджувати сценарії програмного забезпечення для автоматизації
  • Здатність розпізнавати предмети в будь-якому середовищі
  • Великі звіти та результати випробувань
  • Мінімізуйте вартість навчання вибраних інструментів

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

Засоби автоматизації тестування

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

  1. Студія Ранорекс

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

Особливості:

  • Функціональний інтерфейс та наскрізне тестування на настільних комп'ютерах, в Інтернеті та на мобільних пристроях
  • Крос-браузерне тестування
  • SAP, ERP, Delphi та застарілі програми.
  • iOS та Android
  • Запустіть тести локально або віддалено, паралельно або розподіліть по сітці селену
  • Надійна звітність

Вчи більше


  1. Тестим

Testim - це найшвидший шлях до еластичних наскрізних випробувань без коду, кодування або обох. Testim дозволяє створювати надзвичайно стабільні безкодові тести, які використовують наш ШІ, а також гнучкість експорту тестів як коду. Такі клієнти, як Microsoft, NetApp, Wix та JFrog, щомісяця проводять мільйони тестів на Testim

Особливості

  • Ви можете використовувати сучасний API JavaScript Testim та IDE для налагодження, налаштування чи рефакторингу тестів.
  • Зберігайте тест у своїй системі контролю версій, щоб синхронізувати їх із гілками, і запускайте тести під час кожного коміту.
  • Інтеграція з популярними інструментами

Вчи більше


  1. Селен

Це засіб тестування програмного забезпечення, що використовується для тестування регресії. Це інструмент тестування з відкритим кодом, який забезпечує можливість відтворення та запису для регресійного тестування. IDE Selenium підтримує лише веб-браузер Mozilla Firefox.

  • Він надає можливість експортувати записаний сценарій іншими мовами, такими як Java, Ruby, RSpec, Python, C # тощо.
  • Його можна використовувати з такими фреймворками, як JUnit та TestNG
  • Він може виконувати кілька тестів одночасно
  • Автозаповнення для загальних команд Selenium
  • Покрокові тести
  • Ідентифікує елемент за допомогою ідентифікатора, імені, X-шляху тощо.
  • Зберігайте тести як Ruby Script, HTML та будь-який інший формат
  • Він надає можливість затвердити заголовок для кожної сторінки
  • Він підтримує файл selenium user-extensions.js
  • Це дозволяє вставити коментарі посередині сценарію для кращого розуміння та налагодження

Завантажте селен


  1. QTP (MicroFocus UFT)

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

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

Завантажте QTP


  1. Раціональний функціональний тестер

Це об’єктно-орієнтоване автоматизоване функціональне тестування, яке здатне виконувати автоматизоване функціональне, регресійне, тестування на основі даних та тестування графічного інтерфейсу. Основними особливостями цього інструменту є

  • Він підтримує широкий спектр протоколів та додатків, таких як Java, HTML, NET, Windows, SAP, Visual Basic тощо.
  • Він може записувати і відтворювати дії на вимогу
  • Він добре інтегрується із такими інструментами управління джерелом, як інтеграція Rational Clear Case та Rational Team Concert
  • Це дозволяє розробникам створювати сценарій, пов’язаний із ключовими словами, щоб його можна було використовувати повторно
  • Редактор інструментів Eclipse Java Developer Toolkit полегшує команду кодувати тестові сценарії на Java за допомогою Eclipse
  • Він підтримує власні елементи управління через проксі-пакет SDK (Java / .Net)
  • Він підтримує контроль версій для паралельної розробки тестових сценаріїв та одночасного використання географічно розподіленою командою

Завантажте Rational Functional Tester


  1. Ватір

Це відкрите програмне забезпечення для тестування для регресійного тестування. Це дозволяє писати тести, які легко читати та підтримувати. Watir підтримує лише Internet Explorer у Windows, тоді як веб-драйвер Watir підтримує Chrome, Firefox, IE, Opera тощо.

  • Він підтримує кілька браузерів на різних платформах
  • Замість використання власного сценарію постачальника він використовує повнофункціональну сучасну мову сценаріїв Ruby
  • Він підтримує вашу веб-програму незалежно від того, в чому вона розроблена

Завантажте Watir


  1. SilkTest

Silk Test призначений для проведення функціональних та регресійних випробувань. Для застосування в електронному бізнесі тест на шовк є провідним продуктом функціонального тестування. Це продукт поглинання Segue Software компанією Borland у 2006 році. Це об’єктно-орієнтована мова, як і C ++. Він використовує поняття об’єкта, класів та успадкування. Основна його особливість включає

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

Завантажте SilkTest

Резюме

Тестова автоматизація - це техніка тестування програмного забезпечення, яка виконує спеціальні автоматизовані програмні засоби для тестування для виконання набору тестових кейсів.

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

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

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

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