Ultima actualizare 18 martie 2020
Cum se lansează un software fără niciun bug? Cu ajutorul testerilor de asigurare a calității! Deci, ce este testarea QA și ce fac inginerii QA? AJ Larson, directorul Quality Assurance Bootcamp de la Devmountain, explică modul în care QA se încadrează în ciclul de viață al dezvoltării de software, instrumentele pe care trebuie să le cunoașteți pentru a învăța să fiți un tester QA și diferența dintre joburile de dezvoltare web și cele de QA.
Întâlnire cu expertul: AJ Larson
-
AJ Larson, director de program pentru programul de asigurare a calității (QA) la Devmountain. Am dat startul taberei de inițiere QA în octombrie 2017.
-
AJ a obținut diploma de licență în Computer Information Systems și masteratul în Information Systems, dar spune că cea mai mare parte a experienței sale de dezvoltare și a practicii QA nu a provenit din diploma sa CIS!
Ce este testarea QA?
QA înseamnă Quality Assurance. La un nivel înalt, Testarea QA există pentru a confirma că produsul pe care îl realizați este produsul pe care îl dorește clientul și că este lansat fără erori.
În trecut, dezvoltatorii de software construiau software-ul, îl predau testerilor QA, iar aceștia testau manual software-ul și trimiteau înapoi o listă de erori care trebuiau corectate.
Noul val de QA este mai eficient. La Devmountain, instruim oamenii pentru noul val de QA, ceea ce înseamnă că QA este implicat în fiecare etapă a procesului de dezvoltare agile. Testerii QA participă la ședințele de proiectare, sunt la convorbirile cu clienții, sunt în toate standup-urile și se uită la cod imediat ce dezvoltatorii îl scriu, în loc să aștepte ca întregul produs să fie gata.
Un tester QA este specializat în a avea o mentalitate de client, susținând clienții și punând întrebări pentru a se asigura că toată lumea este pe aceeași lungime de undă și că nimic nu este ratat. Pe termen lung, QA economisește timp și bani.
Ce face un inginer QA excelent?
Când intervievez un inginer QA, mă uit după întrebări bune. La Devmountain, căutăm studenți care pot să pună întrebări eficiente, să detecteze defecte și contradicții, să observe piesele lipsă. Genul de persoană care se bucură să rezolve probleme. Cineva care poate aprofunda și nu se mulțumește cu un răspuns ușor.
S-ar putea să vă potriviți pentru QA dacă:
-
Îți place să citești un document pentru a-l edita prin copiere.
-
Ești cel care îi observă pe ceilalți încălcând regulile unui joc.
-
Ești dispus să faci cercetări pentru a-ți da seama de ceva.
-
Ai dorința de a învăța.
Testarea AQ: Instrumente și tehnologii
Instrumentele pe care le învățăm pe inginerii noștri de QA sunt:
-
JavaScript Automation
-
Nightwatch Framework
-
Page Object Models
-
Postman și Newman pentru testarea API
-
JReader
-
Github
.
La un nivel înalt, în esență, îi învățăm pe oameni cum se dezvoltă software-ul și cum ne putem încadra în ciclul de viață al dezvoltării pentru a reprezenta clientul, precum și obiectivul final. Studenții vor învăța:
-
Diferite moduri de a testa software-ul și de a rezolva problemele pe care le găsesc în timpul testelor lor.
-
Cum să interpreteze și să descompună cerințele în criterii de acceptare testabile
-
Cum să știe când un produs este gata să fie lansat.
-
Cum să obțină rezultatele testelor lor
-
Cum să comunice eficient rezultatele testelor lor
-
Cum să lucreze eficient cu echipa de dezvoltare.
-
Cum să îmbunătățească produsul și să se asigure că clientul este mulțumit.
Trebuie să știu să codez pentru a fi inginer QA?
Depinde. Fiecare companie are o idee diferită despre ceea ce ar trebui să fie un inginer QA. S-ar putea să găsiți ingineri QA sau analiști QA de mare succes care nu știu deloc cod. Veți găsi alte companii care vor un dezvoltator de nivel mediu sau superior care să știe și să facă QA.
Am predat unui student care a condus o afacere de curățenie în casă și acum este un inginer de automatizare. Am avut un alt student al cărui unic loc de muncă după liceu a fost să livreze gogoși și a ajuns să își instruiască întregul departament de QA. Cu siguranță nu aveți nevoie de un background tehnic pentru a intra în QA Testing. Puteți avea o carieră de succes cu o cantitate mică de programare.
Vă va face mai vandabil să cunoașteți cel puțin un limbaj de programare. Cele patru mari (din experiența mea) sunt Java, C#, JavaScript și Python. Cred că JS și Python sunt mai iertătoare pentru începători, dar și automatizarea este mai iertătoare decât dezvoltarea. Le recomand multora dintre cei pe care îi îndrum în Devmountain și în afara Devmountain să se intereseze de întâlnirile și grupurile de utilizatori din jurul lor pentru a vedea unde ar putea obține cel mai mult sprijin.
The QA Engineering Job: Interviuri, titluri de locuri de muncă și salarii
Ce conține un CV sau un portofoliu de inginer QA?
Nu există chiar un „portofoliu QA” standard. La Devmountain, dotăm studenții cu experiență în diferite proiecte. Ori de câte ori este posibil, le facem rost de proiecte din lumea reală la care să lucreze. Poate fi vorba de o companie care îi invită pe studenții noștri să le testeze produsele. Ne vom asigura că au planuri de testare bine scrise pentru a le arăta, împreună cu o bună automatizare pe Github, pe care le pot arăta potențialilor angajatori. Aceste experiențe pot fi folosite ca puncte de discuție la interviuri.
Ce să ne așteptăm la un interviu tipic pentru un job QA:
Dacă există o mulțime de automatizări listate în descrierea postului, atunci ar trebui să vă așteptați la whiteboarding la interviu. Cu toate acestea, provocările de cod sunt mai frecvente în QA. În toate interviurile QA, ar trebui să vă așteptați să răspundeți la situații de probă. S-ar putea da exemple specifice legate de lipsa ofertei în raport cu cererea pentru aceste locuri de muncă, de asemenea. Exemple de întrebări de interviu pentru inginerii QA ar putea fi:
-
Dată această situație, ce ați face?
-
Dacă șeful QA este bolnav sau persoana pe care o înlocuiți este plecată de câteva săptămâni, cum o să vă pregătiți și cum o să vă dați seama ce este important?
-
Cu cine aveți de gând să vorbiți pentru a vă planifica abordarea?
-
Care a fost bug-ul tău preferat și de ce?
QA Testing Jobs
Vă puteți aștepta la titluri de locuri de muncă precum Automation Engineer, QA Tester, QA Engineer, QA Analyst, Software Test Engineer.
Când studenții absolvă Devmountain, aceștia tind să intre în roluri de QA Analyst sau QA Engineer. Majoritatea posturilor de automatizare se așteaptă să cunoști mult mai mult cod. Pentru studenții noștri care cunosc deja o cantitate bună de cod, este posibil să sară direct într-o poziție de automatizare. Locurile de muncă cu „automatizare” în descriere tind să fie locuri de muncă de nivel mediu sau superior atunci când vine vorba de QA. Am văzut studenți cu trei luni de experiență să se califice pentru aceste posturi de nivel mediu, odată ce au pus mâna și au dobândit ceva mai mult know-how.
Descrierea în schimbare a postului de inginer QA
Munca va continua să se schimbe, dar nevoia de ea va crește odată cu industria. Înainte de a veni la Devmountain, cererea depășea oferta de ingineri QA. Am văzut că așteptările se schimbă mult mai mult în cazul QA decât în cazul altor posturi din lumea tehnologiei, de asemenea. Pe măsură ce dezvoltarea se schimbă, QA trebuie să se schimbe odată cu ea.
QA Engineering vs Web Development
Este testarea QA mai ușoară decât să devii dezvoltator?
Întotdeauna a existat acest stigmat: „Nu poți să te descurci în dezvoltare? Treci în QA”. Această mentalitate nu este în întregime greșită. QA tinde să fie mai ușor de început în QA decât în dezvoltare. Nu trebuie să înveți perfect dezvoltarea full-stack, așa că presiunea este mai mică în QA. Există o mulțime de oameni care folosesc cu succes QA ca o rampă de lansare în restul industriei tehnologice.
Decizia între QA și dezvoltarea web
O întrebare pe care îmi place să o pun viitorilor studenți este: „Ați prefera să obțineți un design și apoi să construiți ceva care să îndeplinească acele cerințe? Sau ați prefera să obțineți produsul și să dovediți dacă designul îndeplinește sau nu cerințele?” O să vă distrați mai mult făcând ceva care îndeplinește așteptările sau stricând ceva?
Salariile inginerilor QA vs. salariile dezvoltatorilor web
Există o concepție greșită conform căreia ingineria QA nu este la fel de profitabilă ca dezvoltarea web. Dacă sunteți dispus să faceți munca pentru a intra în automatizare, atunci veți avea un salariu la fel de mare ca al unui dezvoltator web. Sunteți practic un dezvoltator care se concentrează pe calitate,
Dacă rămâneți doar la QA manual, atunci s-ar putea să nu câștigați la fel de mult sau să nu puteți crește la fel de mult ca inginerii QA mai pricepuți la tehnologie. Salariul mediu pentru un salariu al unui tester QA manual este de ~78.566 $/an, conform Zip Recruiter.
În opinia mea, este mai ușor să crești mai repede în QA decât în dezvoltare, deoarece industria duce lipsă de oameni cu aptitudini tehnice de QA, în timp ce dezvoltatorii sunt numeroși.
QA Testing Training for Beginners
Există site-uri precum Guru99 sau Meetups și organizații precum The Ministry of Testing. La nivel local, fac parte dintr-un grup de QA is the Point. Căutați un Meetup în apropierea dumneavoastră! Nu există multe resurse grozave pentru QA.
Pentru a afla dacă QA este o carieră care vă place, vă recomand să găsiți un site web și să vă jucați cu el. Vedeți dacă îl puteți face să se rupă. Joacă-te cu internetul și jocurile video pentru a vedea dacă poți cauza probleme. Dacă ai acest entuziasm, este un loc bun pentru a începe.
Descoperă mai multe și citește recenziile Devmountain pe Course Report. Acest articol a fost realizat de echipa Course Report în parteneriat cu Devmountain.
Despre autor
Liz este co-fondatoarea Course Report, cea mai completă resursă pentru studenții care cercetează taberele de inițiere în codare. Cercetările ei au fost citate în The New York Times, Wall Street Journal, TechCrunch și multe altele. Îi place să mănânce tacos la micul dejun și să-și petreacă timpul cunoscând absolvenți și fondatori de bootcamp-uri din întreaga lume. Vedeți Liz & Course Report pe Twitter, Quora și YouTube!
.