SDET: Dev, QA ili oboje?

Zaposlenje 10. maj 2022

SDET (Software Development Engineer in Test) je sve popularnija pozicija za softver testere sa razlikama u odnosu na tradicionalnu QA rolu. Za mnoge IT kompanije SDET rola je zapravo još nepoznanica ili nedovoljno precizno definisana, pa se najčešće drugačije i oglašava. U ovom tekstu želimo da je rasvetlimo.

SDET-i predstavljaju kombinaciju programera i testera i prvenstveno su odgovorni za automatizaciju test slučajeva, dizajniranje framework-a i alata za testiranje. Otuda je njihov background podjednako jak kako u programiranju tako i u testiranju softvera.

Da pomognemo da što bolje razumeš ovu rolu, u priču uvodimo Tamaru i Bojana koji rade na SDET pozicijama u kompaniji TeleSign.

Tamara je još student sa prilikom da do sada stečeno znanje o automatskom testiranju, bazama podataka i tehnikama testiranja primeni na realnim projektima, i kao medior SDET vrlo je radoznala o daljim mogućnostima za napredak. Zbog toga joj veoma znače iskustvo i saveti kolege Bojana, koji je razvojni put kao SDET u TeleSign-u započeo pre pet godina.

Vodič kroz ovu rolu odavde prepuštamo njima.

Koja su zaduženja SDET-a?

Tamara: Bojane, kako je tekao tvoj profesionalni put i šta kao senior SDET danas radiš u TeleSign-u?
Bojan: Karijeru sam započeo 2008. u kompaniji Routo Telecom kao SMS Support inženjer, a nakon akvizicije od TeleSign-a 2012, profesionalni put nastavio sam kroz Data tim, gde sam upoznao ostale proizvode i strukturu kompanije. Stečena znanja o SMS sistemima, bazama podataka, kreiranju izveštaja i vizualizaciji podataka, olakšala su mi prilagođavanje u Messaging razvojni tim, u kome sam 2017. krenuo kao SDET.
Kao senior danas obavljam poslove koji se odnose na dizajniranje i održavanje robusnih test automation framework-a, vođenje testnih aktivnosti na SMS platofrmi. Seniorska SDET pozicija podrazumeva i planiranje testnih aktivnosti za kompleksne backend sisteme, uključujući i planiranje testova i strategija, automatizacije testiranja, razvoj mock servisa i load/performance testiranje.
Tamara: Šta te je zadržalo na ovoj poziciji?
Bojan: Mogućnost rada u zanimljivom okruženju, napretka i profesionalnog usavršavanja, rekao bih. Prednost rada na ovoj poziciji je i testiranje i održavanje našeg proizvoda koji omogućava primenu različitih tehnologija, mogućnost rada u različitim programskim jezicima i svakodnevno nadograđivanje znanja. Pozitivnom utisku posebno doprinosi dobra atmosfera i harmonija koja vlada unutar tima kao i dobra međusobna saradnja između timova.

SDET i dev - odnos i saradnja

Tamara: Zašto si odlučio da radiš kao SDET a ne dev?
Bojan: Zbog same dinamike rada. Mislim da je u savremenom svetu razvoja softvera testiranje dinamičnije i zanimljivije od razvoja. Spektar alata za korišćenje prilikom testiranja, zatim, i to što sam za raziliku od dev-a uključen i nadgledam veliki broj komponenti sistema. Kao SDET morate biti u stanju da razmišljate i ponašate se kao programer, da razumete zašto su stvari urađene na određeni način i zašto to ima smisla. Takođe, SDET mora biti u stanju da razmišlja kao krajnji korisnik. Velika pažnja odlazi na detalje i razvijanje sposobnosti razmišljanja van okvira u cilju uočavanja potencijalne greške ili bug-a na kilometar udaljenosti.
Tamara: Da li bi SDET trebalo da bude unutar ili van tima, kakav je zapravo odnos dev-a i SDET-a?
Bojan: U TeleSign-u, SDET i dev su deo istog tima, što se pokazalo kao dobra praksa. Takav način organizacije timova nam omogućava dobro funkcionisanje, zajednički rad na planiranju, razvoju i testiranju softvera. Zajedničkim snagama rešavamo probleme i vodimo diskusiju na svim nivoima, a sve u cilju postizanja kvalitetnog i stabilnog proizvoda.
SDET sa ostalim članovima tima učestvuje u planiranju i samom procesu razvoja, daje ideje i sa dev-ovima prati code review. Takođe, SDET prati razvoj novih funkcija putem automatskih testova i brine o coding standardima koji se implementiraju u testni framework.
Kada je u pitanju organizaciona struktura, svaki od timova ima jednog ili više SDET-a, dok je SDET Lead zadužen za mentorisanje i uvođenje novih kolega u posao, kao i za rad na globalnim inicijativama koje utiču u manjoj ili većoj meri na sve timove.

SDET - razvoj veština i prilike za učenje

Tamara: Cilj nam je automatizacija svih delova sistema, može li se automatizovati u potpunosti?
Bojan: Vodimo se procedurom da task nije gotov dok se u potpunosti ne istestira, što podrazumeva i automatizaciju. Kako imamo svoje proizvode, imamo slobodu odabira tehnologija, alata i testnih framework-a. S obzirom na to da nismo outsourcing kompanija, ne suočavamo se sa kratkim rokovima, već nam je glavni fokus na kvalitetu i temeljnosti u radu.
Tamara: Koji je najizazovniji projekat na kojem si radio?
Bojan: Svaki projekat donosi nove izazove i nova iskustva. Među najizazovnijim projektima bih izdvojio rad na AWS servisima vezan za proces automatizacije SMS delivery report-a poslatih od strane SMS platforme na AWS. Proces uključuje kreiranje i konfigurisanje tri AWS stack-a: AWS SNS Topic, AWS Lambdu pretplaćenu na topic koja preuzima, parsira i upisuje poruke u DynamoDB (NoSQL) bazu. U delu testnog framework-a dodat je aws-sdk kako bi se uz pomoć dostupnih funkcija kreirali AWS DynamoDB klijent i omogućilo mapiranje AWS DynamoDB record-a u definisane Java klase. Ne bih izostavio izazove i iskustva stečena prilikom rada na kreiranju HTTP i gRPC klijenata, procesu sinhronizacije testova između testnog framework-a i TestRail-a, koje je takođe doprinelo i mom napretku u radu kao senior SDET.
Tamara: Koja znanja i veštine bi izdvojio kao potrebne da bi se postao senior SDET?
Bojan: Potrebno je dobro vladanje biznis modelom kao i dobro poznavanje tech stack-a potrebnog za automatizaciju sistema, što uključuje i dobre programerske veštine.
Tamara: A kakve su mogućnosti napredovanja za SDET-a?
Bojan: SDET pozicija omogućava napredovanje, rad i korišćenje novih tehnologija i alata za testiranje. Neke od mogućnosti su razvoj i doprinos poboljšanju testnog framework-a, pristup i manipulacija podataka kroz različite tipove baza podataka, praćenje procesa i administracija servera koji host-uju naše aplikacije, učenje CI/CD procesa. Može da se napreduje i kao developer i kao arhitekta za dizajniranje testnih rešenja za automatizaciju. Proces napredovanja od juniorskih do seniorskih pozicija se odvija u okviru tima, a nakon toga napredak ide ka višim pozicijama kao što su Principal Engineer, Team Leader, itd.
Tamara: Koje sve tehnologije koristiš u radu?
Bojan: Testne framework-e, kao i mock servise pišemo u Java-i i Python-u. Praktikujemo TDD razvojnu praksu, kao i BDD pristup putem Behave i Cucumber softverskih alata. Većina naših servisa komunicira putem API-ja. Testiramo RESTful i gRPC servise i imamo mogućnost boljeg razumevanja arhitekture HTTP protokola i mikroservisa kroz njihovu implementaciju. Koristimo AWS cloud rešenja za razvoj i testiranje, Docker za kreiranje kontejnera i aplikacija zasnovanih na kontejnerima, CI/CD pipelines. Postoji integracija između naših servisa, pa timovi dosta međusobno sarađuju što stvara mogućnosti i za upoznavanje drugih proizvoda kompanije.
Tamara: Pored funkcionalnih testova, veoma se ulaže i u nefunkcionalno testiranje?
Bojan: Tako je. Obaveza SDET-a je da iz svih uglova testira naše proizvode, performanse i prati kako se sistem ponaša pod određenim opterećenjem. Load i performance testove kreiramo i održavamo kroz JMeter, u kombinaciji sa AWS distribuiranim load test engine-om, kako bismo na efikasniji način pratili i merili performanse naših servisa pre puštanja u saobraćaj.

Savet za nove kolege

Tamara: Koji savet imaš za mene, kao i druge ambiciozne SDET-e na početku karijere?
Bojan: Iskoristi mogućnosti koje donosi rad na SDET poziciji da proširiš i ovladaš novim tehnikama testiranja, učestvuješ u razvoju i dizajniranju testnog framework-a i upoznaš se sa servisima drugih timova. Takođe, kroz ovakav rad i međusobnu saradnju možeš da nadograđuješ znanja u oblasti nefunkcionlanog testiranja u cilju boljeg praćenja stabilnosti sistema.
Tamara: Na šta si sve ponosan u svom radu u TeleSign-u?
Bojan: Ponosan sam na svaki uspešno otkriven bug, u potpunosti automatizovan proizvod, “zelene” testove i brzinu izvršavanja samih testova. Posebnu satisfakciju mi predstavlja rad na projektima koji podrazumevaju nove trendove u oblasti programiranja i automatizacije sistema kao i činjenica da svojim radom mogu da doprinesem boljem funkcionisanju, stabilnosti i kvalitetu SMS platforme.

Zainteresovan si za poziciju SDET-a ili rad u TeleSign-u? Ako želiš da se oprobaš u radu na ovoj ili nekoj drugoj roli, pogledaj profil kompanije na Joberty platformi, gde ćeš pronaći i sve trenutno otvorene pozicije koje nude.

Tagovi

TeleSign

TeleSign povezuje i štiti iskustva korisnika na internetu pomoću sofisticiranih rešenja digitalnog identiteta i programabilnih komunikacija.

Tvoja prijava je uspešno sačuvana!
Odlično! Da bi imao pristup kompletnom sadržaju bloga potrebno je da završiš proces plaćanja.
Tvoja prijava je uspešna!
Tvoj nalog je aktiviran, sada imaš pristup kompletnom sadržaju bloga.