what is sdet know difference between tester
Tento výukový program pojednává o všech aspektech SDET (softwarový vývojový inženýr v testu), včetně dovedností, rolí a odpovědností, platů a profesních cest:
Budeme diskutovat o roli SDET do hloubky, očekáváních a odpovědnosti z této role, které společnosti očekávají, o dovednostech, které musí SDET vlastnit, o nástrojích a technologiích, které by měl kandidát absolvovat, a také o platech obecně nabídl.
Co se naučíte:
Porozumění roli SDET
Rozšířená forma SDET je - Inženýr pro vývoj softwaru v testu
Stručně řečeno, tato role je kombinací prostředníku mezi čistou rolí vývojáře a čistou rolí testeru. SDET jsou zkušení odborníci v obou - Quality Engineering i Software Development.
Termín SDET byl poprvé vynalezen společností Microsoft, kterou poté následoval a používal většina velkých názvů produktů, jako jsou Google, Amazon, Adobe, Expedia atd. Hlavními očekáváními rolí bylo nahradit ruční opakující se úkoly určitou automatizací, aby se zvýšila účinnost a také spolehlivost testovaných aplikací.
Srovnání mezi SDET a manuální kontrolou kvality
Ruční testeři QA se zaměřují hlavně na test Black Box nebo Testování aplikací. Co to znamená, je pro testera QA důležitá specifikace toho, jak se od aplikace očekává, že se bude chovat, když dostane určitý vstup.
jak otevřít spustitelný soubor jar
QA tester by pouze použil testovanou aplikaci / systém jako každý běžný uživatel / zákazník, ale se zaměřením na více minutových detailů a hraničních scénářů zkoušením různých vstupních kombinací atd.
SDET se zaměřuje na aplikace jak z testů White Box, tak i Black Box. Jinými slovy by si také byli vědomi vnitřního fungování aplikace, což jim umožňuje psát testy automatizace pomocí testovacích technik White Box nebo Black Box.
V podstatě si musí Software Development Engineer v Testu být vědom všech testovacích technik Black Boxu spolu s praktickými znalostmi vývoje / kódování, aby pochopil vnitřní fungování aplikace, které zajišťuje lepší standardy kvality a méně vadný softwarový produkt.
SDET by měl v zásadě fungovat jakýmkoli způsobem jako prostředek umožňující efektivní QA. Co to také znamená, že jednotlivec použije své dovednosti k zajištění toho, aby všechny části testovaného softwaru byly validovány nejlepším možným způsobem, který by měl zahrnovat testování funkčních i nefunkčních oblastí.
Podívejme se na srovnání SDET a ručního testeru na různé parametry
Parametr | SDET | Ruční tester |
---|---|---|
Rozsah testování | Zaměřuje se na širokou škálu testovacích technik a typů. Příklad: Funkční, nefunkční, zabezpečení, výkon atd. | Obecně se zaměřte na perspektivu funkčnosti testované aplikace. Ruční tester se chová jako uživatel / zákazník testované aplikace a z této perspektivy ji ověří. |
Automatizace | SDET se většinou zaměřují na automatizaci opakujících se scénářů, aby zajistily, že se manuální testeři mohou soustředit na složitější a okrajové scénáře a efektivněji využívat šířku pásma a dovednosti. | Manuální testeři mají určité nebo žádné dovednosti pro automatizaci. Je však nutné, aby ruční testeři věděli o používání nástrojů, které pomáhají při ručním testování Příklad: Používání služby Postman k provádění koncových bodů API, používání poskytovatelů cloudu, jako jsou laboratoře omáček, k provádění testů na různých verzích platformy atd. |
Primární sada dovedností | SDET jsou primárně zodpovědné za automatizaci testovacích případů a také za psaní opakovaně použitelných skriptů / nástrojů, které pomáhají týmu snížit opakované úsilí. Senior člen týmu SDET je také zodpovědný za vytváření automatizačních frameworků a umožnění dalším SDETům psát testy pomocí frameworku. | Ruční testeři se primárně zaměřují na funkčnost aplikací, zaměřují se na scénáře hraničních případů a komplexní testovací případy. Například: Ruční tester testující mobilní aplikaci by kromě všech funkčních scénářů myslel na scénáře jako - Co když aplikaci zavřu, když probíhá operace back-end / síťové volání. - Co se stane, když se mobilní telefon náhle vypne, když byl zákazník na konkrétní stránce aplikace. - Co se stane, když se internet vypne uprostřed nahrávání dokumentu do aplikace atd. |
Platy | SDET jsou obecně nabízeny vyšší platy (~ 40-50% vyšší než u manuálních testerů), kvůli jejich dovednostem a zkušenostem, které mají. | Čisté role ručního testování mají nižší plat ve srovnání s hybridní rolí, kde se ruční tester také snaží naučit se nové nástroje a přidávat hodnotu dodávanému produktu. |
Software Development Engineer in Test Skillset
Níže jsou uvedeny sady dovedností, které musí mít SDET:
# 1) Otevřete Mindset
První a nejdůležitější sada dovedností je, že jakýkoli vývojový pracovník softwaru v Testu by měl být připraven naučit se jakýkoli skriptovací jazyk / nástroje, které jsou potřebné k tomu, aby jim umožnily důkladné testování testované aplikace.
Je docela pravděpodobné, že jako SDET v jedné společnosti můžete skončit při práci s technologickým zásobníkem Microsoft / .NET, ale v jiné společnosti je vývojovým jazykem především Java - takže se očekává, že SDET bude mít otevřené myšlení, aby se naučil nové věci / technologie jako a podle potřeby.
# 2) Adaptivní
Inženýr pro vývoj softwaru v testu se musí přizpůsobit potřebám projektu, nástrojů a technologií, databází atd. Například - jako SDET můžete mít zkušenosti s prováděním testování API, ale jiná role vyžaduje, abyste otestovali uživatelské rozhraní nebo rozhraní. Role tedy vyžaduje, abyste se přizpůsobili potřebám projektu a poskytli vysoce kvalitní standardní produkt.
# 3) Multitasker
U většiny produktových společností je poměr DEV a QA do značné míry zkreslený. To znamená, že je běžné vidět týmy, které mají poměr DEV: QA 4: 1 nebo dokonce 5: 1. Proto je bezpodmínečně nutné, aby se očekávalo, že SDET bude zapojen do více věcí a bude dodávat.
Jedná se o několik odpovědností, na kterých by SDET měl pracovat:
- Účast na schůzkách se zúčastněnými stranami: SDET musí úzce spolupracovat s vývojáři i produktovými lidmi, aby porozuměl produktu od obou vývojářů i z hlediska produktu a poté navrhl / navrhl strategii automatizace.
- Vytvořte rámec / nástroje
- Strategizujte plánování testů
- Zvýšit / vyšetřit vady
- Někdy může být požadováno, aby spolu s vývojáři přispěli k testování jednotky.
# 4) Průzkumné myšlení
Každý SDET by si měl tyto řádky pamatovat vždy - “ Pokud neustále opakujete stejné akce, zvažte jejich automatizaci '
Osoba by měla způsob myšlení, aby snížila úsilí o cokoli, co se jí dostane do cesty, pomocí nástrojů ke zvýšení produktivity a zajištění vysoce kvalitních softwarových produktů.
Kromě všech automatizačních prací je hlavním úkolem společnosti SDET dodávat vysoce kvalitní produkty bez ohledu na to, a proto by se také musel zaměřit na testování produktů pomocí průzkumných způsobů, jak odhalit další a další skryté chyby a vady.
Soapui rozhovor otázky a odpovědi doc
# 5) Spolupracujte, přispívejte a komunikujte
Role společnosti SDET vyžaduje spolupráci mezi různými zúčastněnými stranami, jako jsou vývojáři, produkty, manuální testeři atd.
Je důležité, aby SDETs spolupracovaly se všemi požadovanými zúčastněnými stranami a případně komunikovaly všechny potřebné podrobnosti.
Tým SDET a QA drží brány kvality produktu před jeho otevřením pro veřejnost, a proto hrají důležitou roli, pokud jde o to, že produkt je vhodný k uvedení na trh zákazníkům či nikoli.
Role a odpovědnosti
Zkusme tedy pochopit, jaké jsou každodenní úlohy a odpovědnosti SDET a jaké různé úkoly se od nich očekávají.
- Spolupracujte s vývojáři i se zainteresovanými stranami v podnikání a snažte se automatizovat kritéria přijetí. To znamená jednoduše - SDET nejprve chápe požadavky z hlediska přijetí / zákazníka a také musí rozumět způsobu, jakým je produkt vyvíjen, pokud jde o kódovací jazyk, databáze atd., A poté plánuje strategii pro automatizaci maximálních scénářů, jak je to možné .
- Odpovědný za vytváření robustních a vysoce kvalitních řešení automatizace testů pro funkční, regresní a výkonnostní testování.
- Vytvářejte opakovaně použitelné skripty / nástroje, kdykoli je to potřeba.
- Přispívat do funkčních i nefunkčních oblastí testování. Funkční testování zahrnuje testování z hlediska funkčnosti / požadavků a je do značné míry poháněno kritérii přijetí nebo uživatelskými příběhy.
Stejně důležité je však i nefunkční testování. Například, jak výkonná je aplikace, je aplikace dostatečně bezpečná, zajistěte, aby v aplikaci nezůstaly žádné hackery, které by mohly mít za následek omezení bezpečnosti aplikace a mohly by nakonec způsobit velkou ztrátu jak zákazníkům, tak organizaci. - Účastní se také diskusí o designu a architektonickém designu a také poskytují efektivní zpětnou vazbu při kontrole kódu.
Staňte se skvělým SDET
Abychom se stali skvělým SDET, podívejme se na několik tipů / základních nástrojů a technických dovedností, které je třeba naučit, aby se jim lépe dařilo v jejich rolích.
V předchozí části jsme se dozvěděli o vlastnostech, které musí mít Software Development Engineer v Test, aby se stal skvělým ve svých rolích. Musí mít otevřené myšlení, být adaptivní a měli by být schopni komunikovat, spolupracovat a přispívat jakýmkoli způsobem podle pokynů produktu nebo týmu.
Podívejme se na seznam některých běžných nástrojů a technologií, které se SDET musí naučit:
- Měl by důkladně rozumět principům testování, typům testování a metodikám.
- Vysoce zdatní při ladění problémů - naučte se ladicí nástroje jako - Chrome Web Debugger které jsou nesmírně užitečné pro ladění webových aplikací a pro zkoumání síťových protokolů pro testovanou aplikaci.
- Měli by umět psát opakovaně použitelný kód / skripty, a proto by měli ovládat alespoň jeden skriptovací jazyk. Nejjednodušší se naučit je Python, který lze použít na širokou škálu úkolů, automatizačních rámců atd.
- Seznamte se s klienty, kteří testují API, jako je LISTONOŠ
- Měli byste si být vědomi nástrojů a technik testování bílé skříňky - jako jsou Mocking frameworks ( Mockito ) atd., protože by se dalo očekávat, že v případě potřeby také přispějí k psaní jednotkových testů.
- Měli by si být vědomi verzovacích nástrojů jako Jít . Také by měli být obeznámeni s pojmy Vytáhnout žádosti , recenze kódu atd.
- Porozumění architektuře webových aplikací a obecnému modelu klient-server.
- Měli byste znát základní koncepty objektově orientovaného programování a porozumět PEVNÝ Modelka ( S celková odpovědnost, NEBO pero / uzavřený princip, L iskov Střídání, Já segregace povrchu, D ependency inverze)
- Základní porozumění Kontinuální integrace / Kontinuální dodávka koncepty (CI / CD) a také by si měli být vědomi nástrojů CI, jako je Jenkins / Bamboo atd.
Obecně se očekává, že SDET se postarají o problémy s nasazením, a proto je nezbytné porozumět těmto nástrojům. - Měli by znát alespoň jeden rámec automatizace front-endu. Nejjednodušší a nejpoužívanější v Selen . Je to svatý grál testování front-endu pro webové aplikace a téměř všechny organizace používají rámec Selenium k automatizaci testů uživatelského rozhraní.
- Osvojení základů testování výkonu a psaní jednoduchých skriptů pomocí nástrojů pro testování výkonu open source, jako je JMeter je velmi užitečné a můžete se na to odvolat Výukový program Jmeter . To je užitečné, protože se také očekává, že SDET se postarají o nefunkční požadavky, jako je testování výkonu.
- Měli by také znát základní pojmy testování zabezpečení. To také zahrnuje znalosti základních kódovacích standardů, které zajišťují, že v aplikaci nezůstanou žádné základní bezpečnostní chyby. OWASP je skvělým odkazem pro všechny tyto základní pojmy.
- Očekává se, že SDET budou znát, rozumět a implementovat metodiky agilního vývoje a měly by být pohodlné při práci s týmy využívajícími agilní metodiku Sprint / Scrum.
- Měli byste si být vědomi všech cloudových technologických platforem, jako je - Amazon AWS , Google GCP nebo Microsoft Azure .
Protože většina společností nyní přechází na cloudovou infrastrukturu, je pro začátek obecně užitečné mít základní znalosti o cloudových nástrojích a technologiích.
Certifikace pro SDET
Obecně platí, že pro SDET nejsou k dispozici žádné konkrétní certifikace
Pokud někdo chce začít svého vývojového inženýra v testovací cestě, může se soustředit pouze na body, které jsou zmíněny v tomto tutoriálu v části „Jak se stát skvělým SDET“, a pak by SDET se svým otevřeným smýšlením měly pokračovat v cestě učení Na práci.
Pokud jde o testování terminologie a základů, je dobré mít u každého, kdo je v oboru testování softwaru, certifikát Osvědčení o testování ISTQB Foundation .
Tato certifikace zahrnuje všechny základní koncepty testování softwaru, například
- Typy testování - funkční / nefunkční
- Testování černé skříňky / bílé skříňky / šedé skříňky
- Plánování testu / správa defektů
- Zkušební techniky - rozdělení ekvivalence, matice sledovatelnosti atd.
K dispozici jsou také další mezinárodní certifikace testování softwaru, ale většina z nich není příliš významným kritériem výběru pro společnosti, aby najímaly SDET.
Seznam všech těchto certifikací je k dispozici tady.
Rozhovory
U většiny větších produktových společností je Software Development Engineer v testovacím rozhovoru mnohem více ve srovnání s těmi, které mají rozhovory s vývojáři, protože se od nich očekává, že budou znát většinu vývoje metodik a souvisejících konceptů.
Rozhovory jsou však ve srovnání s vývojáři trochu shovívavé. Zde je zdůrazněno, jak kandidát přistupuje k problému a jak široký může člověk o problému přemýšlet.
Obecně se rozhovory SDET skládají z následujících typů kol / otázek téměř u všech velkých produktových organizací, jako jsou Amazon, Microsoft, Adobe, Expedia atd.
- Psané kolo: Psaní testovacích případů pro daný produkt. Zde je záměrem získat představu o tom, jaké všechny aspekty testování si člověk může myslet o kandidátovi, jako když si myslí / uvádí všechny funkční scénáře, scénáře hraničních případů, je kandidát zaměřený na testování zabezpečení, testování výkonu atd.
- Kódovací kolo: Je uvedeno malé programovací cvičení a také se od kandidáta očekává, že si zapíše všechny scénáře testování jednotky a testování funkčnosti. Zde je oblast nebo dovednost, která se testuje - základní znalosti / konstrukce kódování, psaní testovatelného kódu a znalosti o technikách testování v bílé krabici, jako je testování jednotek, zesměšňování atd.
- Designové kolo: Je vyvolána otázka návrhu systému, příklad , jak byste navrhli youtube
Tyto typy otázek mají obecně větší význam pro vývojáře, ale pro SDET tazatel hledá, jak široce může člověk myslet, ví kandidát o koncepcích OOP, je kandidát schopen myslet na škálovatelnost, robustnost, rozložení zátěže atd. , může kandidát použít správné databáze pro aplikaci, která má být navržena - HR / Manažerské kolo: Zde jsou o kandidátovi sledovány věci jako týmová kondice, kulturní zdatnost atd., Diskuse o platu a jednání.
Doporučené čtení => SDET Interview Questions
SDET plat
Jak jsme diskutovali v předchozích částech, SDET mají vyšší platy než většina rolí ručního testování. V mnoha případech jsou platy srovnatelné s platy vývojářů na podobné úrovni zkušeností.
Můžete se odvolat tady zjistit rozsah platů na různých profilech SDET v různých organizacích. Obecně se plat SDET liší podle pásma zkušeností a organizace.
Níže je srovnání platů SDET pro špičkové společnosti, jako je Microsoft, Expedia.
Úroveň | Microsoft ($) | Expedia ($) |
---|---|---|
SDET - já | 65 000 - 80000 | 60000 - 70000 |
SDET - II | 75 000 - 11 000 | 70000 - 100000 |
Pane SDET | 100 000 - 150 000 | 90000 - 130 000 |
Kariérní cesta
Kariérní žebříček SDET obecně začíná a roste následujícím způsobem:
- SDET-1 - Juniorský SDET schopný psát automatizační skripty.
- SDET-2 - Zkušený SDET schopný psát opakovaně použitelné nástroje a automatizační rámce.
- Pane SDET - Senior level SDET schopný být individuálním přispěvatelem jako SDET 1 a SDET 2, ale je také schopný
- Provádění kontrol kódu.
- Zúčastněte se diskusí o designu a navrhněte vhodné změny v designu.
- Podílejte se na celkové strategii testování produktu.
- Podílejte se na doručovacích modelech CI / CD, vytvářejte kanály provádění atd.
- Správce SDET - Po SDET2 si můžete vybrat buď Sr SDET nebo SDET Manager Path. Manažer SDET má kromě hlavní práce SDET také odpovědnost za řízení / vedení.
- Testovat architekta / inženýra řešení - Test Architect nebo Solutions Engineer je někdo, kdo většinou navrhuje / architektuje celkový rámec pro více projektů, specifikace testů rámců, může také působit jako vedoucí dodávky. Tito lidé jsou goto jednotlivci a pomáhají více projektům dosáhnout jejich testovacích výsledků a dodávat značně dobře otestovaný produkt bez vad.
Tady je bloková reprezentace SDET Career Path:
Závěr
V tomto tutoriálu jsme se podrobně dozvěděli o tom, co je SDET, pokud jde o role a odpovědnosti, dovednosti, které musíte mít, jaký je rozdíl mezi SDET a manuálními testery a co je zapotřebí k tomu, abyste se stali skvělým vývojářem softwaru v Testu.
Obecně platí, že SDET je role, která je ve vysoké poptávce, a téměř všechny společnosti s dobrými produkty mají tuto roli ve svých týmech a jsou vysoce ceněny.
Doporučené čtení
- SDET Interview Otázky a odpovědi (kompletní průvodce)
- 10 NEJLEPŠÍCH společností a služeb pro vývoj softwaru na zakázku v roce 2021
- 20 NEJLEPŠÍCH nástrojů pro vývoj softwaru (2021 hodnocení)
- Opatření pro SSDLC (zabezpečený životní cyklus vývoje softwaru)
- Fáze, metodologie, proces a modely SDLC (životní cyklus vývoje softwaru)
- Metodiky vývoje a testování softwaru (s klady a zápory)
- 5 věcí, které by měl začínající vývojář (a tester) vědět o testování softwaru
- 5 způsobů, jak být odvážným a sebevědomým testerem softwaru