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

Софтуерното тестване привлича много млади професионалисти, които искат да се развиват в областта на информационните технологии, както и експерти от други сфери, които са решили да променят професията си на по-късен етап. Един от основните въпроси, които възникват за начинаещите QA експерти, е кога е подходящо да бъде използвано ръчното софтуерно тестване и кога да се заложи на автоматизирано такова. А също така – кой от двата подхода е по-перспективен от гледна точка на кариерното развитие.

При ръчното тестване (Manial QA), както предполага и името, тестовете се изпълняват единствено от хора, без да се използват скриптове. В този случай познанията, свързани с програмни езици и писане на код, не са необходими, но за сметка на това -процесът е по-времеемък.

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

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

И в двата метода – automation и manual, се обхващат специфични типове тестове като integration testing, system testing, performance testing и load testing. Въпреки това, някои от тези видове тестове са по-добре изпълними при ръчен подход, а други – с автоматизация.

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

 

QA Manual QA Automation
Време за изпълнение
Ръчното тестване е времеемко, тъй като е базирано изцяло на човешки ресурс. Автоматизацията позволява изпълнението на тестовете да става много по-бързо в сравнение с manual подхода.
Прецизност при изпълнението
Рискът от човешки грешки е значителен Автоматизираното тестване се изпълнява чрез скриптове и софтуерни инструменти, което го прави точно и прецизно, но  в същото време скрипът може да пропусне грешки, които са видими само при човешка намеса.
Тестови рипорти
Manual подходът дава възможност за човешки наблюдения и оценка на удобството и интуитивността на даден софтуер. Използват се специализирани платформи за запис на грешки и бъгове (Testrail, Jira etc.) Човешкият опит тук отсъства, което може да доведе до слаба или никаква оценка на интуитивността и удобството при работата с даден софтуер. Резултатите от тестовете се записват лесно в системата на автоматизацията.
Колко ще струва?
Първоначалната инвестиция е по-ниска, в сравнение с автоматизацията, но същевременно ROI (възвръщаемостта) също е по-ниска в дългосрочен план. Инвестицията е най-вече в човешки ресурс. Автоматизираното тестване обикновено е свързано с по-сериозна първоначална инвестиция, но ROI (възвръщаемостта) е по-голяма в дългосрочен аспект. В този случай разходите са свързани с разработване на тестови скриптове, което означава – наемане на automation инженери.
Необходими познания
 

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

Познания, свързани с програмни езици, са необходими, за да се разработят скриптовете, с които ще се тества софтуера.
Фреймуърк
При QA manual софтуерният фреймуърк не е необходим, вместо това се разчита на чек листове и процедури. Автоматизираното тествате използва феймуирк – например – Selenide, Serenity, Data Driven, Hybrid, BDD и др.
Кога е подходящо?
Exploratory Testing – когато човешкият опит и индивидуален подход е от значение.

 

Usability Testing: когато се измерва интуитивността и трябва да се оцени user-friendly структурата на даден софтуер.

 

Ad-hoc Testing: тест без предварителен сценарий, непланиран тип тестване.

  • Performance Testing: тестване, което изисква симулация на огромен брой едновременни процеси, е по-добре да се извърши чрез автоматизация
  • Load Testing: Автоматизираното тестване е подходящо и когато трябва да се оцени ефективността на натоварването, която е част от тестването на производителността..
  • Functional Testing: в този случай автоматизираното тестване е по-подходящо, защото позволява чести кодови промени при висока скорост.
  • Repeated Execution: Когато тестът се основава на многократно изпълнение на задачата.

 

 

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

 

Кариерни възможности

Според данните на международната консултантска компания за разработване на софтуерни решения DataArt, обхващащи периода  2015-2017 г., процентът на кандидатите за работа, които са били заинтересовани от позиции, свързани с QA Automation е значително по-малък от този на кандидатстващите за QA вакантни места, свързани с ръчно тестване. Но означава ли това, че нуждата от QA Automation инженери е все още ниска или пък – точно обратното – че има недостиг на достатъчно квалифицирани експерти, които да се занимават с автоматизация?

В търсене на отговори на тези въпроси се обърнахме към двама QA специалисти от DataArt с дългогодишен опит – Виталий Кизимов, Senior Manual QA  и Антон Сирота – Senior Automation QA, които споделят своя опит:

  1. Ръчно или автоматизирано тестване – от гледна точка на кариерата, това въпрос на лични предпочитания ли е или е по-скоро въпрос на умения и познания?

Антон Сирота (QA Automation): Според мен е повече въпрос на личен избор и предпочитания, но е важно те да са подплатени и със съответните умения. Ръчното софтуерно тестване изисква познания и разбиране, а автоматизацията предполага наличие на това и в допълнение – знания, свързани с програмни езици. Именно затова процентът на кандидатите за работа, свързани с автоматизирано тестване, е по-малък. Но пазарът определено се нуждае от QA Automation инженери и търсенето нараства.

Виталий Кизимов (QA Manual): Изискванията към автоматизираното тестване са по-високи, затова и наблюдаваме по-малко кандидатури за такива позиции. Но това не е ядрена физика и всеки с повече мотивация би могъл да премине от manual към automation.

  1. Вярно ли е, че автоматизираното тестване е много повече свързано с програмирането, отколкото с Manual QA?

Антон Сирота (QA Automation): Не. Всичко това е black box тестване и QA Automation инженерът използва тестови случаи, също както и при manual подхода.

Виталий Кизимов (QA Manual): От гледна точка на изпълняваните дейности – да, по-близо е до програмирането. От гледна точка на комуникацията, се доближава много повече до ръчното тестване.

  1. Възможно ли е човек да се занимава с автоматизирано тестване, без никога преди това да е бил Manual QA?

Антон Сирота (QA Automation): Да, възможно е. Но добрият QA Automation инженер е специалист, притежаващ умения и в двете направления.

Виталий Кизимов (QA Manual): Силно вярвам, че преди да се автоматизира един процес, човекът, който ще пише кода, трябва да има разбиране, познания и опит в тези процеси, така че предишен опит като Manual QA  би бил доста ценен.

  1. Вярно ли е, че специалистите, занимаващи се с Manual QA, не са особено уважавани от страна на програмистите?

Антон Сирота (QA Automation): Никога не съм се сблъсквал с това в реални условия. В наши дни всеки разбира ролята на QA специалиста и знае колко важна е неговата работа за качеството на крайния продукт.

Виталий Кизимов (QA Manual): Това определено е мит.

  1. Какво бихте казали за фразата „QA никога не може да бъде напълно автоматизиран” от популярния QA експерт Майкъл Болтън?

Антон Сирота (QA Automation): QA не е просто изпълнение на тестове. Свързан е също така и с изисквания, анализи, създаване на тестови случаи, Към днешна дата няма начин една машина да направи всичко това самостоятелно. Но нищо не се знае, може след време изкуственият интелект да е способен да постигне дори и това.

Виталий Кизимов (QA Manual): Добрият професионалист знае къде е балансът между автоматизираните и ръчните процеси. Можем да разчитаме на автоматизацията, но не и изцяло на нея. Човешката преценка все още е водеща.

 

Leave a Reply

Your email address will not be published. Required fields are marked *