Која е разликата помеѓу QA и Software Testing?

Која е разликата помеѓу QA и Software Testing?

Разговаравме со: Јелисавета Марковиќ, инструктор на Академијата за Software testing.

Јелисавета Марковиќ завршила Електротехнички факултет на одделот за Телекомуникација и информатички технологии на Универзитетот во Белград. Како Quality assurance & tester работи од 2014 година, на различни проекти кои опфаќаат тестирање на мобилни апликации, web страници и API тестирање. Проектите биле за странски компании чии успеси се мерат со милионски корисници. Во текот на работата се стекнала со сертификат ISTQB za Foundation i Agile Tester нивоа. Од тестер како член на тимот дошла до позиција лидер на QA тимот. Својот ентузијазам за тестирање со задоволство го дели со другите преку различни менторства и смета дека ова е идеална позиција да го дели своето знање со што повеќе луѓе.

Многу луѓе не ја знаат разликата помеѓу QA и Software Testing. QA (Quality Assurance) претставува осигурување на квалитетен софтвер. Тоа не значи софтверот само да работи точно туку и како што е потребно за бизнисот.  

QA процесот всушност започнува при креирање на бизнис планот. Се пронаоѓаат евентуални пропусти во спецификацијата, се разгледуваат очекувањата од страна на крајниот корисник, а се со цел превенција на грешки при креирање и самиот тек на тестирањето на софтверот. QA има за цел превенција при појава на проблеми (issues) и повеќе е поврзано со Agile методологијата.   

Software tester е фокусиран на суштината: тестирање на самиот производ, пронаоѓање на дефекти и нивно пријавување и верификација, користејќи различни методологии и програми. Тестерите го пронаоѓаат проблемот и го опишуваат за да може програмерот да знае каде е проблемот и како да го поправи. По интервенцијата на програмерот, тестерот повторно проверува дали проблемот е решен. Овој фокус на превенција не е за дефектот да исчезне туку дефектот да се детектира – зборуваме за контрола на квалитетот на производот.

QA соработува со бизнисот и дава увид на кој начин крајниот корисник може да го види производот. На тој начин QA дава свој личен печат на производот и неговите функции. QA овозможува бизнисот да направи подобра понуда за софтвер која ќе биде потполна и поквалитетна. Кога е таков софтверот, тогаш постои помала шанса при неговото креирање да дојде до пропуст. Во Software Testing -от работата е поинаква: тестерите немаат толку контакт со бизнисот и не можат толку да влијаат на самиот производ.

Сега кога ни е малку појасно во што е разликата помеѓу QA и Software Testing, може да преминеме на најчестите прашања:

Зошто Software testing и QA се важни?

Улогата на QA е исклучително важна за еден проект: претставува мост помеѓу бизнис идејата и програмската реализација.

Како што се развива производот, истиот поминува во фаза на тестирање и од страна на програмерот со цел да се провери кодот. Но кога производот ќе дојде на тестирање кај софтвер тестерот, тој поминува и низ различни сценарија на користење кои можат да дадат неадекватни однесувања на производот.

Тоа може да биде предизвикано од пропусти во спецификацијата, пропусти во имплементација, пропусти во тестирање, ограничувачки фактори кои што се во околината итн. Во зависност од тоа кој софтвер е во прашање, тоа неадекватно однесување може да ја чини компанијата реноме, капитал или да заврши со судска жалба. Со цел да не дојде до овие непосакувани сценарија  – неопходно е да се вложува во QA.

Каде се користи QA и Software testing?

Секој кој развива софтверски производ треба да има QA/Software testing на располагање.

Пример: компанија која се занимава со мода ги задолжува програмерите да креираат вебсајт со понуда на производи. Сајтот на прв поглед изгледа супер и може да се користи. Компанијата прави распродажба и испраќа СМС пораки/ мејлови на корисниците. 10 минути после тоа сајтот повеќе не може да се користи (многу честа појава во нашето опкружување 😊).

Зошто тоа се случува? Поради начинот на користење, сајтот не е до крај искомунициран со програмерите и тестерите, а со самото тоа серверот не е предвиден да опслужи толкав број на корисници и престанува со работа.

И како тоа влијае на бизнисот? Стрес кај програмерите, стрес кај тестерите, стрес кај менаџерите, губење на пари во тие неколку часа колку што сајтот е недостапен и фрустрација и незадоволство кај крајните корисници.

Дали можете да се занимавате со QA без познавање на кодирање? Кој може да биде софтвер тестер?

Да, можно е.

Улогата на QA не е дефинирана да мора некој да пишува автоматски тестови и да разбира програмски јазик. QA стручњак може и без тоа добро да си ја работи својата работа. Потребно му е да може логички да разбира како некои работи функционираат, да размислува како краен корисник, да проба да ги согледа работите и од друг агол и да пронајде недостаток во спецификацијата или во крајниот производ.  Не би советувале ни да се бега од програмирање – со обзир на тоа дека QA областа константно се развива, познавање на основите на програмирањето може само да помогне. Важно е да се остане отворен за учење и прифаќање нови знаења. 😊

Како и во секоја работа, од пресудно значење е личноста да биде заинтересирана, спремна да учи и да има добра мотивација. Секако, полесно му е некој од техничка струка да почне со QA позиција, но во текот на мојата работа сум сретнала колеги со различно факултетско образование  кои го потврдија моето мислење дека не постои строга дефинираност во образованието. Се советува почетниците да се запознаат со основите на тестирање, техники на тестирање и работа со бази, бидејќи ова се најчести прашања на интервјуа за QA позиција.

QA е како кога мало дете си игра со играчка. Детето многу брзо ќе ја расклопи и искрши играчката за да види што има внатре и од што е направена, па потоа повторно ја склопува. Исто така и  QA-овците, го “растураат” производот до најситен дел, како тоа не би го правел крајниот корисник.”

Како изгледа еден работен ден на личност која се занима со QA?

Прво кафе, па потоа чита многу мејлови. 😊

На Agile проектот денот може прилично да варира, па така утрото може да започне со дневни состаноци каде го презентираме статусот од претходниот ден и планот за следниот ден. После тоа следи: креирање тестови, детектирање  test data requirement, a доколку е потребно, преглед на тестови (cases) кои ги напишале други членови на тимот, давање сугестии за промени, или промена на постоечките тестови доколку има коментари при креирањето.

Доколку има потреба да се сподели знаење, одржуваме состаноци. Во случај да се појави проблем со цел негово истражување, се прекинува целиот процес и се дава приоритет доколку е итен. Се трудиме да ги репродуцираме проблемите, се пронаоѓа сценарио, околностите под кои се случува и се даваат информации на програмерите доколку е валиден проблем да го поправат. Во случај да не е, даваме објсанување за начинот на работа на производот.

Која е иднината на QA и Software testing?

Јас започнав да работам пред 7 години и во овој период нашата професија значително се промени. На почетокот, само по некој програм беше достапен за автоматски тестови. Како автоматското тестирање почна да се развива, започнаа и прашањата: дали QA како позиција ќе опстане? Сега кога програмерот може сам да испрограмира и автоматски да пушти, дали QA ќе изумре?

Но всушност, се случи спротивното. Постојат работи кои автоматските тестови едноставно не можат да ги „покријат” или не се доволно ефикасни. Еден колега кој работи автоматика ми кажа пример дека нему му било потребно повеќе време да детектира дека едно копче кое се наоѓа во десниот долен агол, додека на тестерот му требале само неколку секунди, затоа што со едноставен поглед на таа страница брзо го воочува копчето. Значи, потребата за мануелно тестирање ќе опстои и понатаму.

Примери:

Дали знаете дека едно вселенско летало доживело катастрофа затоа што не било тестирано?

Интерфејсот на ова летало ги примило броевите во одреден формат, и никој не пробал или тестирал како леталото ќе се однесува ако се впише друг број. Кога полетало, на интерфејсот се испишал некој долг број (за кој немало доволно предвидено место во меморијата) и дошло до крах на леталото. Значи, само еден број предизвикал толку голем проблем. Секогаш ќе има потреба од тестирање. Сигурна сум дека тестерите нема да исчезнат за 10 години, ниту пак за 100. Работа секогаш ќе има, иако природата ќе се менува и варира зависно од развојот на AI.

Дали знаете како само еден човек направи огромна гужва во сообраќај?

Сигурно сте ја слушнале приказната за еден генијален уметник кој го прелажал Google maps. Симон Векерт со својот уметнички перформанс го свртел вниманието на тоа како работат софтверите кои ги земаме здраво за готово и како истите влијаат на нашиот живот. Симон позајмил и најмил 99 телефони, кои ги ставил во мала црвена количка и на секој вклучил следење на локација. На овој начин, го прелажал Google maps кој прикажувал огромна гужва на делот од патот каде поминувал Симон. Патниците почнале да го избегнуваат овој дел од патот – иако на мапата бил прикажан потполн застој. Што мислите, дали на некој QA тим му паднало на памет ваква употреба на Google Maps?

Кариерни можности: колку QA професијата е популарна и добро платена?

Кариерните можности се разновидни како што е и самата област QA, зависно од платформата за која производот е наменет. Се бараат позиции од јуниор до сениор, постојат побарувања и за automation QA кои познаваат програмски јазици, но и за блиски стручни позиции како што се security expert, performance expert итн.

Јас започнав со mobile тестирање, па работев на  web тестирање, а сега работам и на mobile и web и API тестирање. Како и во секоја друга работа, колку тестерот е поквалитетен толку е поголема платата. За automation тестер важи муабетот дека имаат подобри плати.

Те интересира кариера за Software tester?

Прочитај за нашата Академија за Software tester која ќе ти овозможи сè што е потребно да започнеш успешна кариера во областа на тестирањето софтвер.