how choose best automation testing tool
У цьому навчальному посібнику ми розглянули критерії вибору інструментів автоматизації тестування та контрольний список із матрицею порівняння інструментів автоматизації тестування для зручного ознайомлення.
Посібник від A до Z щодо вибору найкращого інструменту автоматизації для вашого проекту:
Це 4гопідручник з нашої серії навчальних посібників з автоматизації тестів. Будь ласка, перевірте всі статті, розміщені в цій серії на цій сторінці: => Кінцевий посібник із початку тестування автоматизації на вашому проекті
Вибір інструменту автоматизації тестів - це один з найважливіших кроків перед початком автоматизації в будь-якій організації.
Це важливо, оскільки інструмент сильно вплине на всі ваші зусилля з автоматизації. Якщо інструмент хороший і надає вам необхідні функції, автоматизація стає простішою та ефективною.
При виборі інструменту автоматизації слід враховувати багато критеріїв. Деякі з них я обговорював в одній зі своїх попередніх статей. Тут я перерахував найважливіші аспекти, які слід враховувати при виборі інструменту автоматизації тестування.
Що ви дізнаєтесь:
- Чи є автоматичне тестування рішенням для вас?
- Коли сенс має автоматизація тестів?
- Як вибрати інструмент автоматизації для вашого проекту?
- Критерії оцінки інструменту автоматизації тестів
- Критерії вибору інструменту автоматизації тесту та контрольний список
- Питання №1: Який бюджет вашої організації на інструмент автоматизації?
- Питання №2: Яка фактична ціна інструменту?
- Питання №3: Чи підтримує інструмент операційну систему / браузер або пристрій, на якому працює ваша програма?
- Питання №4: Чи підтримує інструмент технології та сторонні елементи управління, що використовуються у вашому додатку?
- Питання №5: Скільки мов підтримує інструмент? Чи маєте ви кваліфіковані ресурси для цих мов?
- Питання №6: Чи підтримує інструмент підключення до різних джерел даних?
- Запитання №7: Як механізм звітності засобу автоматизації?
- Запитання №8: Чи можна інструмент інтегрувати зі сховищами тестових кейсів та помилок?
- Запитання №9: Як здійснюється офіційна технічна підтримка інструменту?
- Запитання № 10: Побачити деякі технічні аспекти
- Висновок
- Рекомендована література
Чи є автоматичне тестування рішенням для вас?
За свою кар’єру я працював над багатьма проектами. Коли ви працюєте над одним проектом більше одного року, ви сильно відчуваєте потребу в автоматизації деяких завдань. Ви починаєте думати про тестування автоматизації проекту, якщо воно до цього часу не розглядалось керівництвом проекту.
Одного року достатньо часу, щоб хтось знав тонкощі будь-якого проекту. Одного разу Ви знаєте детальну функціональність проекту, стає простіше вирішити, які повторювані завдання потрібно автоматизувати.
Дещо тестери теж нудьгують виконуючи ті самі повторювані завдання знову і знову, і вони сильно починають відчувати потребу в автоматизації тестів.
Чи означає це, що вам слід негайно перейти до автоматичного тестування?
Точно ні!
Існує багато критеріїв, над якими потрібно працювати, перш ніж вирішити, чи є автоматизація рішенням для вас .
Коли сенс має автоматизація тестів?
- Коли є багато повторюваних тестів
- Коли часті ітерації регресійного тестування
- Коли потрібно імітувати велику кількість користувачів які використовують ресурси програми
- Коли AUT має порівняно стабільний інтерфейс
- Коли у вас великий набір футлярів BVT
- Коли ви не можете покладатися виключно на ручне виконання тесту для отримання критичної функціональності
Подальше читання:
- Коли слід піти на автоматизацію?
- Поради, які ви прочитали перед початком автоматизованого тестування
Як тільки ви зрозумієте, що саме час вкласти свій час і гроші в хороший інструмент автоматизації, ви можете почати шукати найкращий інструмент автоматизації, який відповідає вашим потребам.
Як вибрати інструмент автоматизації для вашого проекту?
Успіх автоматичного тестування багато в чому залежить від вибору правильних інструментів тестування. Потрібно багато часу, щоб оцінити відповідні засоби автоматизації, доступні на ринку. Але це обов’язкова одноразова вправа, яка в довгостроковій перспективі принесе користь вашому проекту.
Було мало ситуацій, коли я мав можливість переглянути та вибрати інструмент автоматизації для своїх проектів. Завдання було складним, оскільки нам доводилося керувати своїми потребами у тестуванні та обмеженнями витрат, але це було вартим досвідом.
Ось критерії, які потрібно врахувати перед вибором будь-якого інструменту тестування:
Критерії оцінки інструменту автоматизації тестів
1) Чи є у вас необхідний кваліфікований ресурс для виділення завдань автоматизації?
2) Який ваш бюджет?
3) Чи засіб відповідає вашим потребам у тестуванні? Чи підходить воно для середовища проекту та технології, яку ви використовуєте? Чи підтримує він усі інструменти та об'єкти, що використовуються в коді? Іноді ви можете застрягти в невеликих тестах через нездатність інструменту ідентифікувати об’єкти, що використовуються в додатку.
Я вважаю вищезазначені три фактори найбільш важливими для вибору будь-якого інструменту.
4) Чи надає вам інструмент безкоштовну пробну версію, щоб ви могли оцінити її перед прийняттям рішення? Крім того, чи має інструмент всі функції, доступні в пробній версії?
5) Чи стабільна поточна версія інструменту? Чи створена компанія-постачальник з якісною підтримкою клієнтів, а також онлайн-ресурсами довідки та керівництвом користувача?
6) Як виглядає крива навчання інструменту? Чи є час навчання прийнятним для ваших цілей?
7) Ви хочете інструмент автоматизації лише для ваших потреб проекту або ви шукаєте загальний інструмент для всіх проектів у вашій компанії? Було б непоганим вибором, якщо ви вибрали інструмент, який підтримує більшість мов кодування у ваших проектах.
який ключ безпеки на маршрутизаторі
8) Які типи тестування він підтримує? Інструмент, який підтримує максимальні типи тестування (одиниця виміру, функціонал, регресія тощо), завжди є кращим вибором.Увага- Не використовуйте інструмент лише тому, що він підтримує всі типи тестування. Також важливо, щоб інструмент був настільки потужним, щоб автоматизувати ваші складні вимоги.
9) Чи підтримує інструмент простий інтерфейс для створення та обслуговування тестових сценаріїв? Інструмент запису та відтворення з можливістю редагування записаних сценаріїв може бути хорошим рішенням.
10) Чи забезпечує він простий інтерфейс, але потужні функції для виконання складних завдань?
одинадцять) Наскільки просто надати вхідні дані тестів для складних або навантажувальних тестів? Інструмент, що підтримує введення тестових даних із різних файлів даних, таких як Excel, XML, текстовий файл тощо, був би великим полегшенням для автоматизації тестувальників.
12) Чи забезпечує це потужний звіт графічним інтерфейсом? Чіткі та стислі звіти завжди допоможуть вам швидко підвести підсумки тесту.
13) Чи добре це інтегрується з іншими вашими інструментами тестування, такими як планування проектів та інструменти управління тестами ?
Ви також можете розглянути інші критерії, такі як:
14) Політика повернення коштів постачальника інструментів
п'ятнадцять) Існуючі відгуки клієнтів про інструмент
16) Чи постачальник проводить початкове навчання?
Поради: Збір вимог - безумовно найважливіший крок для вибору правильного інструменту. Обов’язково класифікуйте свої вимоги за категоріями must have, приємно мати і не потрібні. Це допоможе швидко оцінити інструмент. Пам’ятайте, ви не знайдете на ринку вже доступного інструменту, який би підтримував усі ваші потреби в автоматизації!
Найкращі засоби автоматизації :
питання співбесіди для розробника .net
HP QTP / UFT та селен - це два найпопулярніші варіанти функціонального тестування, доступні в даний час. QTP / UFT - найкращий інструмент функціонального тестування, що підтримується на широкому діапазоні мов та платформ кодування, тоді як Selenium - найкращий інструмент функціонального веб-тестування з відкритим кодом.
Прочитайте цю статтю, щоб переглянути список ТОП інструментів:
20 найкращих засобів тестування автоматизації в 2020 році (вичерпний список)
У наступній статті ми обговоримо ручні та автоматизаційні випробування .
Критерії вибору інструменту автоматизації тесту та контрольний список
10 запитань перед вибором найкращого інструменту тестування автоматизації
Задавайте такі запитання щоразу, коли у вас трапляється ситуація, щоб вибрати інструмент автоматизації для вашої організації:
Питання 1: Який бюджет вашої організації на інструмент автоматизації?
На мою думку, це найважливіше, що слід врахувати під час вибору засобу автоматизації.
Навіщо шукати QTP / UFT і досліджувати його, коли ви не можете придбати ліцензію? Інструмент QTP коштує близько 8000 доларів (приблизно). Якщо ваша організація може придбати ліцензію, і ви отримали підтвердження, вам слід завантажити пробну версію та створити на ній проект основної автоматизації, щоб перевірити її функціональність. В іншому випадку не слід витрачати час на дослідження цього. (Я говорю про цей сценарій, якщо ви хочете використовувати QTP для поточного проекту компанії. Якщо ви завантажуєте його лише для навчальних цілей, тоді можна завантажити пробну версію.)
Питання No2: Яка фактична ціна інструменту?
Далі йде ціна на інструмент автоматизації. Існує не тільки ціна ліцензії, але також ціна доповнень (за потреби), плата за підтримку, плата за навчання та плата за оновлення.
Спершу поговоримо про ліцензію.
а) Типи ліцензій:
Існують такі типи ліцензій.
1) Ліцензія користувача, заблокованого вузлом.
Ліцензія користувача, заблокованого вузлом, підтримуватиме інструмент автоматизації тестів, який можна використовувати на одному фізичному комп’ютері у мережі вашої компанії. Одночасно можна запускати лише один екземпляр інструменту на ліцензованому комп’ютері. Ця ліцензія зазвичай пов’язана з іменем хосту машини.
2) Одночасна плаваюча ліцензія користувача
Плаваючу ліцензію користувача можна спільно використовувати між різними машинами, але одночасно може використовуватись лише однією машиною. Він не прив’язаний до імені машини чи чогось іншого, натомість він використовує менеджер ліцензій (встановлений на сервері) для управління однією і тією ж ліцензією на різних машинах.
В основному, з ліцензією Node-Locked ви не можете встановлювати інструмент на одній машині, видаляти його, а потім встановлювати знову на будь-якій іншій машині. Але з плаваючою ліцензією користувача ви можете це робити.
3) Ліцензія часу виконання
Згадані вище два типи ліцензій зазвичай купуються для «розробки» сценаріїв. Отже, це «ліцензії на розробку». Щоб виконувати сценарії на різних машинах, вам потрібно мати ліцензію «виконання» або «виконання» для кожної машини.
Приклад:
Наприклад, якщо тестувальнику потрібно розробити та виконати тестові кейси на одній машині, то достатньо однієї ліцензії на розробку.
Але якщо йому потрібно розробити на одній машині та виконати тестові кейси на трьох різних віртуальних або фізичних машинах, йому потрібно придбати одну ліцензію на розробку та три ліцензії на виконання.
Деякі постачальники пропонують безкоштовні ліцензії на виконання (наприклад, кодований інтерфейс), а деякі пропонують ціну (наприклад, Test Complete, Ranorex тощо). Отже, все залежить від постачальника.
4) Ліцензія з відкритим кодом
Вибір вашої компанії - вибрати комерційний інструмент та заплатити вартість або вибрати інструмент з відкритим кодом.
Комерційні інструменти є дорогими, але вони пропонують велику підтримку та прості у використанні з великою кількістю навчальних матеріалів. Комерційні інструменти, як правило, 'один інструмент для всіх потреб'. Інструменти з відкритим кодом є безкоштовними, але, як правило, їх важче вивчити. Офіційної підтримки мало, але ви можете знайти рішення, відвідавши різні форуми. Рішення з відкритим кодом, як правило, підходять для конкретних потреб.
b) Плата за підтримку, оновлення та навчання:
Для підтримки, навчання та плати за оновлення вам може знадобитися зателефонувати представнику компанії. Деякі компанії пропонують спеціальні знижки на масові покупки ліцензій, тому іноді ця інформація чітко не згадується на веб-сайтах. Ви отримаєте інформацію лише за допомогою дзвінка або електронної пошти.
Питання No3: Чи підтримує інструмент операційну систему / браузер або пристрій, на якому працює ваша програма?
Зазвичай це питання залежить від типу програми, яку ви використовуєте.
а) Якщо на робочому столі:
Якщо ви працюєте над настільною програмою, вам слід зазначити, скільки операційних систем ви хочете протестувати. Я працював над настільним додатком, і я хотів протестувати його на Windows 7 та Windows 8.1. Тому я вибрав кодований інтерфейс, оскільки він підтримує обидва.
б) Якщо на основі браузера
Якщо ви працюєте над веб-додатком, вам слід зазначити, скільки браузерів ви хочете протестувати цю програму. Я хотів виконати свої тестові кейси на FireFox, Chrome та IE. Я вибрав селен для своєї веб-програми, оскільки він підтримує всі ці браузери. Переконайтеся, що вибраний вами інструмент повинен підтримувати як старіші, так і новіші версії необхідних браузерів.
в) Якщо на базі мобільного
Якщо ви працюєте над мобільними додатками, ви повинні знати, на яких мобільних операційних системах вам доведеться запускати тестові кейси. Якщо ваш додаток працює як на Android, так і на iOS, ваш інструмент повинен це підтримувати. Selenium має окремі драйвери для запуску сценаріїв на Android, IOS, Windows Phone і BlackBerry. Ви також можете використовувати окремий інструмент для кожної з мобільних ОС. Існує Robotium для Android, Appium для IOS і Android, а також CodedUI для програм для телефонів Windows.
Знову ж таки, це приходить до дискусії щодо відкритого коду проти комерційного. Як бачите, існують окремі відкриті джерела інструменти для тестування на основі Інтернету , мобільний і настільні програми. Але якщо ви вибрали комерційний інструмент, як Test Complete, Ranorex або Test Studio, вони можуть протестувати всі три типи (мобільні, настільні та браузерні програми). Отже, у випадку з комерційним інструментом, вам потрібно навчитися лише одному інструменту для тестування веб-, настільних та мобільних додатків.
Питання No4: Чи підтримує інструмент технології та сторонні елементи управління, що використовуються у вашому додатку?
Це дуже важливий аспект під час вибору інструменту. Ви повинні знати з перших вуст, які технології використовуються у вашому додатку. Зверніться до своїх розробників і запишіть їх. Якщо вони використовують HTML 5 або SilverLight у веб-додатках, будьте обережні, інструментів автоматизації для їх підтримки не так багато. Якщо засіб вимагає підтримки цих технологій, завантажте пробну версію цього інструменту та спробуйте визначити різні об’єкти у вашому додатку. Якщо інструмент не може їх ідентифікувати, тоді їх твердження є помилковим. Ця діяльність позбавить вас від подальшої біди.
Матриця порівняння засобів автоматизації тестів:
У наведеній нижче таблиці порівнюються різні інструменти щодо їх ліцензійної ціни та підтримки різних технологій. (Ви повинні сприймати цю діаграму як навчальну практику щодо створення порівнянь між різними інструментами, але точність даних не на 100%)
(Клацніть на зображення, щоб переглянути збільшене)
Y = підтримується, N = не підтримується, U = невідомо
Питання No5: Скільки мов підтримує інструмент? Чи маєте ви кваліфіковані ресурси для цих мов?
Вивчення інструменту - один із аспектів. Вивчення мови - ще один аспект. Якщо у вас є ресурси, які мають досвід роботи з Java, а ваш інструмент не підтримує Java, час для вивчення нової мови буде додано до ваших зусиль з автоматизації.
Інший аспект полягає в тому, що якщо ваш продукт побудований на Java, у вас повинна бути команда розробників, які є експертами в Java. Ці розробники також можуть допомогти команді автоматизації з точки зору питань, що стосуються мови. Вибір інструменту, який пропонує мову, яка знайома з вашими ресурсами, є важливим, і це допоможе вам мінімізувати криві навчання для ваших ресурсів.
Селен WebDriver пропонує писати сценарії на багатьох мовах, таких як C #, Java, Python, Ruby та на JavaScript. TestComplete також пропонує сценарій написання на декількох мовах сценаріїв, таких як VBScript, JScript, DelphiScript, C ++ Script та C # Script.
Питання No6: Чи підтримує інструмент підключення до різних джерел даних?
Якщо ми використовуємо систему автоматизації, таку як керована ключовими словами чи інформація, ми повинні мати можливість підключити наш інструмент до будь-якого джерела даних. Якщо інструмент легко забезпечує зв’язок з різними джерелами даних, це буде дуже корисно.
Перегляньте підтримку загальних джерел даних, таких як файл CSV, файл Excel, файл XML та база даних. Якщо вони присутні в інструменті, ви готові піти.
Питання No7: Як механізм звітності засобу автоматизації?
Коли ми виконуємо сценарій, він або пройде, або не вдасться. У разі пропуску не потрібно багато інформації, за винятком тривалості та інформації про довкілля. Але у випадку невдачі нам потрібен вичерпний звіт про несправність. Звіт повинен сказати нам, на якому саме етапі не вдається виконати сценарій. Знімок моменту відмови буде додатковою перевагою.
Крім того, цей звіт слід експортувати в різні формати, щоб ми могли поділитися цим із зацікавленими сторонами. У багатьох інструментах ці параметри вбудовані, а в деяких інструментах є способи зробити ваш звіт вичерпним. Інша річ, на яку слід звернути увагу, завантажуючи пробну версію інструменту. Якщо він надає вичерпні звіти про збої, це найкраще для організації.
Питання No8: Чи можна засіб інтегрувати зі сховищами тестових кейсів та помилок?
Існує велика ймовірність того, що ваша організація вже використовує будь-який тест або інструмент управління помилками . Компанії, очевидно, хочуть, щоб їх автоматизований інструмент був інтегрований із існуючим інструментом управління тестовими кейсами, щоб належним чином управляти всім їх життєвим циклом. Цей аспект слід також враховувати під час вибору засобу автоматизації тестування.
QTP підтримує QLM, кодований інтерфейс підтримує TFS і TestComplete підтримує QAComplete. Деякі інструменти з відкритим кодом також мають підтримку для інтеграції з існуючими інструментами управління тестами з відкритим кодом. Все залежить від того, що насправді використовує ваша організація.
Питання No9: Як офіційна технічна підтримка інструменту?
Тут ми говоримо лише про комерційні інструменти. Коли ви вибираєте комерційний інструмент, аспект їх підтримки дуже важливий. Див. Навчальний матеріал на веб-сайті. Чи містить веб-сайт відео та навчальні посібники? Чи є на веб-сайті офіційний форум для запитання? Завантажте пробну версію та зніміть запитання на їх форумі та подивіться, скільки днів на неї отримають відповідь. Чи надають вони підтримку для дзвінка?
Вищезазначені питання слід справді задавати щоразу, оскільки ви витрачаєте на інструмент хорошу суму. Якщо засіб не має хорошої опори, не турбуйтеся купувати його.
Питання No10: Деякі технічні аспекти для ознайомлення
Є також деякі інші технічні аспекти, такі як:
а) Підтримка запису та відтворення
Це не рекомендований підхід в автоматизації тестів, але добре мати інструмент. Це спрощує процес навчання інструменту та допомагає легко автоматизувати легкі сценарії.
б) Різні методи розпізнавання об’єктів та підтримка відображення об’єктів
Повинні бути різні варіанти вибору одного і того ж об’єкта різними методами. Деякі предмети важко розпізнати. Тож різноманітність методів відбору завжди корисні.Наприклад, селен підтримує вибір об'єктів за ідентифікатор, ім'я, клас, тест на посилання, XPATH , Селектор CSS та JavaScript. Ось підручник з - як QTP ідентифікує об'єкти однозначно . Якщо один із методів відбору не працює, ми маємо на вибір безліч інших методів, які завжди корисні.
Подібним чином, повинна бути можливість правильно зіставити ці об'єкти у сховищі об'єктів. Це сховище повинно легко піддаватися оновленню та керуванню. Тільки щоб нагадати вам, що Selenium не має вбудованої підтримки для відображення об’єктів.
в) Різні контрольно-пропускні пункти або підтримка тверджень.
Тестовий випадок зданий або не пройдений на основі контрольних пунктів або тверджень. Якщо інструмент має різні методи перевірки ваших очікуваних результатів, це вигідно. QTP має безліч контрольно-пропускних пунктів, таких як Стандартний , Растрове зображення , Таблиця , XML, база даних та пункти перевірки вмісту файлу.
г) Обробка сценаріїв відновлення.
Якщо тест не вдається, і ви хочете продовжити виконання, чи підтримує інструмент це так легко? Якщо сценаріями відновлення легко керувати за допомогою інструменту, це дозволить вам виконувати тестові випадки без будь-яких збоїв. Ви можете запускати тести на ніч, а вранці отримуєте результати, в яких зазначається, які тести не пройшли, а які тести пройшли. Це станеться лише в тому випадку, якщо інструментом можна легко керувати відновленням після невдалих тестових випадків. В іншому випадку буде витрачено значну кількість зусиль на автоматизацію при обробці сценаріїв відновлення. Подивитися управління сценаріями відновлення в QTP .
Висновок
Завжди пам’ятайте, що жоден інструмент не є хорошим чи поганим інструментом. Все залежить від ваших вимог та характеру товару.
Можливо, селен є найпопулярнішим інструментом автоматизації, але якщо ваш продукт настільний, цей інструмент вам ні до чого. Спочатку зрозумійте свій продукт, а потім знайдіть відповідний інструмент, який відповідає вашим вимогам, використовуючи вказівки, згадані в цьому посібнику.
c # питання співбесіди для досвідчених
Правильний вибір інструменту автоматизації відіграє життєво важливу роль у успішній автоматизації.
Наступний підручник - Наш наступний підручник у цій серії - „Розробка сценаріїв та механізми автоматизації з прикладами“. Знову перевіряємо усі підручники з цієї серії на цій сторінці .
Не соромтеся розміщувати свої запити / коментарі нижче щодо вибору правильного інструменту автоматизації.
НАЗАД Підручник No3 | НАСТУПНИЙ підручник No5
Рекомендована література
- Інструмент тестування автоматичного графічного інтерфейсу користувача Sikuli - Посібник для початківців, Частина 2
- Альфа-тестування та бета-тестування (повний посібник)
- Підручник Geb - Тестування автоматизації браузера за допомогою інструмента Geb
- Повне керівництво з тестування перевірки складання (тестування BVT)
- Найкращі засоби тестування програмного забезпечення 2021 р. (Інструменти автоматизації тестування якості)
- Функціональне тестування проти нефункціонального тестування
- Покрокове керівництво по впровадженню доказів концепції (POC) у тестуванні автоматизації
- 10-етапний процес тестування автоматизації: як розпочати тестування автоматизації у своїй організації