Quality Assurance специалистите (или QA специалисти за по–кратко) са специалисти, които отговарят за качеството на изработените софтуерни продукти. Всъщност QA специалисти има в много отрасли, но тук ще говорим за Quality Assurance специалистите в рамките на разработката на софтуер.
Какво е Quality Assurance?
Когато се разработва даден софтуерен продукт остават дефекти (бъгове), а естествено клиентите не желаят бъгав софтуер. За това се налага ефективен процес за откриването и отстраняването на дефектите по програмните продукти. Част от работата на програмистите е да тестват продуктите, които са създали за да открият проблеми още през процеса на работа по даден софтуерен продукт, но практиката показва, че това не е достатъчно. Именно за това се налага използването на екип от специалисти, които да тестват софтуерните продукти и да осигуряват нужното качество. В практиката има различни имена за
Quality Assurance специалистите. Можете да срещнете тази длъжност под някое от следните имена : тестер, тест специалист, специалист по качеството, QA специалист, тест инженер, QA инженер и др.
Работата на Quality Assurance специалистите може да бъде много различна и да е в различни посоки. В първите години ИТ фирмите в България, търсеха някой който да “цъка” по продуктите и да казва ако види нещо странно. Тези времена отминаха и Quality Assurance индустрията еволюира доста. Сега се правят тест планове, пишат се тестове (test casе), извършва се manual testing или се пишат автоматични тестове. Работата е много по – структурирана и все по уважавана. В университетите вече има курсове за Quality Assurance, а отделни фирми и организации отдавна предоставят обучения и сертификация. QA специалистите се търсят все повече и повече и в последните години тест специалистите взимат все по – добри заплати.
Има две основни понятия, които искам да обясня: manual quality assurance и automation.
Manual Quality Assurance
Ръчното тестване (много често наричано с чуждицата manual testing) е процеса при който ръчно се обхожда от тест специалистите софтуерния продукт и се изследват за дефекти части от софтуера и предполагаеми уязвимости. Manual Quality Assurance-а позволява някой запознат със софтуерния продукт да симулира използването на софтуера и да обходи различни предварително определени пътища за използване на софтуера ( test cases ).
Автоматизирано тестване
Процесите по тестване на един софтуер, могат да бъдат автоматизирани. Тоест може да бъде написан софтуерен код, който да извършва самото тестване. Специалистите, които съставят, поддържат и изпълняват автоматизирането на тестването са програмисти, които могат да бъдат наричани 13 специалисти.