what is sdet know difference between tester
Ta vadnica razpravlja o vseh vidikih SDET (inženir za razvoj programske opreme v preskusu), vključno s sklopom spretnosti, vlogami in odgovornostmi, plačo in poklicno potjo:
Poglobljeno bomo razpravljali o vlogi SDET, pričakovanjih in odgovornostih do te vloge, ki jo podjetja pričakujejo, o spretnostih, ki jih mora imeti SDET, o orodjih in tehnologijah, s katerimi mora biti kandidat pripravljen, ter tudi o plačah na splošno ponujen.
Kaj se boste naučili:
Razumevanje vloge SDET
Razširjena oblika SDET je - Inženir za razvoj programske opreme v preizkusu
Z zelo preprostimi besedami je ta vloga kombinacija vmesnega med čisto vlogo razvijalca in čisto preizkuševalno vlogo. SDET so usposobljeni strokovnjaki tako na področju kakovostnega inženiringa kot tudi razvoja programske opreme.
Izraz SDET je prvič izumil Microsoft, ki mu je nato sledila in ga uporabljala večina velikih imen izdelkov, kot so Google, Amazon, Adobe, Expedia itd. Vloga glavnih pričakovanj je bila zamenjava ročnih ponavljajočih se opravil z nekaj avtomatizacije za povečanje učinkovitosti in zanesljivost preskušanih aplikacij.
Primerjava med SDET in ročnim preverjanjem kakovosti
Ročni preizkuševalci kakovosti so osredotočeni predvsem na testiranje črne skrinjice ali aplikacije. Kar pomeni, je za preizkuševalca kakovosti pomembno, kako natančno določiti, kako naj se aplikacija obnaša, ko dobi določen vnos.
vprašanja in odgovori na intervjuju za izkušene
QA preizkuševalec bi samo uporabil preizkušano aplikacijo / sistem, kot bi ga uporabil vsak običajni uporabnik / kupec, vendar s poudarkom na podrobnejših podrobnostih, pa tudi na robnih scenarijih, tako da bi poskusil različne kombinacije vnosa itd.
SDET se osredotoča na uporabo tako iz White Box kot tudi Black Box testiranja. Z drugimi besedami, zavedali bi se tudi notranjega delovanja aplikacije, ki jim omogoča pisanje testov za avtomatizacijo z uporabo tehnik testiranja White Box ali Black Box.
V bistvu mora biti inženir za razvoj programske opreme v preizkusu seznanjen z vsemi preizkusnimi tehnikami Black Box, pa tudi s praktičnim znanjem o razvoju / kodiranju, da lahko razume notranje delovanje aplikacije, ki zagotavlja boljše standarde kakovosti in manj pokvarjen programski izdelek.
V bistvu bi moral SDET na kakršen koli način delovati kot sredstvo za učinkovito zagotavljanje kakovosti. Kaj to tudi pomeni, da bi posameznik s svojimi veščinami zagotovil, da so vsi deli preizkušene programske opreme potrjeni na najboljši možen način, ki bi moral vključevati preizkušanje tako funkcionalnih kot nefunkcionalnih področij.
Oglejmo si primerjavo SDET in Ročnega preizkuševalca za različne parametre
Parameter | SDET | Ročni preizkuševalec |
---|---|---|
Obseg testiranja | Osredotoča se na široko paleto testnih tehnik in vrst. Primer: Funkcionalno, nefunkcionalno, varnostno, zmogljivo itd. | Na splošno se osredotočite na funkcionalno perspektivo preskušane aplikacije. Ročni preizkuševalnik se obnaša kot uporabnik / kupec preskušane aplikacije in jo s tega vidika potrdi. |
Avtomatizacija | SDET se večinoma osredotočajo na avtomatizacijo ponavljajočih se scenarijev, da se zagotovi, da se lahko ročni preizkuševalci osredotočijo na bolj zapletene in robne scenarije ter učinkoviteje uporabljajo svojo pasovno širino in spretnosti. | Ročni preizkuševalci imajo nekatere ali nobene spretnosti za avtomatizacijo. Vendar pa se morajo ročni preizkuševalci zavedati uporabe orodij, ki pomagajo pri ročnem preskušanju Primer: Uporaba Postman-a za izvajanje končnih točk API-ja, uporaba ponudnikov oblakov, kot so laboratoriji za omake, za izvajanje testov na različnih različicah platforme itd. |
Primarni nabor spretnosti | SDET so odgovorni predvsem za avtomatizacijo testnih primerov in pisanje skriptov / orodij za večkratno uporabo, ki ekipi pomagajo zmanjšati ponavljajoča se prizadevanja. Starejši član ekipe SDET je odgovoren tudi za ustvarjanje sistemov za avtomatizacijo in drugim SDET-om omogoča pisanje testov z uporabo ogrodja. | Ročni preizkuševalci se osredotočajo predvsem na funkcionalnost aplikacij, osredotočajo se na robne primere in zapletene testne primere. Na primer: Ročni preizkuševalnik, ki preizkuša mobilno aplikacijo, bi poleg vseh funkcionalnih scenarijev pomislil na scenarije, kot je - Kaj pa, če zaprem aplikacijo, ko poteka zaledna operacija / omrežni klic. - Kaj se zgodi, če je mobilni telefon nenadoma izklopljen, ko je bila stranka na določeni strani v aplikaciji. - Kaj se zgodi, če se internet med nalaganjem dokumenta v aplikacijo itd. |
Plače | SDET-om na splošno ponujajo višje plače (~ 40-50% višje od ročnih preizkuševalcev), in sicer zaradi njihovih veščin in izkušenj. | Čiste vloge za ročno preizkušanje zahtevajo nižjo plačo v primerjavi s hibridno vlogo, kjer si ročni preizkuševalec prizadeva tudi naučiti se novih orodij in dodati vrednost dobavljenemu izdelku. |
Inženir za razvoj programske opreme v Test Skillset
Spodaj so navedeni sklopi spretnosti, ki jih mora imeti SDET:
# 1) Odprite miselnost
Prvi in najpomembnejši nabor spretnosti je, da mora biti kateri koli inženir za razvoj programske opreme na preizkusu odprt za učenje katerega koli skriptnega jezika / orodij, ki so potrebna za temeljito testiranje preizkušene aplikacije.
Povsem verjetno je, da boste kot SDET v enem podjetju morda na koncu delali s tehnologijo Microsoft / .NET, vendar bo v drugem podjetju razvojni jezik predvsem Java - zato naj bi SDET imel odprto miselnost za učenje novih stvari / tehnologij, kot je in kadar je potrebno.
# 2) Prilagodljiv
Testni inženir za razvoj programske opreme se mora prilagoditi potrebam projekta, orodij in tehnologij, baz podatkov itd. Na primer - kot SDET imate morda izkušnje s testiranjem API-ja, vendar druga vloga zahteva, da preizkusite uporabniški vmesnik ali vmesnik. Zato vloga od vas zahteva, da se prilagodite potrebam projekta in ponudite visokokakovosten standardni izdelek.
# 3) Večopravilnost
Pri večini proizvodnih podjetij se razmerje med DEV in QA pogosto v veliki meri spremeni. To pomeni, da je pogosto videti ekipe z razmerjem DEV: QA 4: 1 ali celo 5: 1. Zato je nujno, da se pričakuje, da bo SDET sodeloval pri več stvareh in zagotavljal.
To je nekaj nalog, na katerih naj bi SDET deloval:
- Sodelovati na sestankih zainteresiranih strani: SDET se mora tesno povezati tako z razvijalci kot tudi s proizvajalci izdelkov, da bo izdelek razumel tako od razvijalcev kot tudi z vidika izdelka in nato oblikoval / predlagal strategijo avtomatizacije.
- Ustvarite ogrodje / orodja
- Strategizirajte načrtovanje preizkusov
- Dvignite / preučite napake
- Včasih bo morda treba sodelovati pri testiranju enot skupaj z razvijalci.
# 4) Raziskovalna miselnost
Vsak SDET si mora te vrstice vedno zapomniti - “ Če ves čas ponavljate ista dejanja, razmislite o njihovi avtomatizaciji '
Oseba bi imela miselnost, da s pomočjo orodij za povečanje produktivnosti in zagotavljanje visokokakovostnih programskih izdelkov zmanjša napor za vse, kar ji pride na pot.
Primarna naloga SDET-a je poleg vseh del avtomatizacije tudi zagotavljanje visokokakovostnih izdelkov z vsem, kar je potrebno, zato bi se moral / -a osredotočiti tudi na testiranje izdelkov s pomočjo raziskovalnih načinov za odkrivanje vedno več skritih napak in napak.
# 5) Sodelujte, prispevajte in komunicirajte
Vloga SDET zahteva povezovanje med različnimi zainteresiranimi stranmi, kot so razvijalci, izdelki, ročni preizkuševalci itd.
Pomembno je, da SDET sodelujejo z vsemi zahtevanimi zainteresiranimi stranmi in po potrebi sporočajo vse potrebne podrobnosti.
Skupina SDET in ekipa za zagotavljanje kakovosti imajo kakovostne izdelke za izdelek, preden je odprt za javnost, zato imajo pomembno vlogo pri ocenjevanju, ali je izdelek primeren za prodajo ali ne.
Vloge in odgovornosti
Poskusimo torej razumeti, kaj so SDET vsakodnevna dela in odgovornosti ter različne naloge, ki naj bi jih opravljali.
- Sodelujte z razvijalci in zainteresiranimi stranmi ter si prizadevajte za avtomatizacijo meril sprejemljivosti. To z enostavnimi besedami pomeni - SDET najprej razume zahteve z vidika sprejemanja / kupca in mora razumeti tudi način razvoja izdelka v smislu kodirnega jezika, zbirk podatkov itd., Nato pa načrtuje strategijo za čim večjo avtomatizacijo scenarijev .
- Odgovoren za izdelavo robustnih in visokokakovostnih rešitev za avtomatizacijo preskusov za funkcionalno, regresijsko in učinkovito testiranje.
- Ustvarite skripte / orodja za večkratno uporabo, kjer koli je to potrebno.
- Prispevajte k funkcionalnim in nefunkcionalnim področjem testiranja. Funkcionalno preskušanje vključuje testiranje s stališča funkcionalnosti / zahtev in ga v veliki meri vodijo merila sprejemljivosti ali zgodbe uporabnikov.
Vendar pa je enako pomembno tudi nefunkcionalno testiranje. Na primer, kako zmogljiva je aplikacija, ali je aplikacija dovolj varna, zagotovite, da v njej ne ostane nobenega vdora, ki bi lahko oviral varnost aplikacije in lahko na koncu povzročil veliko izgubo tako za stranke kot za organizacijo. - Sodelujejo tudi v razpravah o oblikovanju in arhitekturnem oblikovanju ter zagotavljajo učinkovite povratne informacije pri pregledih kode.
Postanite odličen SDET
Če želimo postati odličen SDET, si oglejmo nekaj nasvetov / osnovnih orodij in tehničnih veščin, ki se jih je treba naučiti, da bi se bolje odrezali v svojih vlogah.
V prejšnjem poglavju smo spoznali lastnosti, ki jih mora imeti inženir za razvoj programske opreme v preizkusu, da postane odličen v svojih vlogah. Imeti morajo odprto miselnost, biti prilagodljivi in biti sposobni komunicirati, sodelovati in prispevati na kakršen koli način, kot to zahteva izdelek ali skupina.
Oglejmo si seznam nekaterih pogostih orodij in tehnologij, ki se jih morajo SDET naučiti:
- Moral bi dobro razumeti načela testiranja, vrste testiranja in metodologije.
- Visoko usposobljen za odpravljanje napak - naučite se orodij za odpravljanje napak, kot so - Chrome spletni razhroščevalec ki so izredno koristne za razhroščevanje spletnih aplikacij, pa tudi za raziskovanje omrežnih dnevnikov za preskušano aplikacijo.
- Morali bi biti sposobni pisati kodo / skripte za večkratno uporabo, zato bi morali znati vsaj en skriptni jezik. Najlažje se je naučiti Pythona, ki bi ga lahko uporabili za najrazličnejše naloge, okvire za avtomatizacijo itd.
- Spoznajte odjemalce za testiranje API-jev, kot so POŠTAR
- Morali bi se zavedati orodij in tehnik za testiranje bele škatle - na primer posmehljivi okviri ( Mockito ) itd., saj se od njih lahko pričakuje, da bodo po potrebi prispevali tudi k pisanju enotnih testov.
- Zavedati se morajo orodij za različice, kot so Pojdi . Prav tako bi morali poznati koncepte Zahteve za vlečenje , pregledi kod itd.
- Razumevanje arhitekture spletnih aplikacij in splošnega modela odjemalec-strežnik.
- Moral bi se zavedati osnovnih konceptov objektno usmerjenega programiranja in razumevanja TRDNO model ( S ingle Odgovornost, ALI pisalo / zaprto načelo, L zamenjava iskov, jaz ngrezna ločitev, D Inverzija odvisnosti)
- Osnovno razumevanje Stalna integracija / Neprekinjena dostava konceptov (CI / CD) in se morajo zavedati orodij CI, kot so Jenkins / Bamboo itd.
Na splošno se pričakuje, da bodo SDET poskrbeli za vprašanja uvajanja, zato je razumevanje teh orodij nujno. - Morali bi poznati vsaj en okvir avtomatizacije na sprednji strani. Najlažje in najpogosteje uporabljeno v Selen . Je sveti gral testiranja za spletne aplikacije in skoraj vse organizacije uporabljajo okvir Selenium za avtomatizacijo testov uporabniškega vmesnika.
- Učenje osnov preizkušanja učinkovitosti in pisanje preprostih skriptov z uporabo odprtokodnih orodij za preizkušanje zmogljivosti, kot je JMeter je zelo koristen in se lahko sklicujete na to Vadnica Jmeter . To je koristno, saj naj bi SDET poskrbeli tudi za nefunkcionalne zahteve, kot je preizkušanje zmogljivosti.
- Prav tako bi se morali zavedati temeljnih konceptov preskušanja varnosti. To vključuje tudi poznavanje osnovnih standardov kodiranja, kar zagotavlja, da v aplikaciji ne obstajajo osnovne varnostne pomanjkljivosti. OWASP je odlična referenca za vse take temeljne koncepte.
- Od SDET-ov se pričakuje, da poznajo, razumejo in izvajajo agilne razvojne metodologije in bi jim moralo biti udobno pri delu s skupinami, ki uporabljajo agilno metodologijo Sprint / Scrum.
- Zavedati se mora vsakogar v oblaku, kot so tehnološke platforme - Amazon AWS , Google GCP , ali Microsoft Azure .
Ker se večina podjetij zdaj preusmerja na infrastrukturo v oblaku, je za začetek na splošno koristno osnovno razumevanje orodij in tehnologij v oblaku.
Potrdilo za SDET
Na splošno ni posebnih certifikatov, ki bi bili na voljo za SDET
Če želi nekdo začeti svojega inženirja za razvoj programske opreme na testnem potovanju, se lahko osredotoči le na točke, omenjene v razdelku 'Kako postati odličen SDET' v tej vadnici, nato pa naj SDET s svojo odprto miselnostjo nadaljujejo učno pot na delovnem mestu.
Za preizkušanje terminologije in osnov je dobro, da imajo vsi, ki opravljajo poklic preizkušanja programske opreme, certifikat Potrdilo o testiranju ISTQB Foundation .
To potrdilo zajema vse osnovne koncepte testiranja programske opreme, kot so,
- Vrste testiranja - funkcionalne / nefunkcionalne
- Testiranje črne škatle / bele škatle / sive škatle
- Načrtovanje testov / obvladovanje napak
- Preskusne tehnike - enakovredna particija, matrika sledljivosti itd.
Na voljo so tudi druga mednarodna potrdila o preizkušanju programske opreme, vendar večina od njih ni zelo pomembno izbirno merilo za podjetja, da najamejo SDET.
Na voljo je seznam vseh takšnih potrdil tukaj.
Intervjuji
Pri večini večjih proizvodnih podjetij je inženir za razvoj programske opreme v testnem intervjuju veliko več kot tisti z razgovori za razvijalce, saj naj bi vedeli večino o razvoju metodologij in sorodnih konceptov.
Vendar so intervjuji nekoliko popustljivi v primerjavi z razvijalci. Tu je poudarjeno, kako kandidat pristopa k problemu in kako široko lahko človek o njem razmišlja.
Na splošno so razgovori SDET sestavljeni iz naslednjih krogov / vrst vprašanj v skoraj vseh velikih produktnih organizacijah, kot so Amazon, Microsoft, Adobe, Expedia itd.
- Pisni krog: Pisanje testnih primerov za dani izdelek. Tu naj bi dobili idejo o tem, kakšne vidike testiranja lahko človek misli o kandidatu, če misli / našteje vse funkcionalne scenarije, posebne scenarije, se kandidat osredotoča na varnostno testiranje, testiranje učinkovitosti itd.
- Kodiranje: Podana je majhna vaja kodiranja, kandidat pa naj bi zapisal vse scenarije enote in funkcionalnega preskušanja. Tukaj je področje ali spretnost, ki se preizkuša, - osnovno znanje / konstrukcije kodiranja, pisanje preizkusne kode in znanje o tehnikah preizkušanja bele škatle, kot so enotno testiranje, posmehovanje itd.
- Krog oblikovanja: Postavljeno je vprašanje zasnove sistema, primer , kako bi oblikovali youtube
Ta vrsta vprašanj je na splošno bolj pomembna za razvijalce, toda za SDET anketar išče, kako široko lahko oseba razmišlja, ali kandidat pozna koncepte OOP, ali je kandidat sposoben razmišljati o razširljivosti, robustnosti, uravnoteženju obremenitve itd. , ali lahko kandidat uporabi prave zbirke podatkov za aplikacijo, ki jo je treba oblikovati - Krog kadrov / vodja: Tu se o kandidatu opazijo stvari, kot so kondicijska pripravljenost ekipe, kulturna pripravljenost itd., Razprave o plačah in pogajanja.
Priporočeno branje => Vprašanja za intervju s SDET
Plača SDET
Kot smo že omenili v prejšnjih poglavjih, imajo SDET višje plače kot večina vlog ročnega testiranja. V mnogih primerih so plače primerljive s tistimi z razvijalci na podobni ravni izkušenj.
Lahko se sklicujete tukaj izvedeti razpon plač na različnih profilih SDET v različnih organizacijah. Na splošno se plača SDET razlikuje glede na izkušnje in organizacijo.
Spodaj je primerjava plač SDET za vodilna podjetja, kot sta Microsoft in Expedia.
Raven | Microsoft ($) | Expedia ($) |
---|---|---|
SDET - I | 65000 - 80000 | 60000 - 70000 |
SDET - II | 75000 - 11000 | 70000 - 100000 |
Gospod SDET | 100.000 - 150.000 | 90000 - 130.000 |
Poklicna pot
Na splošno se karierna lestvica SDET začne in razvija na naslednji način:
- SDET-1 - SDET na nižji ravni, sposoben pisanja skriptov za avtomatizacijo.
- SDET-2 - Izkušen SDET, sposoben pisati orodja za večkratno uporabo in okvire za avtomatizacijo.
- Gospod SDET - SDET za višjo raven, ki je lahko samostojni sodelavec, kot sta SDET 1 in SDET 2, lahko pa tudi
- Izvajanje pregledov kode.
- Sodelujte v razpravah o oblikovanju in dajte predloge za ustrezne spremembe v oblikovanju.
- Sodelujte v splošni strategiji testiranja izdelka.
- Sodelujte v modelih dostave CI / CD, ustvarite izvedbene načrte itd.
- Upravitelj SDET - Po SDET2 lahko izberete Sr SDET ali SDET Manager Path. Poleg osnovnega dela SDET ima upravitelj SDET tudi vodstvene / vodstvene odgovornosti.
- Testni arhitekt / inženir rešitev - Test Architect ali Solutions Engineer je nekdo, ki večinoma oblikuje / oblikuje splošni okvir za več projektov, uokvirja testne specifikacije in lahko deluje tudi kot vodja dostave. Ti ljudje so že posamezniki in pomagajo več projektom, da dosežejo rezultate preizkusov in pošljejo dobro preizkušen izdelek brez napak.
Tu je predstavitev SDET Career Path na ravni bloka:
Zaključek
V tej vadnici smo poglobljeno spoznali, kaj je SDET glede na vloge in odgovornosti, potrebne veščine, kakšna je razlika med SDET-ji in ročnimi preizkuševalci in kaj je potrebno, da postanete odličen inženir za razvoj programske opreme v preizkusu.
Na splošno je SDET vloga zelo zahtevna in skoraj vsa dobra podjetja z izdelki imajo to vlogo v svojih ekipah in so zelo cenjena.
enotno testiranje testiranje integracijskega preizkušanja sistema
Priporočeno branje
- Vprašanja in odgovori za intervju s SDET (popoln vodnik)
- 10 NAJBOLJŠIH podjetij in storitev za razvoj programske opreme po meri leta 2021
- 20 NAJBOLJŠIH orodij za razvoj programske opreme (2021 lestvice)
- Ukrepi za SSDLC (življenjski cikel varnega razvoja programske opreme)
- Faze, metodologije, procesi in modeli SDLC (življenjski cikel razvoja programske opreme)
- Metodologije za razvoj in testiranje programske opreme (s prednostmi in slabostmi)
- 5 stvari, ki bi jih začetnik (in preizkuševalec) moral vedeti o preizkušanju programske opreme
- 5 načinov, kako biti drzen in samozavesten preizkuševalec programske opreme