QA за начинаещи: Автоматизирано тестване срещу ръчно тестване

QA за начинаещи: Автоматизирано тестване срещу ръчно тестване
  • 4791 преглеждания

Тестването на софтуер привлича много специалисти, които се интересуват от ИТ, както и експерти от други области, които решават да се преквалифицират на по-късен етап от живота си. Едно от основните решения, които ще трябва да вземат е да изберат своя път за развитие – Ръчно тестване или Автоматизирано тестване – Quality Assurance Manual или Quality Assurance Automation. В тази статия ще разгледаме какви са плюсовете и минусите на тези два метода от гледна точка на кариерна перспектива.

Quality Assurance Manual

При ръчното тестване, тестовете се изпълняват ръчно, което означава – индивидуално и от хора. Не се използват инструменти или скриптове. Ето защо не е необходимо да познавате скриптове или да имате познания по програмиране, но процесът по ръчното тестване отнема повече време и изисква логика.

Quality Assurance Automation

При автоматизирано тестване, от друга страна, тестовите случаи (test cases) се изпълняват с помощта на софтуер и скриптове. Целта тук е да завършите изпълнението на теста за по-малко време чрез повтарящ се таск и регресионен тест без намесата на ръчен тестер. Но дори и в този случай са необходими ръчни усилия, за да бъдат създадени тестовите скриптове или казано с други думи, вие трябва да напишете тези скриптове използвайки програмни езици като JAVA или C#.

Ако трябва да определим кой начин на тестване е по-добър, няма правилен отговор. И двата вида – ръчно или автоматизирано са приложими в различни случаи в зависимост от различни фактори като бюджет, изисквания на проекта, ресурси, времеви график, пригодност, експертиза и структура на проекта.

И в двата метода – автоматизиран и ръчен, са обхванати специфични типове тестване, като интеграционно тестване, тестване на системата, тестване на производителността и тестване на натоварване. Въпреки това, някои от тези типове тестване се изпълняват по-добре при ръчен подход, а други - чрез автоматизация.

В следващите редове ще обсъдим основните разлики между ръчно и автоматизирано тестване по отношение на някои важни фактори като време, знания, рамки и т.н.

Време

  • QA Manual – Ръчното тестване отнема повече време, тъй като се основава само на човешки ресурси.

  • QA Automation – Автоматизираното тестване ви позволява да изпълните теста много по-бързо от ръчния подход.

Точност

  • QA Manual – При ръчното тестване рискът от човешка грешка е по-голям.

  • QA Automation - Автоматизираното тестване се обработва от скриптове и инструменти, което го прави надеждно и точно, но в същото време скриптът може да действа само така, както е написан – може да пропусне грешки, които са очевидни за ръчния тест.

Необходими знания

QA Manual - Не са необходими умения за програмиране при ръчно QA.

  • QA Automation - Познанията по езици за програмиране, като JAVA и C# са необходими за създаването на скриптове с помощта на повечето инструменти.

Framework

  • QA Manual – В ръчното тестване не се използват фреймуъркове, но могат да се използва чек листове, насоки и процеси по време на тестовете.

  • QA Automation – В автоматизираното тестване се използват фреймуъркове като Selenium WebDriver, Data Driven Testing, AAA Pattern и други.

Както виждате, както ръчното, така и автоматизираното тестване имат плюсове и минуси. С ръчно тестване например можем да постигнем по-точна обратна връзка въз основа на човешкия опит. Освен това не изисква никакви познания по програмиране. Автоматизираното тестване от друга страна помага за намирането на повече грешки чрез бърз и ефективен процес, който може да бъде записан чрез скриптове и инструменти.

Едно е сигурно, Quality Assurance се различава от програмирането и софтуерното разработване, но QA специалистите имат ключова роля в разработването на всеки вид софтуер, като участват във всички етапи от планирането и разработката му. QA Manual е предназначен за по-начинаещи и хора, които не искат да пишат код, докато QA Automation е за по-напреднали и хора, които вече имат опит с ръчното тестване и желаят да продължат развитието си към автоматизираното тестване.