Utvikling
Software Engineer
Fem nivåer fra Junior til Principal og seks kompetanser – fra å levere kode til å utvikle teamet.
- 5 nivåer
- 6 kompetanser
Mal for karrierestige
Fire nivåer fra Junior QA til Lead QA Engineer og seks kompetanser – fra testdesign til kvalitetspraksis.
Gratisplan · Ingen betalingskort nødvendig
Denne karrierestigen er for QA-ingeniører i programvareselskaper med omtrent 20–200 ansatte, der testerne sitter i produktteamene, det kanskje bare finnes en håndfull av dem i hele selskapet, og samme person ofte tester utforskende om morgenen og skriver automatiserte tester om ettermiddagen. Den beskriver fire nivåer, fra en som lærer å teste én funksjon godt, til personen som bestemmer hvordan hele selskapet jobber med kvalitet. Det øverste nivået, Lead QA Engineer, er et spesialistnivå, ikke en lederrolle.
Hvert nivå er definert ut fra hva personen gjør og hvor langt arbeidet rekker, ikke ut fra antall års erfaring eller hvor mange feil de rapporterer. Les en rad i kompetansematrisen fra venstre mot høyre for å se hvordan én forventning vokser; les avsnittet om et nivå for å se alt som forventes på det nivået. Bruk den til å forklare hva neste steg innebærer, til egenvurderinger og check-iner og til å holde forfremmelsesbeslutninger sammenlignbare på tvers av team.
Se på den som et utkast. Hvis QA-ingeniørene deres ikke skriver automatisering, eller hvis utviklerne eier mesteparten av testingen, endrer du formuleringene før du publiserer karrierestigen – en forventning ingen kan oppfylle i deres oppsett, skaper bare frustrasjon.
Tester veldefinerte funksjoner ut fra eksisterende testtilfeller og lærer produktet og brukerne å kjenne.
Eier testingen av funksjoner i ett team, fra å lese kravene til å godkjenne releasen.
Former hvordan ett eller to team bygger inn kvalitet, og eier teststrategien for større prosjekter.
Bestemmer selskapets tilnærming til kvalitet og gjør alle team bedre til å levere med færre feil som slipper gjennom.
Hver rad er en kompetanse og hver kolonne et nivå. Les en rad fra venstre mot høyre for å se hvordan forventningen øker.
| Kompetanse | Junior QA Engineer | QA Engineer | Senior QA Engineer | Lead QA Engineer |
|---|---|---|---|---|
| Testdesign og analyse | Kjører eksisterende testtilfeller nøye, skriver nye tilfeller for små brukerhistorier som dekker hovedflyten og de åpenbare grensetilfellene, og spør om uklare krav før testingen starter. | Skriver en testplan for hver funksjon i teamet som dekker grensetilfeller, tilganger, datatilstander og integrasjoner, og gjennomgår kravene før utviklingen starter for å finne hull. | Utformer teststrategien for prosjekter som strekker seg over flere funksjoner eller team, bestemmer hva som dekkes på enhets-, API- og ende-til-ende-nivå, og retter innsatsen mot delene som mest sannsynlig vil feile. | Definerer hvordan selskapet bestemmer hva som skal testes og hvor grundig, ut fra risiko og bruksdata, og sørger for at alle team bruker det konsekvent. |
| Testautomatisering | Legger til automatiserte tester i et eksisterende rammeverk etter etablerte mønstre, kjører testsuiten lokalt og rapporterer feil de ikke kan forklare, i stedet for å kjøre dem på nytt til de går gjennom. | Automatiserer regresjonstestene for teamets funksjoner, holder dem stabile og lesbare, og retter eller fjerner ustabile tester i stedet for å ignorere dem. | Utformer strukturen i en automatiseringssuite, kobler den inn i leveransepipelinen med fornuftige kjøretider og gjennomgår testene som utviklere og andre QA-ingeniører skriver. | Velger selskapets testverktøy og felles infrastruktur, balanserer lagene i testpyramiden på tvers av produkter og holder hele testsuiten rask nok til at teamene faktisk venter på den. |
| Feilanalyse og feilrapportering | Skriver feilrapporter med tydelige steg, forventet og faktisk resultat og miljø, slik at en utvikler kan reprodusere problemet uten å stille oppfølgingsspørsmål. | Snevrer inn feil ved hjelp av logger, nettverkssporing og databasen, vurderer alvorlighetsgraden ut fra konsekvensene for brukerne og bekrefter rettinger, inkludert tilfellene rundt dem. | Undersøker sporadiske problemer og problemer som bare oppstår i produksjon, på tvers av tjenester, ser mønstre i gjentakende feil og gjør dem om til forslag som fjerner en hel kategori feil. | Eier hvordan selskapet sporer og prioriterer feil, rapporterer trender i feil som slipper gjennom, til utviklingsledelsen, og sørger for at de største feilkildene får finansierte rettinger. |
| Release- og risikovurdering | Fullfører kontrollene de er tildelt før en release, rapporterer hva som er testet og ikke testet, og tar opp bekymringer med en mer erfaren QA-ingeniør. | Gir en tydelig anbefaling om go eller no-go for teamets releaser, forklarer kjente risikoer og hva som fortsatt ikke er testet, og deltar i kontroller etter release. | Bestemmer releasetilnærmingen for risikable endringer – feature flags, trinnvis utrulling, ekstra overvåking – sammen med utviklerne, og leder testingen under hendelser og hotfixer. | Setter releasestandardene alle team jobber etter, definerer når en release kan stoppes, og er personen ledelsen spør om produktet er klart for en stor lansering. |
| Kvalitetspraksis | Følger teamets definition of done og testflyt, og påpeker steg som hoppes over eller er forvirrende. | Deltar i refinement og designdiskusjoner for å legge til akseptansekriterier og testbarhetshensyn tidlig, og jobber sammen med utviklere om hva de skal dekke i sine egne tester. | Forbedrer testflyten i ett eller to team – testmiljøer, testdata, sjekklister for gjennomgang – og måler om endringen reduserte antallet feil som slapp gjennom. | Former kvalitetspraksisen i hele utviklingsorganisasjonen, bestemmer hvor QA-ingeniørene plasseres og hva utviklerne eier, og gjør kvalitet til et felles ansvar i stedet for ett teams jobb. |
| Mentorskap og kunnskapsdeling | Dokumenterer det de lærer om produktet mens de tester, og deler nyttige funn og verktøy med teamet. | Holder teamets testdokumentasjon oppdatert, introduserer nye kolleger til produktområdet og forklarer testteknikker for utviklere som spør. | Er bevisst mentor for junior QA-ingeniører, holder økter om testtilnærminger for utviklere og deltar i rekrutteringsintervjuer til QA-roller. | Utvikler ferdighetene og karriereveiene i QA-gruppen, definerer hvordan QA-ingeniører rekrutteres og læres opp, og utvikler de neste senior- og lead-QA-ingeniørene. |
Rull tabellen sidelengs for å se alle nivåene.
Last ned som CSV Åpnes i Excel, Google Sheets eller Numbers.
Tester veldefinerte funksjoner ut fra eksisterende testtilfeller og lærer produktet og brukerne å kjenne. Enkeltstående brukerhistorier eller feilrettinger i ett område av produktet, med testplaner som gjennomgås av noen med mer erfaring.
Eier testingen av funksjoner i ett team, fra å lese kravene til å godkjenne releasen. Funksjonene til ett produktteam, inkludert de manuelle og automatiserte testene deres.
Former hvordan ett eller to team bygger inn kvalitet, og eier teststrategien for større prosjekter. Teststrategien, automatiseringssuitene og releasebeslutningene for ett eller to team, pluss prosjekter som går på tvers av team.
Bestemmer selskapets tilnærming til kvalitet og gjør alle team bedre til å levere med færre feil som slipper gjennom. Kvalitet i hele produktet: felles testinfrastruktur, releasestandarder og hvordan QA bemannes og utøves.
Hvis QA-ingeniørene deres konsentrerer seg om utforskende testing, korter du ned raden for testautomatisering og utvider testdesign og analyse. Hvis de mest bygger automatisering, hever du forventningene til kodekvalitet. Uansett bør valget være uttalt, slik at ingen blir vurdert mot en jobb de ikke ble ansatt for.
Med to eller tre QA-ingeniører trenger selskapet som regel bare junior-, mellom- og seniornivå. Legg til Lead når noen faktisk setter kvalitetsstandarder for alle team, ikke som en belønning til den testeren som har vært der lengst. I denne karrierestigen er Lead et spesialistnivå; hvis QA-leaden deres også leder testere, legger du til forventningene om personalledelse fra karrierestigen for Engineering Managers.
Knytt hvert QA-nivå til utviklernivået med tilsvarende ansvarsomfang og lønn. Når en Senior QA Engineer står ved siden av en Senior Engineer, blir et bytte mellom de to karrieresporene et steg til siden i stedet for en degradering eller et hopp.
Til check-iner og forfremmelsesforslag samler du eksempler som en testplan som fanget en kostbar feil, en ustabil testsuite som ble gjort pålitelig, eller en releasebeslutning som holdt. Å telle rapporterte feil belønner støy og straffer testere i stabile team.
Vanlige spørsmål
Tre eller fire er som regel nok for et selskap med 20–200 ansatte, fordi QA-gruppene er små. Denne malen bruker fire: Junior QA Engineer, QA Engineer, Senior QA Engineer og Lead QA Engineer. Legg bare til et femte når arbeidet virkelig vokser forbi det å sette kvalitetsstandarder for hele produktet.
I de fleste mindre selskaper, ja. Kjernen i jobben – å forstå risiko, utforme tester og vurdere releaser – er den samme; bare verktøyene er forskjellige. Ha én karrierestige, og avtal per person eller per team hvor mye av raden for testautomatisering som gjelder.
Ja, og det fungerer best som en planlagt overgang. Sammenlign personen med karrierestigen for utviklere, avtal noen utviklingsaktiviteter, som å eie små funksjoner eller feilrettinger, og gjennomfør byttet når personen stabilt oppfyller det nivået. Erfaringen fra testing gjør dem som regel til sterkere utviklere, ikke svakere.
Se på resultater og atferd: feil som slapp ut i produksjon i deres område, påliteligheten og hastigheten til den automatiserte testsuiten, hvor tidlig de varsler om risiko, og hvordan releasebeslutningene holdt. Diskuter konkrete eksempler mot karrierestigen i faste check-iner i stedet for å stole på dashbord alene.
Det finnes ikke noe fast forholdstall. Mange selskaper av denne størrelsen har én QA-ingeniør per fire til åtte utviklere, men riktig antall avhenger av hvor mye utviklerne tester sitt eget arbeid, og hvor kostbar en feil er for brukerne dine. Følg med på feil som slipper gjennom, og forsinkede releaser, og ansett når noen av dem fortsetter å øke.
Sett opp nivåene og ferdighetene for teamet ditt, vurder folk mot dem i check-iner, og hold beslutningene om forfremmelse konsekvente.
Gratisplan · Ingen betalingskort nødvendig
Utvikling
Fem nivåer fra Junior til Principal og seks kompetanser – fra å levere kode til å utvikle teamet.
Utvikling
Fire nivåer fra Junior til Staff DevOps Engineer og seks kompetanser – fra infrastruktur til utviklerstøtte.
Utvikling
Fire nivåer fra Engineering Manager til VP of Engineering, fordelt på seks lederkompetanser.