Много се говори, че автоматизираното тестване замества ръчното тестване. Аргументът е, защо да понасяте разходите за ръчно тестване, когато можете просто да пишете автоматизирани тестове на тяхно място? Това е по-бързо, по-евтино и осигурява същите резултати като ръчното тестване… нали?
Погрешно схващане.
Истината е, че ръчното тестване не е изчезнало. И това никога няма да стане. Тези 5 причини показват защо автоматизираното тестване не замества ръчното тестване:
1. Тестването на използваемостта не може да бъде автоматизирано.
Автоматизирането на тестовете за използваемост просто не е възможно. Тестването на използваемостта изисква човек. Не можете да обучите компютър да идентифицира „добрата“ използваемост срещу „лошата“ използваемост. Може би си мислите „добре, просто ще пропуснем тестването за използваемост“. Не правете тази грешка. Като пропускате тестовете за използваемост, вие въвеждате огромен риск. Тази стъпка в процеса на QA е от решаващо значение за осигуряване на доверие в изданието на продукта и няма начин да се включи човешко същество в тестването на използваемостта.
2. Автоматичното тестване тества само това, което е предвидимо.
Автоматизираните тестове ни уверяват, че това, което очакваме да се случи, наистина се случва. Ние наричаме това „щастливият път“. Автоматизацията се фокусира върху функционалност, която вече съществува. Обхватът е голям, но не е дълбок. Автоматичното тестване е чудесно за регресионни тестове, особено когато ресурсите са ограничени. Но само извършването на автоматизирано тестване със сигурност ще доведе до някои грешки и дупки в процеса на тестване.
3. Всички сме проучвателни тестери
Истината е, че всички правим софтуерни тестове. Дори и да нямате „тестер“ или „QA“ в заглавието си, има вероятност да сте участвали в проучвателни тестове. Този тип тестване „exploratory testing“, не е възможно с автоматизацията. Проучвателното тестване ни позволява да вземем области от нашето приложение и да отлепим слоевете, за да разкрием неща, които автоматизираните тестове никога няма да открият. Позволява ни да задаваме въпроси като „ами ако го направя по този начин вместо това?“. Проучвателното тестване е ръчен процес и това няма да се промени.
4. Автоматизираните тестове могат да съдържат бъгове/грешки
Точно както кодът на вашето приложение може да съдържа грешки, автоматизираните тестове също могат. Ако пишете автоматизирани тестове с грешки, ще имате фалшиви положителни резултати. Това може да доведе до големи проблеми за вашите клиенти и вашия екип. Човешкият елемент на ръчното тестване може да идентифицира тези грешки и да се увери, че тествате правилно.
5. Технически ограничения могат да влязат в действие
Някои тестови сценарии са просто твърде сложни или направо невъзможни за автоматизиране. Често срещан аргумент е „автоматизираното тестване е по-евтино“. Но не е трудно да похарчите много време и пари за сложна автоматизация. Вземете например тестване на различни устройства със сензорен екран. Как автоматизирате изживяването на „докосване“ и „плъзгане“. Не можете да направите това по начин, който е еквивалентен на човешката употреба.
Съществуването както на ръчно тестване, така и на автоматизирано тестване ни принуждава да мислим за нашия избор на инструменти, тяхната цена и ползата, която ще осигурят. Автоматизираното тестване не замества ръчното. Защото има време и място и за двата метода на тестване. Ръчното тестване ни помага да разберем целия проблем и да изследваме други ъгли на тестове с гъвкавост. Автоматичното тестване помага да се спести време в дългосрочен план чрез извършване на голям брой тестове на повърхностно ниво за кратко време. От вас зависи да определите кога и къде да се използва всеки метод на тестване.