Відсутність автоматизації тестування схоже на написання огляду для бізнесу, який ви відвідали рік тому. Цей огляд буде недоцільним, оскільки досвід набувся давно, тож власник бізнесу точно не оцінить такий відгук.
Те саме відбувається при розробці програмного забезпечення. Без засобів автоматизації тестування зворотний зв'язок з новими функціями програмного забезпечення триватиме певний час. Звичайно, цей зворотний зв'язок не буде марним, але може призвести до невдач та нижчої ефективності.
Але процес автоматизації тестування також має певні проблеми. Знання цих проблем допомагає виявити найслабші місця в ланцюгах постачання програмного забезпечення та швидше випускати продукцію.
1. Брак навичок
Для деяких компаній досягти переваг швидкого розвитку за допомогою автоматизації тестування все ще неможливо через брак кваліфікації. Ця проблема впливає на ІТ назавжди, і, схоже, ускладнюється: зараз 53% компаній повідомляють, що їм не вистачає фахівців з кібербезпеки.
Навіть простого пошуку в Google достатньо, щоб усвідомити, що існує величезна нестача експертів з автоматизації тестування.
Джерело: Знімок екрану автора
Відсутність навичок часто призводить до великої кількості ручного тестування та втрачених можливостей для прискорення процесів розробки програмного забезпечення. Деякі компанії вирішують відмовитись від проєктів автоматизації тестування, зрозумівши, що для деяких процесів потрібні знання, які люди здобувають роками.
Як розв'язати цю проблему?
Брак навичок є реальним, але не є вагомою причиною, щоб призупинити автоматизацію тестування. Ось кілька ідей для розв'язання цієї проблеми:
-
Використовуйте засоби автоматизації, щоб допомогти тестерам. Розгляньте можливість використання засобів автоматизації тестування програмного забезпечення, таких як Selenium, Cucumber або Appium, щоб допомогти вашій чинній команді тестерів впоратися з автоматизацією.
-
Автоматизація аутсорсингових тестів. Наймання віддалених команд - це швидкий та економічний спосіб отримати доступ до талановитих тестерів за кордоном.
-
Інвестуйте у розвиток знань. Подумайте про те, щоб придбати онлайн-курси та інші ресурси, щоб ваша власна команда могла навчитися автоматизації тестування.
2. Розв'язання питання, з чого почати автоматизацію
«Який тест нам слід автоматизувати в першу чергу? Чи слід залишити кілька тестів для ручної роботи? А може, 100% автоматизація - це шлях? І, до речі, з чого нам взагалі почати?»
Це загальні запитання, які компанії мають вирішити перед початком автоматизації тестування. Обраний ними підхід визначатиме швидкість та обсяг їхньої роботи.
Ось декілька типових підходів до автоматизації тестування:
-
Автоматизація інтерфейсу користувача > інтеграція/автоматизація тестування компонентів > автоматизація модульного тестування
-
Автоматизація модульних тестів > інтеграція/автоматизація тестування компонентів > Автоматизація тестування інтерфейсу користувача
Який підхід буде найкраще підходити залежить від продукту. Перший підхід є більш популярним при розробці програмного забезпечення, що не відрізняється гнучкістю, і часто призводить до більш трудомістких тестів інтерфейсу користувача.
Як розв'язати це питання?
Розгляньте можливість використання другого підходу до автоматизації тесту: («Автоматизація модульних тестів > інтеграція/автоматизація тестування компонентів > Автоматизація тестування інтерфейсу користувача».)
Цей підхід називається «Піраміда автоматизації випробувань» Майка Кона і широко визнаний як спосіб зменшення витрат та підвищення ефективності тестування.
Джерело: Міністерство випробувань
Ось кілька чудових причин вибрати такий підхід:
-
Перший крок: модульні тести. Вони повинні бути першим кроком у процесі автоматизації, оскільки вони найдешевші, найпростіші та найшвидші у виконанні. Ось чому пошук та виправлення помилок буде простим на цьому етапі.
-
Другий крок: Інтеграція/API/Тести компонентів. Ці тести є більш складними, ніж одиничні, тому розгляньте можливість автоматизації якомога більшої кількості з них.
-
Третій крок: тести інтерфейсу користувача. Спробуйте автоматизувати найважливіші тести, оскільки вони важкі та дорогі.
3. Ефективна співпраця з командою тестування
Співпраця - це проблема для будь-якої команди розробників програмного забезпечення, але вона стає ще більш страшною, коли задіяна автоматизація тестування.
Автоматизація все ще є відносно свіжим підходом, і вона вимагає більшої комунікації, планування та колективної роботи. Це означає, що розробники програмного забезпечення, ручні тестери, керівники проєктів та спеціалісти з автоматизації тестів повинні співпрацювати, щоб зрозуміти історичні дані тестування та вирішувати процеси автоматизації.
Як розв'язати цю проблему?
Керівники проєктів повинні заохочувати та сприяти спілкуванню між усіма командами, які беруть участь у проєкті. Вони повинні впевнитись, що інженери з автоматизації тестів можуть отримувати інформацію від керівників підприємств, розробників програмного забезпечення, ручних тестерів та інших зацікавлених сторін проєкту.
Поради для кращої співпраці:
-
Встановіть конкретні рекомендації щодо спілкування, терміни доступності та обов’язкові регулярні зустрічі для групи тестування
-
Переконайтеся, що команди представляють свої щотижневі досягнення та проєкти іншим командам, щоб інформувати їх про прогрес
-
Організовуйте індивідуальні зустрічі з членами команди, щоб дізнатись про їхні проблеми, цілі та рекомендації щодо покращення результативності проєкту.
4. Робота з помилково позитивними та помилково негативними результатами
Помилково позитивний результат тесту трапляється, коли сценарій тесту не працював за призначенням, але сам тест був позначений як завершений. І навпаки, якщо сценарій тестування пройшов добре, але тест не вдався, результат вважається помилково негативним.
Якщо система автоматизації тестів продовжує генерувати помилково позитивні або помилково негативні результати, то ви можете розглянути можливість запуску деяких ручних тестів. У цьому випадку в системі може бути щось не так, тому ви не можете покладатися на отримані результати.
Як розв'язати це питання?
Той факт, що система автоматизації тестів генерує хибнопозитивні та хибнонегативні результати, означає, що можуть бути деякі проблеми в планах тестування, тестових випадках або середовищі тестування.
Подумайте про перевірку системи на наявність потенційних проблем. Деякі ручні тестування можуть також знадобитися для перевірки тестів, які були автоматизовані до цього моменту.
Пов’язане: Тестування програмного забезпечення за допомогою штучного інтелекту
5. Встановлення цілей стратегії автоматизації тестування
Інвестиції в автоматизацію тестування - це великий проєкт, який має чіткий напрямок.
Якщо стратегія автоматизації тестування не має набору чітких цілей, яких слід дотримуватися, тоді не існує контрольних показників, за якими можна судити про її ефективність. Це може статися, якщо компанія вибере загальну, неосяжну мету, як-от «якомога швидше випустити якісний додаток».
Як розв'язати це питання?
Чітко визначте цілі та ключові показники ефективності для цілей стратегії автоматизації тестування. Це одна з найкращих практик автоматизації тестування, яка може зробити проєкт більш цілеспрямованим та орієнтованим на результат.
Почніть із пошуку відповідей на ці чотири питання:
-
Які можуть бути найбільші переваги автоматизації тестування?
-
Як ми можемо збільшити рентабельність інвестицій в автоматизацію тестування із меншими зусиллями?
-
Які проблеми ми хочемо вирішити за допомогою нашої стратегії автоматизації тестування?
-
Які тести ми можемо повністю або частково автоматизувати?
Остаточні варіанти цілей можуть бути пов’язані з:
-
Тестами
-
Загальними цілями компанії.
Наприклад, ви можете прагнути до 35% швидшого виходу на ринок, 50% швидшого регресійного тестування або нижчої загальної вартості тестування на 25%. Дані цілі, швидше за все, пов’язані з цілями організації.
Крім того, ви можете прагнути автоматизувати певний відсоток конкретних завдань (завдання з чіткими результатами проходження/відмови, завдання, які працюють через різні набори даних, особливо трудомісткі завдання тощо). Це цілі на рівні команди, які не відповідають цілям компанії.
П’ять загальних завдань автоматизації тестування: короткий зміст
Автоматизація тестування стала важливим компонентом у світі розробки програмного забезпечення DevOps та Agile. І багато компаній, які застосовують цю стратегію, стикаються з цими п’ятьма проблемами на своєму шляху.
Не дивлячись на те, що інструменти автоматизації тестування можуть спростити багато процесів, вам слід уважно спостерігати за тим, щоб ваша команда була зосереджена та працювала добре. Якщо ви забезпечите вирішення цих п’яти завдань, досить великі шанси, що проєкт з розробки програмного забезпечення матиме великий успіх.