what is sdet know difference between tester
Denne vejledning diskuterer alle aspekterne af en SDET (softwareudviklingsingeniør i test), inklusive færdighedssæt, roller og ansvar, løn og karrierevej:
Vi vil diskutere SDET-rollen i dybden, forventningerne og ansvaret fra denne rolle, som virksomhederne forventer, det færdighedssæt, som en SDET skal have, værktøjer og teknologier, som kandidaten skal være praktisk med, og også lønnen generelt tilbydes.
Hvad du lærer:
Forståelse af SDET-rollen
Den udvidede form for SDET er - Softwareudviklingsingeniør i test
I meget enkle ord er denne rolle en kombination af et mellemprodukt mellem en ren udviklerrolle og en ren testerrolle. SDET'er er dygtige fagfolk inden for begge dele - Quality Engineering såvel som softwareudvikling.
Udtrykket SDET blev først opfundet af Microsoft, som derefter blev fulgt og brugt af de fleste store produktnavne som Google, Amazon, Adobe, Expedia osv. Rollerne store forventninger var at erstatte manuelle gentagne opgaver med en vis automatisering for at øge effektiviteten såvel som pålidelighed for de anvendte applikationer.
Sammenligning mellem SDET og manuel QA
Manuelle QA-testere er primært fokuseret på den sorte boks eller applikationstest. Hvad det betyder er, for en QA-tester, hvad der betyder noget, er en specifikation af, hvordan en app forventes at opføre sig, når den får et bestemt input.
hvordan du tilføjer værdier til en matrix
QA-tester ville bare bruge applikationen / systemet under test, som enhver normal bruger / kunde ville bruge, men med fokus på flere minutdetaljer samt kantscenarier ved at prøve forskellige inputkombinationer osv.
SDET's fokuserer på anvendelse fra både White Box såvel som Black Box-test. Med andre ord ville de også være opmærksomme på appens indre funktion, som gør det muligt for dem at skrive automatiseringstest ved hjælp af både White Box- eller Black Box-testteknikker.
I bund og grund skal en softwareudviklingsingeniør i test være opmærksom på alle Black Box-testteknikker sammen med praktisk viden om udvikling / kodning for at forstå appens indre funktion, der sikrer bedre kvalitetsstandarder samt et mindre defekt softwareprodukt.
I det væsentlige skal en SDET fungere som en muliggørelse for effektiv kvalitetssikring på alle måder. Hvad dette også betyder, at den enkelte bruger sine færdigheder til at sikre, at alle dele af softwaren, der testes, valideres på den bedst mulige måde, som skal omfatte testning af både funktionelle og ikke-funktionelle områder.
Lad os se sammenligning af SDET og manuel test på forskellige parametre
Parameter | SDET | Manuel test |
---|---|---|
Testomfang | Fokuserer på en bred vifte af testteknikker og typer. Eksempel: Funktionel, ikke-funktionel, sikkerhed, ydeevne osv. | Fokuser generelt på funktionalitetsperspektivet for den applikation, der testes. En manuel tester opfører sig som en bruger / kunde af den app, der testes, og validerer den ud fra dette perspektiv. |
Automatisering | SDET'er fokuserer for det meste på automatisering af gentagne scenarier for at sikre, at manuelle testere kan fokusere på mere komplekse og kantscenarier og bruge deres båndbredde og færdigheder mere effektivt. | Manuelle testere har nogle eller ingen færdigheder til automatisering. Det kræves dog, at manuelle testere skal være opmærksomme på at bruge værktøjer, der hjælper med manuel test Eksempel: Brug af Postman til udførelse af API-slutpunkter, ved hjælp af skyudbydere som sauce labs til udførelse af tests på forskellige platformversioner osv. |
Primær færdighedssæt | SDET'er er primært ansvarlige for at automatisere testsager samt skrive genanvendelige scripts / værktøjer, der hjælper holdet med at reducere gentagne bestræbelser. Et seniormedlem i SDET-teamet er også ansvarligt for at skabe automatiseringsrammer og gøre det muligt for andre SDET'er at skrive tests ved hjælp af rammen. | Manuelle testere fokuserer primært på appfunktionalitet, fokus på edge-case scenarier og komplekse testcases. For eksempel: En manuel tester, der tester en mobilapp, vil ud over alle funktionelle scenarier tænke på scenarier som - Hvad hvis jeg lukker appen, når der er en backend-operation / et netværksopkald i gang. - Hvad sker der, hvis mobilen pludselig slukkes, når kunden var på en bestemt side i appen. - Hvad sker der, hvis Internettet går midt i at uploade et dokument til en app osv. |
Løn | SDET'er tilbydes generelt højere lønninger (~ 40-50% højere end manuelle testere) på grund af de færdigheder, de besidder, og erfaring de har. | Rene manuelle testroller styrer en lavere løn sammenlignet med en hybrid rolle, hvor en manuel tester også stræber efter at lære nye værktøjer og tilføje værdi til det produkt, der leveres. |
Softwareudvikler i Test Skillset
Nedenfor vises de færdigheder, som en SDET skal have:
# 1) Åbn tankegang
Den første og fremmeste skillset er, at enhver softwareudviklingsingeniør i test skal være åben for at lære ethvert script-sprog / -værktøjer, der kræves for at give dem mulighed for grundig test af den app, der testes.
Det er meget sandsynligt, at du som SDET i en virksomhed måske ender med at arbejde med Microsoft / .NET tech stack, men i en anden virksomhed er udviklingssprog primært Java - så SDET forventes at have en åben tankegang for at lære nye ting / tech som og når det er nødvendigt.
# 2) Adaptiv
En softwareudviklingsingeniør i test skal tilpasse sig projektets behov, værktøjer og teknologier, databaser osv. For eksempel - som SDET har du muligvis en erfaring med at udføre API-test, men en anden rolle kræver, at du tester brugergrænsefladen eller frontend. Derfor kræver rollen, at du tilpasser dig projektets behov og leverer et standardprodukt af høj kvalitet.
# 3) Multitasker
Hos de fleste af produktselskaberne bliver DEV og QA-forhold ofte i høj grad skæv. Dette betyder, at det er almindeligt at se hold, der har et DEV: QA-forhold på 4: 1 eller endda 5: 1. Derfor er det bydende nødvendigt, at en SDET forventes at være involveret i flere ting og levere.
Dette er et par ansvarsområder, som en SDET forventes at arbejde på:
- Deltag i interessentmøder: En SDET skal arbejde tæt sammen med både udviklere såvel som produktfolk for at forstå produktet fra begge udviklere såvel som produktperspektiv og derefter udtænke / foreslå automatiseringsstrategi.
- Opret rammer / værktøjer
- Strategiser testplanlægning
- Hæve / undersøge mangler
- Det kan nogle gange kræves at bidrage til enhedstest sammen med udviklere.
# 4) Exploratory Mindset
Hver SDET skal altid huske disse linjer - “ Hvis du gentager de samme handlinger hele tiden, kan du overveje at automatisere det '
Personen ville have en tankegang for at reducere indsatsen for alt, hvad der kommer deres vej ved hjælp af værktøjer til at forbedre produktiviteten samt for at sikre softwareprodukter af høj kvalitet.
bedste computerrenser til Windows 10
Ud over alt automatiseringsarbejde er SDETs primære job at levere produkter af høj kvalitet med det, der kræves, og derfor skal han / hun også fokusere på at teste produkter gennem udforskende måder for at afdække flere og flere skjulte fejl og mangler.
# 5) Samarbejde, bidrage og kommunikere
SDETs rolle mandater til at samarbejde mellem forskellige interessenter som udviklere, produkt, manuelle testere osv.
Det er vigtigt, at SDET'er samarbejder med alle de krævede interessenter samt kommunikerer alle de nødvendige detaljer, når og når det er relevant.
SDET'er og QA-team holder kvalitetsportene til et produkt, før det er åbent for offentligheden, og derfor spiller de en vigtig rolle med hensyn til at betragte et produkt som egnet til at blive lanceret til kunder eller ej.
Roller og ansvar
Så lad os prøve at forstå, hvad der er daglige job og ansvar for SDET'er og de forskellige opgaver, de forventes at udføre.
- Arbejd sammen med udviklere såvel som forretningsinteressenterne og stræb efter at automatisere acceptkriterierne. Dette betyder med enkle ord - en SDET forstår først kravene fra accept / kundeperspektiv og skal også forstå den måde, produktet udvikles på med hensyn til kodningssprog, databaser osv., Og planlægger derefter en strategi for at automatisere maksimale scenarier som muligt .
- Ansvarlig for opbygning af robuste testautomatiseringsløsninger af høj kvalitet til funktionstest, regression og ydelsestest.
- Opret genbrugelige scripts / værktøjer, hvor det er nødvendigt.
- Bidrag til både funktionelle og ikke-funktionelle testområder. Funktionel test inkluderer test fra funktionalitet / kravperspektiv og er stort set drevet af acceptkriterier eller brugerhistorier.
Ikke-funktionel test er dog også lige så vigtig. For eksempel, hvor performant er applikationen, er applikationen sikker nok, sørg for at der ikke er nogen hacks tilbage i appen, hvilket kan resultere i at hæmme appens sikkerhed og muligvis medføre et stort tab for både kunder såvel som organisationen. - De deltager også i diskussionerne om design og arkitektonisk design samt giver effektiv feedback i kodevurderinger.
Bliv en stor SDET
For at blive en stor SDET, lad os se nogle tip / grundlæggende værktøjer og tekniske færdigheder, der skal læres for at få det bedre i deres roller.
I det forrige afsnit lærte vi om kvaliteter, som en softwareudviklingsingeniør i test skal have for at blive store i deres roller. De skal have en åben tankegang, være tilpasningsdygtige og skal være i stand til at kommunikere, samarbejde og bidrage på den måde, som det kræves af produktet eller teamet.
Lad os se en liste over nogle almindelige værktøjer og teknologier, som SDET'er skal lære:
- Bør have en solid forståelse af testprincipper, testtyper og metoder.
- Meget dygtig til fejlretningsproblemer - lær fejlretningsværktøjer som - Chrome Web Debugger som er yderst nyttige til debugging af webapplikationer samt til at undersøge netværkslogfiler til en app under test.
- De skal være i stand til at skrive genanvendelig kode / scripts, og derfor skal de være dygtige i mindst ét script-sprog. Den nemmeste at lære er Python, som kan anvendes til en lang række opgaver, automatiseringsrammer osv.
- Vær fortrolig med API-testklienter som POSTBUD
- Bør være opmærksom på værktøjer og teknikker til testning af hvide kasser - som Mocking Frameworks ( Mockito ) osv., da de også kan forventes at bidrage med at skrive enhedstest, når det kræves.
- De skal være opmærksomme på versioneringsværktøjer som f.eks Gå . De skal også være fortrolige med begreberne Træk anmodninger , kodevurderinger osv.
- Forståelse af arkitektur af webapplikationer og generel klient-servermodel.
- Bør være opmærksom på grundlæggende objektorienterede programmeringskoncepter og forståelse af SOLID model ( S ingle Ansvar, ELLER pen / lukket princip, L iskov udskiftning, jeg nterface segregation, D ependency Inversion)
- Grundlæggende forståelse af Kontinuerlig integration / Kontinuerlig levering koncepter (CI / CD) og bør også være opmærksom på CI-værktøjer som Jenkins / Bamboo osv.
SDET'er forventes generelt at tage sig af implementeringsproblemer, og det er derfor vigtigt at forstå disse værktøjer. - De skal være fortrolige med mindst én frontend-automatiseringsramme. Den nemmeste og mest anvendte i Selen . Det er den hellige gral ved test af frontend til webapplikationer, og næsten alle organisationer bruger Selenium-rammen til automatisering af UI-tests.
- At lære det grundlæggende i performance-test samt at skrive enkle scripts ved hjælp af open source-performance-testværktøjer som f.eks JMeter er meget nyttigt, og du kan henvise til dette Jmeter vejledning . Dette er nyttigt, da SDET'er også forventes at tage sig af ikke-funktionelle krav som præstationstest.
- De bør også være opmærksomme på de grundlæggende begreber ved sikkerhedstest. Dette omfatter også at have kendskab til grundlæggende kodningsstandarder, som sikrer, at der ikke er nogen grundlæggende sikkerhedsfejl, der ikke er adresseret i appen. OWASP er en god reference for alle sådanne grundlæggende begreber.
- SDET'er forventes at kende, forstå og implementere agile udviklingsmetoder og skal være komfortable i at arbejde med teams ved hjælp af Sprint / Scrum-metoden for agile.
- Bør være opmærksom på nogen cloud-teknologiplatforme som - Amazon AWS , Google GCP , eller Microsoft Azure .
Da de fleste af virksomhederne nu flytter til en skybaseret infrastruktur, er det generelt nyttigt at komme i gang med at have en grundlæggende forståelse af skyværktøjer og teknologier.
Certificering til SDET'er
Generelt er der ingen specifikke certificeringer, der er tilgængelige for SDET'er
Hvis nogen ønsker at starte deres softwareudviklingsingeniør i testrejse, kan de bare fokusere på de punkter, der er nævnt i afsnittet 'Sådan bliver du en stor SDET' i denne vejledning, og derefter skal SDET'er med deres åbne tankegang fortsætte deres læringsrejse på jobbet.
Til test af terminologi og grundlæggende er det godt at have alle, der er i softwaretestfaget, certificeret med ISTQB Foundation testcertifikat .
Denne certificering dækker alle de basale softwaretestkoncepter som f.eks.
- Testtyper - funktionelle / ikke-funktionelle
- Sort kasse / Hvid kasse / Grå kasse test
- Testplanlægning / Fejlhåndtering
- Testteknikker - ækvivalenspartitionering, sporbarhedsmatrix osv.
Der er også andre internationale softwaretestcertificeringer til rådighed, men de fleste af dem er ikke særlig vigtige udvælgelseskriterier for virksomheder at ansætte SDET'er.
En liste over alle sådanne certificeringer er tilgængelig her.
Interviews
Med de fleste af de større produktvirksomheder er Software Development Engineer i testinterview meget mere sammenlignet med dem med udviklerinterviews, da de forventes at kende det meste af udviklingen af metoder og relaterede koncepter.
Interviewene er dog lidt skånsomme sammenlignet med udviklere. Hvad der understreges her er, hvordan kandidaten nærmer sig et problem, og hvor bredt kan en person tænke på problemet.
Generelt består SDET-interviews af følgende runder / spørgsmålstyper hos næsten alle store produktorganisationer som - Amazon, Microsoft, Adobe, Expedia osv.
- Skriftlig runde: Skrivning af testcases for et givet produkt. Her er hensigten at få en idé om, hvordan alle facetter af test kan personen tænke på kandidaten, hvis han tænker / lister alle funktionelle scenarier, edge-case scenarier, er kandidat med fokus på sikkerhedstest, performance test osv.
- Kodningsrunde: Der gives en lille kodeøvelse, og det forventes også, at kandidaten skriver ned alle enhedstest- og funktionstestscenarier. Her er det område eller den færdighed, der testes - grundlæggende kodningskendskab / -konstruktioner, skrivning af testbar kode og viden om teknikker til hvidboks-test som enhedstest, spotting osv
- Designrunde: Et systemdesign spørgsmål stilles, eksempel , hvordan ville du designe youtube
Denne type spørgsmål har generelt mere relevans for udviklere, men for SDET'er leder intervieweren efter, hvor bredt personen kan tænke, ved kandidaten om OOPs-koncepter, er kandidaten i stand til at tænke på skalerbarhed, robusthed, belastningsbalancering osv. , kan kandidaten bruge de rigtige databaser til den applikation, der skal designes - HR / Manager runde: Her observeres ting som holdfitness, kulturfitness osv. Om kandidaten såvel som løndiskussioner, og forhandlinger udføres også.
Anbefalet læsning => SDET Interview Spørgsmål
SDET Løn
Som vi har diskuteret i vores tidligere afsnit, har SDET'er højere lønninger end de fleste af de manuelle testroller. I mange tilfælde er lønninger sammenlignelige med lønninger med udviklere på et lignende oplevelsesniveau.
Du kan henvise her for at finde ud af vifte af lønninger ved forskellige SDET-profiler i forskellige organisationer. Generelt varierer SDET-løn efter erfaringsbånd såvel som organisation.
Nedenfor er en sammenligning af SDET-løn til topvirksomheder som Microsoft, Expedia.
Niveau | Microsoft ($) | Expedia ($) |
---|---|---|
SDET - I | 65000 - 80000 | 60000 - 70000 |
SDET - II | 75000 - 11000 | 70000 - 100000 |
Hr. SDET | 100.000 - 150.000 | 90000 - 130.000 |
Karrierevej
Generelt begynder SDET-karrierestige og vokser på følgende måde:
- SDET-1 - Junior niveau SDET i stand til at skrive automatiseringsskripter.
- SDET-2 - Erfarne SDET i stand til at skrive genanvendelige værktøjer og automatiseringsrammer.
- Hr. SDET - Seniorniveau SDET i stand til at være en individuel bidragyder som SDET 1 og SDET 2, men er også i stand til
- Udfører kodevurderinger.
- Deltag i designdiskussioner og fremsæt forslag til passende ændringer i design.
- Deltag i produktets overordnede teststrategi.
- Deltag i CI / CD leveringsmodeller, opret udførelsesrørledninger osv.
- SDET Manager - Efter SDET2 kan du vælge enten Sr SDET eller SDET Manager-sti. En SDET-manager har også ledelses- / ledelsesansvar foruden SDET-kernearbejde.
- Testarkitekt / Løsningsingeniør - Testarkitekt eller løsningsingeniør er en, der for det meste designer / arkitekter en overordnet ramme for flere projekter, rammer testspecifikationer, kan også fungere som en leveringschef. Disse mennesker er på vej individer og hjælper flere projekter med at opnå deres testresultater og sende et meget velprøvet og fejlfrit produkt.
Her er en blok-repræsentation af SDET Karrierevej:
Konklusion
I denne vejledning lærte vi dybtgående om, hvad der er en SDET med hensyn til roller og ansvar, skal-have færdigheder, hvad er forskellen mellem SDET'er og manuelle testere, og hvad der kræves for at blive en stor softwareudviklingsingeniør i test.
Generelt er SDET en rolle, der er i høj efterspørgsel, og næsten alle gode produktvirksomheder har denne rolle i deres teams og værdsættes højt.
Anbefalet læsning
- SDET Interview Spørgsmål og svar (Komplet guide)
- 10 BEDSTE tilpassede softwareudviklingsfirmaer og -tjenester i 2021
- 20 BEDSTE softwareudviklingsværktøjer (2021 placeringer)
- Foranstaltninger til SSDLC (Secure Software Development Life Cycle)
- SDLC (Software Development Life Cycle) faser, metoder, proces og modeller
- Softwareudvikling og testmetoder (med fordele og ulemper)
- 5 ting, en nybegynderudvikler (og tester) bør vide om softwaretest
- 5 måder at være en fed og selvsikker softwaretester på