Перспективи професії
Скільки років протримається ручне тестування? Чи замінить автоматизація мануальників?
Чому сучасна розробка потребує manual-тестувальників :
Існує величезний масив специфічних тестів, які мають бути ручними
Те, що у нас прийнято називати “користувацький досвід” (user experience, UI) - найперша і головна причина, чому в 2022 році необхідне ручне тестування, і чому воно буде необхідно завжди. Ми всі буємо критичні до чужої роботи, і розробники критикують тестувальників і найчастіше у справі! Але коли справа стосується не функціональності, а вражень людини, клієнта, то немає і не буде заміни на людське око, його уважності, його схильності помічати приємне. Хоча прості smoke-тести можна автоматизувати, набагато краще вони виходять у людей. Набагато швидше тестувальник прокликає додаток і побачить, чи він готовий до ретельного тестування, ніж це зроблять скрипти, додаючи зайвий етап. Використовувати автотести тут не найкраща ідея. Потім, тільки людина здатна добре перевірити, наприклад,
2. Автоматизоване тестування – лише доповнення до ручного
Автоматизація це помічник людині, коли вона втомилася або вже не здатна зосередитися. Автоматизоване тестування економить час на стандартні рутинні завдання, а ручне тестування зосереджується на креативних нюансах. Найправильніша автоматизація - це не намагатися копіювати поведінку стандартного користувача, а намагатися покращити покриття продукту тестуванням за допомогою автотестів.
3. Баги там, де на них не чекаєш
Навіть коли тестуєш за спеціальними, продуманими use cases, тільки люди-тестувальники можуть знайти баги в несподіваних місцях. І це одна з головних переваг ручного тестування. У деяких проектах більшість багів виявляються виключно ручними тестувальниками, які шукали “загалом інше”. Автоматизоване тестування не може виявити помилки, на які воно спочатку не націлювалося.
4. Люди за умовчанням націлені на креативність та аналіз
Хоча ми всі любимо поскаржитися на людські обмеження, ми завжди маємо людські якості: схильність до аналізу та креативу. Скіли та досвід, які мають тестувальники, допомагають їм бачити ситуацію загалом. Не буває заміни для людської швидкості мислення та наших найпотужніших аналітичних здібностей.
5. В Agile тестові скрипти треба постійно переписувати
Робота з agile-методології веде до постійних змін в інтерфейсі та функціональності продукту. І щоразу потрібно переписувати автоматизовані скрипти. Зміни зачіпають також скрипти регресійного тестування, тому навіть цей класичний приклад автоматизації вимагає оновлень, якщо це правильний еджайл. Ця трудомісткий процес потребує багато часу.
6. Автоматизація невеликих проектів обходиться надто дорого
Треба платити за якісний софт для автоматизованого тестування, а також зростають витрати на обслуговування та менеджмент, написання та переписування скриптів. Коли це великий продукт і тривалий проект, високі витрати окупаються. У разі маленьких проектів це величезна трата часу та грошей. Коли намагаєшся зрозуміти потенційний ROI (повернення вкладених грошей) на покупку софту для автоматизації, то необхідно не забувати враховувати і додаткові “людини-годинники”, пов'язані з інтеграцією софту в проект.
7. Автоматизація може "відставати від розробки"
Існує різниця між нашими надіями, які ми покладаємо на автоматизацію, і тим, що вона може дати. З постійним оновленням скриптів в Agile дуже важко утримувати автоматизоване тестування в одному темпі з розробкою. Немає потреби в автоматичному тестуванні багів, які вже застаріли. Хороша автоматизація починається відразу, і ніколи не відстає більше, ніж на один спринт. Якщо у команди немає зайвого ресурсу на те, щоб тримати автоматизацію в одному темпі з розробкою, то, можливо, краще і не автоматизувати (якщо це не великий проект, у якому є шанси налагодити процес).
8. Ручні тестувальники дивляться продукт як “клієнти”
Людина навчається весь час, і робить це - все ще - набагато швидше, ніж штучний інтелект, за всієї швидкості ІІ в обробці даних. Оскільки люди-тестувальники поводяться як користувачі, вони можуть допомогти не тільки з перевіркою продукту. Іноді тестувальники можуть виступати в ролі BA та спрямовувати розвиток продукту, виходячи зі свого досвіду його тестування. Автоматичне тестування зосереджено на систематизації сучасних знань, а ручне, дослідне тестування визначає речі, які будуть актуальні завтра.
9. Автоматизація не допоможе знайти помилки, про які не знали
Як уже говорилося у третьому пункті, баги часто знаходять там, де це не очікували. Бувають вкрай специфічні користувальницькі сценарії, і бувають речі, які може побачити та усунути лише людина. Автоматизоване тестування ніколи не стане альтернативою дослідницькому тестуванню, яке проводить людина. Помилки в несподіваних місцях можуть бути знайдені лише людиною.
10. Правильне тестування має бути змінним
Успішне тестування має містити у собі дві речі: повторення та зміна. Автоматизоване тестування добре в процесі постійного контролю якості, але недостатньо. Потрібно змінювати тести, включати до них кейси з “рандомними” речами. Поєднанням “повторення хорошого” та “варіації невідомого” забезпечується повне покриття продукту.
11. Мобільні аксесуари: складні use cases
Мобільні аксесуари, з їх великим парком, з проблемами в сумісності та взаємодії, дуже рідко можуть бути покриті автоматизованими скриптами. Наприклад, події виходу з Wi-Fi-покриття та повернення туди, одночасний запуск 5-10 додатків, комбінація встановлених дозволів на девайсі, отримання дзвінка та SMS - це "непередбачувано, а значить не-автоматизується". Або, наприклад, зміна налаштувань свайпа, або кількості одночасних торкань, також може вплинути на мобільні програми. Зрозуміло, що якщо потрібний якісний мобільний додаток, то без manual-тестувальника не обійдешся.
12. Ручне тестування це більше, ніж список pass/fail у стандартному звіті
Тестування за списком pass/fail корисна річ, у компаніях переважно так тестують мережеві функції. Але в деяких складних проектах не обійтися без ретельнішого тестування. Особливо веб-форми: автоматичний скрипт без проблем заповнить форму на сторінці, але не зможе надійно перевірити, чи збережуться дані, якщо користувач пішов зі сторінки та повернувся. Те саме і зі швидкістю передачі: людина явно помітить проблеми зі швидкістю завантаження або збереження даних у частині програми. Швидкість не те, що можна добре протестувати автотестами.
13. Тільки ручні тестувальники швидко відтворять помилку, помічену клієнтом
Чи розраховуєш виловити всі баги до деплою? Так ніколи не буває - користувачі повідомлятимуть про знайдені баги. Тільки manual-тестувальник швидко прийме інформацію про помилку, обробить, відтворить та зробить баг-репорт для розробника. Коли тестування ручне, час від прийняття бага від користувача до його виправлення - найкоротший.
Тренди тестування та перспективні галузі :
Big Data Testing;
Internet of Things;
Artificial Intelligence (AI) та Machine Learning (ML);
Blockchain Testing;
QAOps;
Quality engineering (QE);
Codeless Automated Testing.
Джерела:
Дод. матеріал:
Last updated