SDET Unicorns - Proč je tak těžké najmout SDET?

SDET, také známý jako Software Development Engineer in Test, je pracovní rolí v doméně testování softwaru a zajištění kvality. Termín původně používal Microsoft a poté Google s cílem nahradit pozemské a opakované ruční testovací úlohy automatizací.

V průběhu let stále více společností najímá SDET, protože to je klíčová role v Agile a DevOps. Je to však náročná role.

Technologie se mění velmi rychle a testeři se musí hodně naučit, aby si udrželi náskok.


V mém předchozím příspěvku Testování ve světě DevOps „Vysvětlil jsem, jak se role testeru v posledním desetiletí změnila, čímž vznikl nedostatek testovat jednorožce .

Tento příspěvek hovoří o roli SDET a proč je obtížné najít SDET jednorožec.




Co dělá SDET?

SDET je technický softwarový tester se zaměřením na vývoj automatizovaných testovacích skriptů.

Obvykle jsou součástí agilního týmu a spolupracují s vývojáři, aby pomohli automatizovat kritéria přijetí v příbězích uživatelů.

Kromě účasti na typických činnostech QA mohou psát cokoli z automatizovaných integračních testů, testů API a / nebo automatizačních testů uživatelského rozhraní.

Kromě toho by SDET mohly pomoci zkontrolovat testy jednotek napsané vývojáři.




Proč jsou SDET potřeba?

V každém produktu jsou některé základní funkce, které musí fungovat při každém vydání produktu. To znamená, že v každém sprintu musí být testovány nové funkce a stávající funkce.

Agilní vývoj je rychlý. S krátkými sprinty, které jsou obvykle 2 týdny dlouhé, nemají testeři čas otestovat vše ručně.

Pokud testeři v týmu nemají potřebné dovednosti k psaní automatických kontrol, musí být všechny testy provedeny ručně.

Nakonec se testování stává překážkou vývoje a vydání softwaru, protože jeho dokončení bude trvat stále déle.


Najímání a umisťování SDET do agilního týmu proto může zmírnit zátěž automatizací většiny manuálních testů a úkolů.



Rozhovory a najímání SDETů

Proč je tedy tak těžké najít a získat dobré SDET?

V průběhu let většina takzvaných SDET, s nimiž jsem vedla pohovor, buď postrádá požadované technické dovednosti, nebo nerozumí principům QA a testování.

Nerozumí plně hlavnímu důvodu role SDET v týmu. Většina z nich narazila na předpoklad, že vše, co musí udělat, je automatizovat kritéria přijetí. Řekněme jasně, SDET NENÍ automatizační technik .


Klíčem je mít správnou rovnováhu mezi testováním schopností a technických dovedností.

Skvělý SDET je obchodním testerem softwaru, je vášnivý kvalitě softwaru a současně je technicky zdatný a má správnou kombinaci technických dovedností.

Při pohovoru pro SDET vždy hledám Myšlení QA a Technické dovednosti.



Profil SDET - testery s plným zásobníkem

Jak vypadá profil skvělého SDET? Jaké dovednosti by měly mít SDET?


Někteří z nás nyní slyšeli o vývojářích s plným zásobníkem, ale můžeme full-stack testery ?

Podle mého názoru by měl mít SDET alespoň následující dovednosti a atributy:

  • Má testovací myšlení, je zvědavý a může přijít se zajímavými testovacími scénáři
  • Dobře rozumí principům a metodikám testování
  • Ví, že veškeré testování má průzkumnou povahu, a oceňuje rozdíl mezi nimi testování a kontrola.
  • Dokáže použít vhodné zkušební metody pro daný scénář
  • zná rozdíl mezi testováním a QA
  • Může kódovat alespoň jeden skriptovací nebo programovací jazyk (Java a Javascript jsou nejoblíbenější)
  • Rozumí HTTP a jak jsou vytvářeny moderní webové aplikace
  • Umí psát UI jakož i Automatizované testy API. Jedno nebo druhé není dost dobré!
  • Git, žádosti o tah, větvení , atd…
  • Má agilní povahu a ví, jak testování zapadá do agilního modelu
  • Umí psát skripty pro testování výkonu ( Gatling a / nebo JMeter )
  • Myslí na bezpečnost a je si toho vědom OWASP
  • Rozumí potrubí CI / CD a Build
  • Zná služby nabízené poskytovateli cloudové platformy, jako jsou AWS, Azure a Google Cloud


Staňte se skvělým SDET

Jak je vidět, škála dovedností očekávaných od SDET je poměrně široká.

Moje rada testerům, kteří se chtějí stát SDET a zůstat relevantní v novém věku QA, je:

Ujistěte se, že pracujete na získání všech výše uvedených dovedností v profilu SDET_, ale minimálně: _

Znát a porozumět základům testování

Nejdůležitější je znát základy testování softwaru.

Je až příliš dobré být na stejné úrovni s vývojáři a umět psát krásný kód. Pokud vám však chybí myšlení QA, pokud nemůžete přijít s dostatečným počtem scénářů k důkladnému testování uživatelských příběhů a funkcí, nepřidáváte žádnou hodnotu. Můžete také tvrději pracovat a stát se vývojářem.

Znát a rozumět protokolu HTTP

Většina moderních webových aplikací interaguje s API.

Je nezbytné znát a rozumět architektuře HTTP a tomu, jak funguje web. Pokud nemůžete rozlišit mezi požadavkem POST a požadavkem GET nebo nevíte, jak na to analyzovat JSON , jak tedy můžete efektivně otestovat API?

Investujte čas do učení testovacích nástrojů API, jako je Karate .

Nemůžete se nazývat SDET, pokud vše, co chcete udělat, je automatizovat testy a vše, co víte, je Java, Selenium a Cucumber!