Inženjering
Softverski inženjer
Pet razina od juniora do principala i šest kompetencija, od isporuke koda do razvoja tima.
- 5 razina
- 6 kompetencija
Predložak karijerne ljestvice
Četiri razine od junior do lead QA inženjera i šest kompetencija, od dizajna testova do praksi kvalitete.
Besplatni paket · Kreditna kartica nije potrebna
Ova karijerna ljestvica namijenjena je QA inženjerima u softverskim tvrtkama s otprilike 20 do 200 ljudi, u kojima testeri rade unutar produktnih timova, u cijeloj tvrtki ih može biti tek nekoliko, a ista osoba često ujutro radi istraživačko testiranje, a poslijepodne piše automatizirane provjere. Opisuje četiri razine, od osobe koja uči dobro testirati jednu funkcionalnost do osobe koja odlučuje kako cijela tvrtka pristupa kvaliteti. Najviša razina, Lead QA inženjer, stručna je razina, a ne menadžerska uloga.
Svaka je razina definirana onim što osoba radi i dokle seže njezin rad, a ne godinama iskustva ili brojem prijavljenih grešaka. Pročitajte redak matrice kompetencija slijeva nadesno da vidite kako jedno očekivanje raste; pročitajte odjeljak jedne razine da vidite sve što se na njoj očekuje. Upotrijebite je da objasnite što znači sljedeći korak, za samoprocjene i check-ine te da odluke o promaknuću ostanu usporedive među timovima.
Shvatite je kao nacrt. Ako vaši QA inženjeri ne pišu automatizaciju ili ako većinu testiranja rade programeri, promijenite formulacije prije nego što objavite ljestvicu — očekivanje koje u vašem okruženju nitko ne može ispuniti stvara samo frustraciju.
Testira jasno definirane funkcionalnosti prema postojećim testnim slučajevima i upoznaje proizvod i njegove korisnike.
Odgovara za testiranje funkcionalnosti u jednom timu, od čitanja zahtjeva do odobravanja izdanja.
Oblikuje kako jedan ili dva tima ugrađuju kvalitetu u rad i odgovara za testnu strategiju većih projekata.
Postavlja pristup tvrtke kvaliteti i pomaže svakom timu da isporučuje uz manje grešaka koje promaknu u produkciju.
Svaki redak je kompetencija, a svaki stupac razina. Čitajte redak slijeva nadesno da biste vidjeli kako očekivanja rastu.
| Kompetencija | Junior QA inženjer | Medior QA inženjer | Senior QA inženjer | Lead QA inženjer |
|---|---|---|---|---|
| Dizajn i analiza testova | Pažljivo izvodi postojeće testne slučajeve, za male user storyje piše nove slučajeve koji pokrivaju glavni tok i očite rubne slučajeve i prije početka testiranja pita o nejasnim zahtjevima. | Za svaku funkcionalnost u timu piše testni plan koji pokriva rubne slučajeve, ovlasti, stanja podataka i integracije te prije početka razvoja pregledava zahtjeve kako bi uočio praznine. | Dizajnira testnu strategiju za projekte koji obuhvaćaju više funkcionalnosti ili timova, odlučuje što pokriti na razini jediničnih, API i end-to-end testova i usmjerava trud na dijelove koji će se najvjerojatnije pokvariti. | Definira kako tvrtka odlučuje što testirati i koliko temeljito, na temelju rizika i podataka o korištenju, i brine se da ga svaki tim dosljedno primjenjuje. |
| Automatizacija testiranja | Dodaje automatizirane testove u postojeći framework slijedeći ustaljene obrasce, lokalno pokreće testni paket i prijavljuje padove koje ne može objasniti umjesto da ih ponovno pokreće dok ne prođu. | Automatizira regresijske testove za funkcionalnosti tima, drži ih stabilnima i čitljivima te popravlja ili uklanja nestabilne testove umjesto da ih ignorira. | Dizajnira strukturu automatiziranog testnog paketa, uključuje ga u pipeline isporuke s razumnim trajanjem i pregledava testove koje pišu programeri i drugi QA inženjeri. | Bira testne alate i zajedničku infrastrukturu tvrtke, uravnotežuje slojeve piramide testiranja među proizvodima i drži cijeli testni paket dovoljno brzim da ga timovi zaista pričekaju. |
| Istraživanje i prijava grešaka | Prijavljuje greške s jasnim koracima, očekivanim i stvarnim rezultatom i okruženjem, tako da programer može reproducirati problem bez dodatnih pitanja. | Sužava greške pomoću logova, mrežnih tragova i baze podataka, procjenjuje njihovu ozbiljnost prema utjecaju na korisnike i potvrđuje popravke, uključujući slučajeve oko njih. | Istražuje povremene probleme i one koji se javljaju samo u produkciji kroz više servisa, uočava obrasce u ponavljajućim greškama i pretvara ih u prijedloge koji uklanjaju cijelu klasu grešaka. | Odgovara za to kako tvrtka prati greške i određuje im prioritete, izvještava vodstvo inženjeringa o trendovima grešaka koje promaknu u produkciju i brine se da najveći izvori grešaka dobiju financirane popravke. |
| Procjena izdanja i rizika | Prije izdanja obavlja dodijeljene provjere, izvještava što je testirano, a što nije, i iznosi zabrinutosti iskusnijem QA inženjeru. | Za izdanja tima daje jasnu preporuku za ili protiv izdavanja, objašnjava poznate rizike i ono što je ostalo netestirano te sudjeluje u provjerama nakon izdanja. | Zajedno s programerima odlučuje o pristupu izdavanju rizičnih promjena — feature flagovi, postupno uvođenje, dodatni monitoring — i vodi testiranje tijekom incidenata i hitnih popravaka. | Postavlja standarde izdanja prema kojima rade svi timovi, definira kada se izdanje može zaustaviti i osoba je koju vodstvo pita je li proizvod spreman za veliko lansiranje. |
| Prakse kvalitete | Slijedi timsku definiciju gotovog i tijek testiranja i upozorava na korake koji se preskaču ili su zbunjujući. | Sudjeluje u doradi backloga i raspravama o dizajnu kako bi rano dodao kriterije prihvaćanja i pitanja testabilnosti te s programerima u paru razrađuje što pokriti njihovim vlastitim testovima. | Poboljšava tijek testiranja jednog ili dvaju timova — testna okruženja, testne podatke, kontrolne liste za pregled — i mjeri je li promjena smanjila broj grešaka koje promaknu u produkciju. | Oblikuje prakse kvalitete u cijelom inženjeringu, odlučuje gdje su QA inženjeri raspoređeni i za što odgovaraju programeri te čini kvalitetu zajedničkom odgovornošću, a ne poslom jednog tima. |
| Mentorstvo i dijeljenje znanja | Dok testira, dokumentira što nauči o proizvodu i s timom dijeli korisne nalaze i alate. | Održava testnu dokumentaciju tima ažurnom, uvodi nove kolege u svoje područje proizvoda i objašnjava tehnike testiranja programerima koji pitaju. | Namjerno mentorira junior QA inženjere, vodi radionice o pristupima testiranju za programere i sudjeluje u intervjuima za QA uloge. | Razvija vještine i karijerne putove QA grupe, definira kako se QA inženjeri zapošljavaju i uvode u posao i razvija sljedeće senior i lead QA inženjere. |
Pomaknite tablicu vodoravno da biste vidjeli sve razine.
Preuzmi kao CSV Otvara se u Excelu, Google tablicama ili Numbersu.
Testira jasno definirane funkcionalnosti prema postojećim testnim slučajevima i upoznaje proizvod i njegove korisnike. Pojedinačni user storyji ili popravci grešaka u jednom dijelu proizvoda, s testnim planovima koje pregledava netko iskusniji.
Odgovara za testiranje funkcionalnosti u jednom timu, od čitanja zahtjeva do odobravanja izdanja. Funkcionalnosti jednog produktnog tima, uključujući njihove ručne i automatizirane testove.
Oblikuje kako jedan ili dva tima ugrađuju kvalitetu u rad i odgovara za testnu strategiju većih projekata. Testna strategija, automatizirani testni paketi i odluke o izdanju za jedan ili dva tima te projekti koji prelaze granice timova.
Postavlja pristup tvrtke kvaliteti i pomaže svakom timu da isporučuje uz manje grešaka koje promaknu u produkciju. Kvaliteta u cijelom proizvodu: zajednička testna infrastruktura, standardi izdanja te kako se QA popunjava i provodi.
Ako se vaši QA inženjeri usredotočuju na istraživačko testiranje, skratite redak Automatizacija testiranja i proširite Dizajn i analiza testova. Ako uglavnom grade automatizaciju, podignite očekivanja za kvalitetu koda. U svakom slučaju izbor učinite izričitim kako nitko ne bi bio procjenjivan prema poslu za koji nije zaposlen.
S dva ili tri QA inženjera tvrtki obično trebaju samo junior, medior i senior razine. Lead dodajte kad netko stvarno postavlja standarde kvalitete za svaki tim, a ne kao nagradu za testera s najdužim stažem. U ovoj je ljestvici Lead stručna razina; ako vaš QA lead vodi i testere, dodajte očekivanja o vođenju ljudi iz ljestvice za Engineering Managere.
Svaku QA razinu povežite s razinom softverskog inženjera usporedivog opsega i plaće. Kad senior QA inženjer stoji uz senior inženjera, prelazak s jednog puta na drugi postaje korak ustranu, a ne degradacija ili skok.
Za check-ine i prijedloge za promaknuće prikupite primjere poput testnog plana koji je uhvatio skupu grešku, nestabilnog testnog paketa koji je postao pouzdan ili odluke o izdanju koja se pokazala ispravnom. Brojenje prijavljenih grešaka nagrađuje buku i kažnjava testere u stabilnim timovima.
Česta pitanja
Za tvrtku od 20 do 200 ljudi obično su dovoljne tri ili četiri jer su QA grupe male. Ovaj predložak koristi četiri: Junior QA inženjer, Medior QA inženjer, Senior QA inženjer i Lead QA inženjer. Petu dodajte tek kad opseg posla stvarno preraste postavljanje standarda kvalitete za cijeli proizvod.
U većini manjih tvrtki da. Srž posla — razumijevanje rizika, dizajn testova i procjena izdanja — ista je; razlikuju se samo alati. Zadržite jednu ljestvicu i za svaku osobu ili tim dogovorite koliko se redak Automatizacija testiranja primjenjuje.
Da, i najbolje funkcionira kao planiran prelazak. Usporedite osobu s ljestvicom za softverske inženjere, dogovorite nekoliko razvojnih aktivnosti, poput preuzimanja malih funkcionalnosti ili popravaka grešaka, i premjestite je kad dosljedno dostiže tu razinu. Iskustvo s testiranjem obično od takve osobe napravi boljeg, a ne slabijeg inženjera.
Gledajte ishode i ponašanje: greške koje su u njegovu području promaknule u produkciju, pouzdanost i brzinu automatiziranog testnog paketa, koliko rano upozorava na rizike i jesu li se odluke o izdanju pokazale ispravnima. Konkretne primjere raspravljajte prema ljestvici na redovitim check-inima umjesto da se oslanjate samo na nadzorne ploče.
Ne postoji fiksni omjer. Mnoge tvrtke ove veličine imaju jednog QA inženjera na svaka četiri do osam programera, ali pravi broj ovisi o tome koliko programeri sami testiraju svoj rad i koliko je greška skupa za vaše korisnike. Pratite greške koje promaknu u produkciju i kašnjenja izdanja i zapošljavajte kad jedno ili drugo stalno raste.
Postavite njezine razine i vještine za svoj tim, procjenjujte ljude prema njima u check-inima i održite dosljednost odluka o promaknućima.
Besplatni paket · Kreditna kartica nije potrebna
Inženjering
Pet razina od juniora do principala i šest kompetencija, od isporuke koda do razvoja tima.
Inženjering
Četiri razine od junior do staff DevOps inženjera i šest kompetencija, od infrastrukture do podrške programerima.
Inženjering
Četiri razine od Engineering Managera do VP of Engineering, kroz šest menadžerskih kompetencija.