top 10 test automation strategies
Це остання стаття в серія автоматизації випробувань . У цій статті узагальнено найкращі практики та стратегії автоматизації тестів.
Хоча в наших попередніх статтях згадуються найкращі практики (і деякі з них можуть бути тут повторені), я переконаний, що перелічив деякі з них, але Найважливіші найкращі практики автоматизації тут, в одній статті для довідки .
Ці стратегії взяті з мого власного досвіду та з літератури таких гуру, як Майкл Болтон, Джеймс Бах та Джем Канер. Ці практики слід дотримуватися в кожному проекті автоматизації.
Що ви дізнаєтесь:
- 10 найкращих стратегій та практик автоматизації тестів
- №1. Наймайте спеціального інженера або команду автоматизації
- №2. Засіб автоматизації є важливим, але це не рішення всього
- №3. Виберіть інструмент автоматизації, який вам знайомий
- No4. Знайте тестується додаток
- №5. Хороша автоматизація означає хороший ручний тест
- №6. Визначте можливості за допомогою автоматизації
- №7. Ви не можете автоматизувати все
- №8. Уникайте автоматизації графічного інтерфейсу, коли присутній альтернативний варіант
- # 9. Використовуйте автоматизацію і для інших корисних цілей
- No10. Автоматизація - це розробка програмного забезпечення
- Висновок
- Рекомендована література
10 найкращих стратегій та практик автоматизації тестів
Ось і ми..
№1. Наймайте спеціального інженера або команду автоматизації
Це основна справа. Не просіть своїх тестувальників вручну віддаватися автоматизації тестування. Якщо ви хочете, щоб вони виконували автоматизацію тестування, звільніть їх від ручного тестування. Автоматизація тестів - це штатна робота. Для цього вам потрібні спеціальні ресурси.
Я рекомендую створити команду тестової автоматизації, що складається принаймні з одного архітектора автоматики. Ви можете найняти декількох інженерів з автоматизації для роботи під керівництвом архітектора тестової автоматики. Кількість інженерів-автоматиків залежить від кількості та розміру вашої продукції.
ручне тестування резюме за 3 роки досвіду
№2. Засіб автоматизації є важливим, але це не рішення всього
Ми говорили про вибір інструменту . Але вибір правильного інструменту - це лише початок. Деякі менеджери мають помилкове уявлення, що якщо вони оберуть потрібний інструмент, вони можуть легко автоматизувати що завгодно. Обережно, засоби автоматизації не дають вам всього. Вони полегшують процес. Але для завершення процесу потрібні кваліфіковані ресурси.
Часто інструменти автоматизації глючать, і вони застрягли в ідентифікації складних об'єктів у програмі. Ресурси, які ви наймаєте, якщо вони кваліфіковані, придумують обхідний шлях, який веде процес вперед. В іншому випадку, якщо ви не наймаєте хороших ресурсів, сам Tool не може гарантувати успішну автоматизацію.
№3. Виберіть інструмент автоматизації, який вам знайомий
Якщо ваші ресурси знайомі з C #, а ваша програма для тестування також розроблена на C #, то немає сенсу вибирати інструмент, який не пропонує C # для написання сценаріїв.
Вивчення мови - це процес, який вимагає часу. Уникайте цієї кривої навчання, купуючи інструмент, який пропонує мінімальну криву навчання.
No4. Знайте тестується додаток
Вибір інструменту в значній мірі залежить від технологій, що використовуються у вашому виробі. Перед початком автоматизації знайте свій товар навиворіт.
Якщо це веб-програма, знайте, які браузери вона підтримуватиме. Знати, які технології в ньому використовуються. Якщо це настільний додаток, знайте, на якій мові побудовано. Які сторонні елементи керування використовуються в додатку. Це допоможе вам спростити вибір інструменту та подальшу автоматизацію.
№5. Хороша автоматизація означає хороший ручний тест
Гарно написані сильні ручні тестові кейси врятуйте нас від автоматизації тих тестових випадків, які легко автоматизувати, але слабкі у виявленні дефектів.
Ось цитата з книги Уроки, вивчені при тестуванні програмного забезпечення:
'Автоматизація без належного проектування тестів може призвести до великої активності, але мало значення'.
Завжди доцільно спочатку написати тест у ручному вигляді. Визначте всі передумови та дані тесту . Напишіть кроки чітко, а перед кожним кроком напишіть очікувані результати. Мета одного тестового випадку повинна бути чіткою, і вона повинна бути менш залежною від інших тестових випадків. Інженери з автоматизації повинні хоча б один раз запустити цей тестовий приклад вручну, щоб чітко вирішити, які об'єкти потрібно ідентифікувати і яким буде потік навігації. Задавайте запитання ручним тестерам.
Ця діяльність іноді допомагає виявити помилки ще до написання сценарію автоматизації. Експерти стверджують, що більшість помилок виявляються на фазі розробки автоматизованого тестування, а не на фактичній фазі виконання.
№6. Визначте можливості за допомогою автоматизації
Якщо вас передають за допомогою ручний тест для автоматизації , не просто автоматизуйте цей тестовий приклад таким, яким він є. Натомість знайдіть подальші можливості у своїй автоматизації, щоб розширити сферу застосування цього тестового випадку.
найкращі шпигунські телефонні програми для android
Наприклад, якщо вимога ручного тестування полягає в тому, що вам потрібно увійти на веб-сторінку. Ви можете розширити цей тестовий приклад, зробивши його керованим даними. Перелічіть усі можливі сценарії входу, такі як недійсний пароль, порожній пароль, недійсне ім’я користувача, недійсна електронна пошта, порожнє ім’я користувача, пам’ятайте мене перевіреним, не перевіреним тощо. Перелічіть можливі сценарії разом із очікуваними результатами у файл excel та помістіть цей файл excel як джерело даних для вашого тесту. Тепер цей один ручний тестовий приклад після автоматизації може перевірити всі можливі сценарії за один раз.
Завжди шукайте можливості, які можна зробити за допомогою автоматизації, але важко зробити вручну. Такі як сценарії тестування навантаження, тести продуктивності, однакові тести в різних середовищах з різними конфігураціями, витоки пам'яті, тести високої точності тощо. Це все складні сценарії для ручних тестерів.
№7. Ви не можете автоматизувати все
Автоматизація означає, що частіше проводити менше тестів. Потрібно починати з малого, спершу атакуючи свої тести на дим. Потім накрийте свій побудувати приймальні тести . Потім перейдіть до часто виконуваних тестів, а потім переходьте до часу, коли ви приймаєте тести. Але переконайтеся, що кожен автоматизований тест - це економить час, щоб тестер, який проводиться вручну, зосередився на більш важливих речах.
Автоматизація не тут, щоб замінити ручні тестери. І не може. Тут потрібно уникнути багаторазової роботи від ручних тестерів, щоб вони могли використати всю свою увагу та силу у пошуку нових сценаріїв тестування та помилок. (Прочитайте мою статтю Неправильні уявлення про автоматизацію тестів)
Автоматизуйте кілька тестів, які є цінний і економія часу або важко зробити для ручних тестерів. Якщо ви це зробили, завдання автоматизації виконано.
№8. Уникайте автоматизації графічного інтерфейсу, коли присутній альтернативний варіант
Автоматизація графічного інтерфейсу завжди жорсткіша, ніж інші типи автоматизованих тестів. Отже, якщо є ситуація, коли ви можете досягти своєї цілі, не автоматизуючи графічний інтерфейс, а за допомогою деяких інших методів, таких як введення командного рядка, найкращою стратегією є уникнення автоматизації графічного інтерфейсу.
Наприклад, ви хочете перевірити встановлення програми. Мета полягає в тому, щоб перевірити, встановлена програма чи ні в певному середовищі. Один із підходів - розпочати встановлення та натиснути на Далі 'Кілька разів натисніть кнопку за допомогою інструменту автоматизації. Це може бути складно, трудомістко і підлягає технічному обслуговуванню, якщо інтерфейс користувача змінюється. Інший підхід полягає у ініціації встановлення програми за допомогою командного файлу, що дає тихі аргументи. Програма буде мовчки встановлюватися, не відображаючи графічний інтерфейс. Ціль буде досягнуто за менший час та більш надійно.
найкраще програмне забезпечення для віртуалізації для Windows 10
# 9. Використовуйте автоматизацію і для інших корисних цілей
Автоматизація - це така фантастична річ. Ви можете досягти таких речей, про які зазвичай не думаєте. Автоматизація - це не просто програмування ручного тесту. Натомість, Ви можете використовувати автоматизацію для полегшення різних операцій у вашій організації.
Наприклад, Ви можете використовувати автоматизацію для автоматичного створення основних даних та налаштування конфігурацій для ручних тестерів. Щоб вони могли розпочати тестування якомога раніше.
Я можу навести один приклад із власної компанії. Ми хотіли перейти від нашого інструменту управління тестовими кейсами. Ми використовували «Директора випробувань» (тепер HP ALM) і хотіли перейти на TFS (Сервер Team Foundation). У нас було близько 4000 тестових випадків та помилок у режимі ручного тестування. Передача їх вручну в TFS може зайняти близько місяця. Тож мій менеджер попросив мене спробувати автоматизацію.
Я перекопав ці інструменти і виявив, що директор тесту використовує SQL-сервер як своє сховище. Для TFS я знайшов інструмент, який може читати тестові випадки та помилки з файлу Excel, якщо вони написані у певному форматі, і може вставляти їх у TFS. Решта історії проста. Я написав запит SQL для отримання всіх тестових випадків та помилок та експортував їх у файл Excel у певному форматі. Потім я використав той інструмент, який зчитує всі тестові випадки та помилки з файлу Excel та вставляв їх у TFS. Весь процес зайняв лише 3 години. Мій менеджер був дуже радий. Сподіваюся, ви теж зрозуміли мою думку.
No10. Автоматизація - це розробка програмного забезпечення
Якщо ви розробляєте якісне програмне забезпечення, воно потребує найкращих практик. Для написання коду якості потрібні огляди коду. Потрібно дотримуватися каркаса або шаблону дизайну. Він потребує постійного обслуговування.
Автоматизація - це в основному розробка програмного забезпечення. Тож усі найкращі практики, яких ви дотримуєтесь при розробці програмного забезпечення, повинні дотримуватися при автоматизації. Там повинна бути платформа автоматизації. Огляди коду слід робити. Про помилки автоматизації слід повідомляти у сховищі помилок. Вихідний код автоматизації повинен бути під контролем джерела тощо. Чим більше ви ставитеся до нього як до розробки програмного забезпечення, тим успішнішою буде автоматизація.
Висновок
Це підсумовує статтю, а також серію автоматизації тестів. Під час написання цих підручників я навчився багатьом речам, і, сподіваюся, ви також дізнаєтесь, читаючи. Автоматизація тестів - це цікава та корисна кар’єра. Правильно робити це корисно не тільки для вас, але й для організації.
Щодня, працюючи над автоматизацією тестів та її методами, я знаходжу нові та цікаві завдання, які потрібно вирішити. Ця серія була спробою висвітлити те, що може трапитися на шляху автоматизації випробувань. Я сподіваюся, що я це зробив правильно і просто.
Як завжди, я чекаю ваших коментарів та пропозицій. Не соромтеся писати свої відгуки в розділі коментарів. Я буду радий почути вас і допомогти вам у разі потреби. Дякуємо за читання.
НАЗАД Підручник No6
Рекомендована література
- Ви фахівець з ручного тестування чи автоматизації? Підробіть для нас!
- Проблеми, пов'язані з ручним та автоматичним тестуванням
- Топ 10+ найкращих книг про тестування програмного забезпечення (книги про тестування з ручного та автоматичного тестування)
- Інструмент тестування автоматичного графічного інтерфейсу користувача Sikuli - Посібник для початківців, Частина 2
- Покрокове керівництво по впровадженню доказів концепції (POC) у тестуванні автоматизації
- 10-етапний процес тестування автоматизації: як розпочати тестування автоматизації у своїй організації
- Як вирішити, який тип тестування необхідний для проекту? - Ручна або автоматизація
- Як виконати ручне тестування продуктивності?