what is sdet know difference between tester
U ovom se vodiču raspravlja o svim aspektima SDET-a (inženjera za razvoj softvera u testiranju), uključujući skup vještina, uloge i odgovornosti, plaću i put karijere:
Detaljno ćemo razgovarati o ulozi SDET-a, očekivanjima i odgovornostima od ove uloge koju tvrtke očekuju, o vještinama koje SDET mora posjedovati, alatima i tehnologijama s kojima kandidat treba biti praktičan te o plaćama općenito ponudio.
Što ćete naučiti:
Razumijevanje uloge SDET-a
Prošireni oblik SDET-a je - Inženjer za razvoj softvera u testu
Vrlo jednostavnim riječima, ova je uloga kombinacija posrednika između uloge čistog programera i uloge čistog ispitivača. SDET-ovi su vješti profesionalci i u inženjerstvu kvalitete i u razvoju softvera.
Pojam SDET prvi je izumio Microsoft, a zatim su ga slijedila i koristila većina velikih imena proizvoda kao što su Google, Amazon, Adobe, Expedia, itd. Uloge glavnih očekivanja bile su zamjena ručnih ponavljajućih zadataka nekom automatizacijom kako bi se povećala učinkovitost, kao i pouzdanost za aplikacije koje se ispituju.
Usporedba SDET-a i ručnog osiguranja kvalitete
Ručni QA testeri uglavnom su usmjereni na testiranje crne kutije ili aplikacije. Što znači, za QA testera važna je specifikacija načina na koji se očekuje da se aplikacija ponaša kada joj se daju određeni unosi.
kako ukloniti element iz niza java
QA tester samo bi koristio Aplikaciju / Sustav na testiranju kao što bi to koristio svaki uobičajeni korisnik / kupac, ali s naglaskom na sitnije detalje kao i rubne scenarije iskušavajući različite kombinacije unosa itd.
SDET se fokusira na primjenu iz White Box-a, kao i na Black Box testiranje. Drugim riječima, oni bi također bili svjesni unutarnjeg funkcioniranja aplikacije, što im omogućuje pisanje testova automatizacije koristeći tehnike testiranja White Box ili Black Box.
U osnovi, inženjer za razvoj softvera u testu mora biti svjestan svih tehnika testiranja Black Boxa, zajedno s praktičnim znanjem o razvoju / kodiranju, kako bi razumio unutarnje funkcioniranje aplikacije koja osigurava bolje standarde kvalitete kao i manje neispravan softverski proizvod.
U osnovi, SDET bi na bilo koji način trebao djelovati kao sredstvo za učinkovitu provjeru kvalitete. Što to također znači, da bi pojedinac koristio svoje vještine kako bi osigurao da su svi dijelovi testiranog softvera provjereni na najbolji mogući način, što bi trebalo uključivati testiranje i funkcionalnih i nefunkcionalnih područja.
Pogledajmo usporedbu SDET-a i ručnog ispitivača različitih parametara
Parametar | SDET | Ručni ispitivač |
---|---|---|
Opseg ispitivanja | Usredotočen je na širok spektar tehnika i vrsta ispitivanja. Primjer: Funkcionalno, Nefunkcionalno, Sigurnost, Performanse itd. | Općenito se usredotočite na funkcionalnu perspektivu aplikacije koja se testira. Ručni tester ponaša se poput korisnika / kupca aplikacije koja se testira i potvrđuje je iz te perspektive. |
Automatizacija | SDET-ovi se uglavnom usredotočuju na automatizaciju ponavljajućih scenarija kako bi osigurali da se ručni testeri mogu usredotočiti na složenije i rubnije scenarije te učinkovitije koristiti svoju propusnost i vještine. | Ručni testeri posjeduju neke ili nikakve vještine za automatizaciju. Međutim, potrebno je da ručni testeri trebaju biti svjesni upotrebe alata koji pomažu u ručnom testiranju Primjer: Korištenje Poštara za izvršavanje krajnjih točaka API-ja, korištenje davatelja usluga u oblaku poput laboratorija za umake za izvršavanje testova na različitim verzijama platforme itd. |
Primarni skup vještina | SDET-ovi su prvenstveno odgovorni za automatizaciju testnih slučajeva, kao i za pisanje skripti / alata za višekratnu upotrebu koji pomažu timu da smanji napore koji se ponavljaju. Stariji član SDET tima također je odgovoran za stvaranje okvira za automatizaciju i omogućavanje drugim SDET-ovima da napišu testove pomoću okvira. | Ručni testeri prvenstveno se fokusiraju na funkcionalnost aplikacije, fokusiraju se na rubne scenarije i složene testne slučajeve. Na primjer: Ručni tester koji testira mobilnu aplikaciju, uz sve funkcionalne scenarije, mogao bi smisliti i takve scenarije - Što ako zatvorim aplikaciju kada je u tijeku pozadinska operacija / mrežni poziv. - Što se događa ako se mobilni telefon iznenada isključi kad je kupac bio na određenoj stranici aplikacije. - Što se događa ako se Internet isključi usred prijenosa dokumenta u aplikaciju itd. |
Plaće | SDET-ovima se obično nude veće plaće (~ 40-50% više od ručnih testera), zbog vještina koje posjeduju i iskustva koje imaju. | Čiste uloge ručnog testiranja nalažu nižu plaću u usporedbi s hibridnom ulogom gdje ručni tester također nastoji naučiti nove alate i dodati vrijednost proizvodu koji se isporučuje. |
Inženjer za razvoj softvera u ispitnom skupu vještina
U nastavku su navedeni skupovi vještina koje SDET mora posjedovati:
# 1) Otvori način razmišljanja
Prvo i najvažnije znanje je da bi svaki inženjer za razvoj softvera u testiranju trebao biti otvoren za učenje bilo kojeg skriptnog jezika / alata koji su mu potrebni kako bi mogli temeljito testirati aplikaciju koja se testira.
Sasvim je vjerojatno da biste kao SDET u jednoj tvrtki mogli završiti s korištenjem Microsoft / .NET tehnološkog snopa, ali u drugoj je tvrtki razvojni jezik prvenstveno Java - pa se očekuje da SDET ima otvoren način razmišljanja za učenje novih stvari / tehnologija kao a kad je potrebno.
# 2) Prilagodljiv
Probni inženjer softverskog razvoja mora se prilagoditi potrebama projekta, alata i tehnologija, baza podataka itd. Na primjer - kao SDET možda imate iskustvo provođenja API testiranja, ali druga uloga zahtijeva testiranje korisničkog sučelja ili sučelja. Stoga uloga zahtijeva od vas da se prilagodite potrebama projekta kako biste isporučili standardni proizvod visoke kvalitete.
# 3) Multitasker
U većini proizvodnih tvrtki često se omjer DEV i QA u velikoj mjeri iskrivi. To znači da je uobičajeno vidjeti timove koji imaju omjer DEV: QA od 4: 1 ili čak 5: 1. Stoga je nužno da se očekuje da SDET bude uključen u više stvari i bude isporučen.
Ovo je nekoliko odgovornosti na kojima bi se očekivalo da SDET radi:
- Sudjelujte na sastancima dionika: SDET mora usko surađivati s oba programera, kao i s ljudima iz proizvoda kako bi razumio proizvod oba programera kao i stajalište proizvoda, a zatim osmisliti / predložiti strategiju automatizacije.
- Stvorite okvir / alate
- Strategizirati planiranje testa
- Podignite / istražite nedostatke
- Ponekad se može zahtijevati da zajedno s programerima doprinesete jedinstvenom testiranju.
# 4) Istraživački način razmišljanja
Svaki bi se SDET trebao uvijek sjećati ovih redaka - “ Ako stalno ponavljate iste radnje, razmislite o automatizaciji '
Osoba bi imala način razmišljanja da smanji napore za sve što joj se nađe uz pomoć alata za povećanje produktivnosti, kao i da osigura visokokvalitetne softverske proizvode.
Uz sve automatizacijske poslove, primarni posao SDET-a je isporuka visokokvalitetnih proizvoda sa svim potrebnim proizvodima, stoga bi se on / ona također trebao usredotočiti na testiranje proizvoda kroz istraživačke načine kako bi otkrio sve više skrivenih grešaka i nedostataka.
# 5) Surađujte, doprinosite i komunicirajte
Uloga SDET-a nalaže vezu između različitih dionika poput programera, proizvoda, ručnih testera itd.
Važno je da SDET surađuju sa svim potrebnim dionicima, kao i kada i kada je potrebno, priopćavaju sve potrebne detalje.
SDET-ovi i QA tim drže vrata kvalitete za proizvod prije nego što je otvoren za javnost i stoga igraju važnu ulogu u smislu da proizvod smatraju prikladnim za lansiranje kupca ili ne.
Uloge i odgovornosti
Pokušajmo shvatiti što su SDET svakodnevni poslovi i odgovornosti i koji su različiti zadaci od kojih se očekuje.
- Surađujte s programerima kao i poslovnim dionicima i nastojite automatizirati kriterije prihvaćanja. To jednostavnim riječima znači - SDET prvo razumije zahtjeve iz perspektive prihvaćanja / kupca, a također mora razumjeti način na koji se proizvod razvija u smislu jezika kodiranja, baza podataka itd., A zatim planira strategiju za automatizaciju maksimalnih scenarija što je više moguće .
- Odgovoran za izgradnju robusnih i visokokvalitetnih rješenja za automatizaciju ispitivanja za funkcionalna, regresijska i izvedbena ispitivanja.
- Stvorite skripte / alate za višekratnu upotrebu gdje god je to potrebno.
- Doprinijeti i funkcionalnim i nefunkcionalnim područjima ispitivanja. Funkcionalno testiranje uključuje testiranje iz perspektive funkcionalnosti / zahtjeva i uglavnom je pokrenuto kriterijima prihvaćanja ili korisničkim pričama.
Međutim, nefunkcionalno ispitivanje je jednako važno. Na primjer, koliko je aplikacija učinkovita, je li aplikacija dovoljno sigurna, osigurajte da u aplikaciji nema više hakova koji bi mogli dovesti do ometanja sigurnosti aplikacije i na kraju nanijeti velik gubitak kako kupcima, tako i organizaciji. - Oni također sudjeluju u raspravama o dizajnu i arhitektonskom dizajnu, kao i pružaju učinkovite povratne informacije u pregledima koda.
Postanite sjajni SDET
Da bismo postali izvrstan SDET, pogledajmo nekoliko savjeta / osnovnih alata i tehničkih vještina koje se moraju naučiti da bi se bolje snašli u svojim ulogama.
U prethodnom smo odjeljku saznali o kvalitetama koje inženjer za razvoj softvera u testu mora posjedovati da bi postao sjajan u svojim ulogama. Moraju imati otvoren način razmišljanja, biti prilagodljivi i trebaju biti sposobni komunicirati, surađivati i doprinositi na bilo koji način kako nalaže proizvod ili tim.
Pogledajmo popis nekih uobičajenih alata i tehnologija koje SDET moraju naučiti:
što je stablo odluke u rudarstvu podataka
- Treba dobro razumjeti principe testiranja, vrste ispitivanja i metodologije.
- Izuzetno stručan u rješavanju problema - naučite alate za uklanjanje pogrešaka poput - Chrome web ispravljač koji su izuzetno korisni za otklanjanje pogrešaka u web aplikacijama, kao i za istraživanje mrežnih dnevnika aplikacije koja se testira.
- Trebali bi biti sposobni pisati kôd / skripte za višekratnu upotrebu i stoga bi trebali znati barem jedan skriptni jezik. Najlakši za naučiti je Python koji se može primijeniti na širok spektar zadataka, okvire automatizacije itd.
- Upoznajte se s klijentima za testiranje API-ja poput POŠTAR
- Trebali biste biti svjesni alata i tehnika za testiranje Bijele kutije - poput okvira za ruganje ( Mockito ), itd. jer se od njih može očekivati da i po potrebi daju svoj doprinos pisanju testova.
- Trebali bi biti svjesni alata za izradu verzija Ići . Također, trebali bi biti upoznati s pojmovima Zahtjevi za povlačenjem , recenzije koda itd.
- Razumijevanje arhitekture web aplikacija i općeg modela klijent-poslužitelj.
- Trebali bi biti svjesni osnovnih koncepata objektno orijentiranog programiranja i razumijevanja ČVRSTO model ( S ingle Odgovornost, ILI olovka / zatvoreni princip, L zamjena iskov, Ja segregacija na površini, D inverzija ovisnosti)
- Osnovno razumijevanje Kontinuirana integracija / Kontinuirana dostava koncepata (CI / CD), a također bi trebali biti svjesni CI alata poput Jenkins / Bamboo, itd.
Općenito se očekuje da će se SDET-ovi pobrinuti za probleme uvođenja, stoga je razumijevanje ovih alata imperativ. - Trebali bi biti upoznati s barem jednim okvirom za automatizaciju prednjeg kraja. Najlakši i najčešće korišten u Selen . To je sveti gral prednjeg testiranja za web aplikacije i gotovo sve organizacije koriste okvir Selenium za automatizaciju UI testova.
- Učenje osnova ispitivanja performansi kao i pisanje jednostavnih skripti pomoću otvorenih alata za testiranje performansi poput JMeter je vrlo korisno i možete se pozvati na ovo Vodič za Jmeter . To je korisno jer se od SDET-a očekuje da se pobrinu i za nefunkcionalne zahtjeve poput ispitivanja performansi.
- Oni bi također trebali biti svjesni temeljnih koncepata sigurnosnog testiranja. To također obuhvaća poznavanje osnovnih standarda kodiranja što osigurava da u aplikaciji ne ostanu osnovni sigurnosni propusti. OWASP je sjajna referenca za sve takve temeljne koncepte.
- Od SDET-a se očekuje da znaju, razumiju i implementiraju agilne razvojne metodologije te bi im trebalo biti ugodno u radu s timovima koji koriste agilnu Sprint / Scrum metodologiju.
- Trebali bi biti svjesni bilo koga u tehnologiji oblaka poput - Amazon AWS , Google GCP , ili Microsoft Azure .
Budući da većina tvrtki sada prelazi na infrastrukturu temeljenu na oblaku, poznavanje osnovnih alata i tehnologija u oblaku općenito je korisno za početak.
Certifikacija za SDET
Općenito, ne postoje posebne potvrde koje su dostupne za SDET
Ako netko želi započeti svog inženjera za razvoj softvera u testnom putovanju, može se samo usredotočiti na točke spomenute u odjeljku 'Kako postati izvrstan SDET' ovog vodiča, a zatim bi SDET-ovi sa svojim otvorenim načinom razmišljanja trebali nastaviti put učenja na poslu.
Za testiranje terminologije i osnova dobro je da svi koji su u struci testiranja softvera imaju certifikat Potvrda o ispitivanju ISTQB Foundation .
Ovo certificiranje pokriva sve osnovne koncepte testiranja softvera poput,
- Vrste ispitivanja - funkcionalne / nefunkcionalne
- Testiranje crne kutije / bijele kutije / sive kutije
- Planiranje ispitivanja / Upravljanje nedostacima
- Ispitne tehnike - Ekvivalentna particija, Matrica sljedivosti itd.
Dostupni su i drugi međunarodni certifikati za testiranje softvera, ali većina njih nije baš glavni kriterij odabira za tvrtke da angažiraju SDET.
Dostupan je popis svih takvih certifikata ovdje.
Intervjui
S većinom većih proizvodnih tvrtki, inženjer za razvoj softvera u testnom intervjuu puno je više u usporedbi s onima s intervjuima za programere, jer se od njih očekuje da znaju većinu razvoja metodologija i srodnih koncepata.
Međutim, intervjui su malo popustljivi u usporedbi s programerima. Ovdje se ističe kako kandidat pristupa problemu i koliko široko čovjek može o njemu razmišljati.
Općenito, SDET-ovi intervjui sastoje se od sljedećih rundi / vrsta pitanja u gotovo svim velikim proizvodnim organizacijama poput - Amazon, Microsoft, Adobe, Expedia, itd.
- Pisani krug: Pisanje test slučajeva za dati proizvod. Ovdje je namjera steći ideju o tome koje sve aspekte testiranja osoba može misliti o kandidatu ako misli / nabraja sve funkcionalne scenarije, rubne scenarije, je li kandidat usredotočen na sigurnosno testiranje, testiranje performansi itd.
- Kodiranje: Daje se mala vježba kodiranja, a od kandidata se očekuje da zapiše sve scenarije jediničnog testiranja i funkcionalnog testiranja. Ovdje je područje ili vještina koja se ispituje - osnovno znanje / konstrukcije kodiranja, pisanje provjerljivog koda i znanje o tehnikama testiranja bijelih kutija kao što su Unit testiranje, ruganje itd.
- Dizajn krug: Postavlja se pitanje dizajna sustava, primjer , kako biste dizajnirali youtube
Ova vrsta pitanja općenito imaju više značaja za programere, ali za SDET ispitivač traži koliko široko osoba može razmišljati, zna li kandidat za koncepte OOP-a, je li kandidat sposoban razmišljati o skalabilnosti, robusnosti, uravnoteženju opterećenja itd. , može li kandidat koristiti prave baze podataka za aplikaciju koja će biti dizajnirana - HR / Manager runda: Ovdje se o kandidatu promatraju stvari kao što su kondicijska sposobnost tima, kulturna spremnost itd., Kao i rasprave o plaćama, a također se vode pregovori.
Preporučena literatura => Pitanja za intervju za SDET
Plata SDET-a
Kao što smo razgovarali u našim prethodnim odjeljcima, SDET-i imaju veće plaće od većine uloga ručnog testiranja. U puno slučajeva plaće su usporedive s onima s programerima na sličnoj razini iskustva.
Možete se uputiti ovdje kako bi saznali o rasponu plaća na različitim SDET profilima u različitim organizacijama. Općenito se SDET plaća razlikuje ovisno o rasponu iskustva i organizaciji.
Ispod je usporedba SDET plaća za vodeće tvrtke kao što su Microsoft, Expedia.
Razina | Microsoft ($) | Expedia ($) |
---|---|---|
SDET - I | 65000 - 80000 | 60000 - 70000 |
SDET - II | 75000 - 11000 | 70000 - 100000 |
Gospodine SDET | 100 000 - 150 000 | 90000 - 130.000 |
Karijera
Općenito ljestvice SDET-ove karijere započinju i rastu na sljedeći način:
- SDET-1 - SDET mlađe razine sposoban za pisanje skripti za automatizaciju.
- SDET-2 - Iskusni SDET sposoban za pisanje alata za višekratnu upotrebu i okvira za automatizaciju.
- Gospodine SDET - SDET za stariju razinu koji može biti pojedinačni suradnik poput SDET 1 i SDET 2, ali također je sposoban
- Provođenje pregleda koda.
- Sudjelujte u raspravama o dizajnu i dajte prijedloge za odgovarajuće promjene u dizajnu.
- Sudjelujte u cjelokupnoj strategiji ispitivanja proizvoda.
- Sudjelujte u CI / CD modelima isporuke, izradite izvedbene cjevovode itd.
- SDET upravitelj - Nakon SDET2, možete odabrati Sr SDET ili SDET Manager Path. Upravitelj SDET-a ima i upravljačke / voditeljske odgovornosti uz osnovni SDET-ov posao.
- Arhitekt testa / inženjer rješenja - Arhitekt testa ili inženjer rješenja je netko tko uglavnom dizajnira / arhitektira cjelokupni okvir za više projekata, uokviruje specifikacije ispitivanja, može također djelovati kao voditelj isporuke. Ovi su ljudi pojedinci i pomažu višestrukim projektima da postignu rezultate ispitivanja i isporuče opsežno dobro testiran proizvod bez nedostataka.
Evo predstavljanja SDET karijernog puta na razini bloka:
Zaključak
U ovom smo tutorijalu detaljno saznali što je SDET u smislu uloga i odgovornosti, obveznih vještina, koja je razlika između SDET-ova i ručnih testera i što je potrebno da biste postali sjajni inženjer za razvoj softvera u testu.
Općenito, SDET je uloga koja je vrlo tražena i gotovo sve dobre proizvodne tvrtke imaju tu ulogu u svojim timovima i vrlo su cijenjene.
Preporučena literatura
- Pitanja i odgovori za SDET intervju (cjelovit vodič)
- 10 NAJBOLJIH tvrtki i usluga za razvoj prilagođenog softvera 2021. godine
- 20 NAJBOLJIH alata za razvoj softvera (2021 ljestvica)
- Mjere za SSDLC (životni ciklus sigurnog razvoja softvera)
- SDLC (životni ciklus razvoja softvera) faze, metodologije, procesi i modeli
- Metodologije razvoja i ispitivanja softvera (sa pozitivnim i negativnim stranama)
- 5 stvari koje bi početnik (i ispitivač) trebao znati o testiranju softvera
- 5 načina da budete hrabar i samopouzdan ispitivač softvera