Top 60 pitanja i odgovora na SDET intervjuu (2026.)

Pitanja i odgovori za intervju za SDET

Priprema za probni intervju znači predviđanje izazova i očekivanja. Pitanja za intervju za SDET otkrivaju kako kandidati razmišljaju, provjeravaju kvalitetu, surađuju i dosljedno pretvaraju znanje o automatizaciji u pouzdane inženjerske rezultate.

Ove uloge otvaraju snažne karijerne puteve kako se kvaliteta softvera razvija uz kontinuiranu isporuku. Poslodavci cijene tehničko iskustvo, stručnost u domeni i analizu stečenu radom na terenu, pomažući početnicima, inženjerima srednje razine i višim stručnjacima da primijene vještine, odgovore na uobičajena pitanja i odgovore, podrže timove i riješe složene tehničke izazove za menadžere i starije osobe.
Čitaj više…

👉 Besplatno preuzimanje PDF-a: Pitanja i odgovori za intervju za SDET

Najčešća pitanja i odgovori za intervju za SDET

1) Koja je uloga SDET-a i kako se razlikuje od ručnog testera?

Inženjer za razvoj softvera u testiranju (SDET) odgovoran je za osiguravanje kvalitete softvera integrirajući oba vještine razvoja softvera i stručnost u testiranjuZa razliku od tradicionalnog ručnog testera, SDET piše automatizirane testne skripte, gradi i održava testne okvire te često sudjeluje u raspravama o dizajnu i razvoju u ranoj fazi životnog ciklusa. Od SDET-a se očekuje da automatiziraju repetitivne testove, izgrade alate i pomognu u poboljšanju infrastrukture za testiranje, dok ručni testeri prvenstveno izvršavaju testove ručno i usredotočuju se na istraživačko ili ad-hoc testiranje.

Ključne razlike:

Aspekt SDET Ručni tester
Uključenost u kodiranje visok Nisko ili Ništa
Test automatizacija Primarni fokus minimum
Uključenost u životni ciklus Kroz cijeli SDLC Post-razvoj
Poznavanje alata/okvira potreban Izborni

2) Objasnite životni ciklus testiranja softvera (STLC).

Životni ciklus testiranja softvera (STLC) je niz definiranih faza koje vode proces testiranja softvera. Počinje s razumijevanjem Zahtjevi, zatim se kreće kroz planiranje, dizajn, izvršenje, praćenje nedostataka i zatvaranje testaSvaka faza ima specifične rezultate, ciljeve i kriterije za ulazak/izlazak. STLC osigurava da su aktivnosti testiranja sustavne, mjerljive i usklađene s rasporedom izdavanja softvera.

Tipične STLC faze:

  1. Analiza zahtjeva
  2. Planiranje testiranja
  3. Razvoj testnog slučaja
  4. Postavljanje okruženja
  5. Izvođenje testa
  6. Prijava kvarova
  7. Zatvaranje testa

3) Koja je razlika između prioriteta i ozbiljnosti kvara?

Ozbiljnost opisuje utjecaj greške na aplikaciju - koliko loše utječe na funkcionalnost sustava. Prioritet označava koliko brzo treba ispraviti kvar, često na temelju poslovnih potreba. Greška visoke ozbiljnosti može narušiti rad ključne značajke, dok greška visokog prioriteta može zahtijevati hitnu pažnju zbog utjecaja na kupca ili rokova izdavanja.

Primjer: Tipografska pogreška u korisničkom sučelju ima malu ozbiljnost, ali može imati visok prioritet ako se pojavi na marketinškoj stranici.


4) Opišite elemente dobrog izvješća o grešci.

Trebalo bi biti snažno izvješće o grešci jasno, koncizno i ​​praktičnoBitne komponente uključuju:

  • NaslovKratak sažetak nedostatka
  • DescriptionŠto se očekivalo u odnosu na ono što se dogodilo
  • Koraci za reprodukcijuBrisanje numeriranih koraka
  • okolinaOS, preglednik, verzija
  • Snimke zaslona/ZapisniciDokazi koji pomažu u otklanjanju pogrešaka
  • Ozbiljnost i prioritet

Dobra izvješća o greškama pomažu programerima da brzo razumiju i riješe probleme.


5) Što je automatizacija testiranja i zašto je važna?

Automatizacija testiranja koristi alate i skripte za izvršavanje repetitivnih testnih slučajeva bez ljudske intervencije. Poboljšava konzistentnost, brzina, pokrivenost testovimai učinkovitost resursa — posebno za regresijsko testiranje i cjevovode kontinuirane isporuke. Automatizacija je ključna za velike aplikacije gdje samo ručno testiranje nije dovoljno.


6) Objasnite razliku između testiranja crne kutije i testiranja bijele kutije.

Ispitivanje crne kutije provjerava ponaša li se aplikacija kako se očekuje bez poznavanja internog koda, fokusirajući se na ulaze i izlaze. Testiranje bijele kutije uključuje testiranje unutarnjih struktura (poput puteva koda, petlji i grana), što zahtijeva znanje programiranja. Testni paket često kombinira oboje kako bi se osigurala sveobuhvatna pokrivenost.


7) Što je kontinuirana integracija (CI) i koja je njezina važnost u testiranju?

Kontinuirana integracija je praksa u kojoj se promjene koda često integriraju u dijeljeni repozitorij (često više puta dnevno). Svaka promjena pokreće automatizirane izgradnje i testove - što omogućuje rano otkrivanje problema, održavanje visoke kvalitete koda i podršku brzim povratnim petljama u razvoju. Kontinuirana integracija ključna je za pouzdano automatizirano testiranje i DevOps tijekove rada.


8) Kako biste se nosili s nestabilnim automatiziranim testovima u svom paketu?

Nepouzdani testovi — testovi koji ponekad prođu, a ponekad ne uspiju bez promjena koda — potkopavaju povjerenje. Rješenja uključuju:

  • Stabiliziranje ovisnosti o okolini
  • Izbjegavanje čvrsto kodiranih čekanja
  • Korištenje eksplicitnih čekanja/tvrdnji
  • Izoliranje testova od vanjskih sustava

Nepouzdane testove treba popraviti, staviti u karantenu ili označiti kako bi se smanjila buka u rezultatima.


9) Objasnite model objekta stranice (POM) u automatizaciji testiranja.

Objektni model stranice (POM) je dizajnerski uzorak koji enkapsulira elemente web stranice kao klase objekata s metodama koje opisuju ponašanja. POM poboljšava održavanje i čitljivost odvajanjem logike testiranja od strukture stranice, što pojednostavljuje ažuriranja kada se promijeni korisničko sučelje.


10) Koji su osnovni slojevi okvira za automatizaciju?

Učinkovit okvir za automatizaciju obično sadrži slojeve za:

  • Test skripte
  • Objekti stranice / UI modeli
  • Uslužni programi (pomoćni programi, rukovatelji čekanjem)
  • Konfiguracijski menadžment
  • Izvještavanje
  • Integracija s CI/CD alatima

Ova modularizacija omogućuje jasne odgovornosti i lakša poboljšanja.


11) Kako pristupate testiranju API-ja?

Testiranje API-ja potvrđuje komunikaciju između usluga. Trebali biste provjeriti:

  • Kodovi statusa odgovora
  • Ispravnost tijela odgovora
  • Provjera valjanosti sheme
  • Autentifikacija/autorizacija
  • Mjerne vrijednosti izvedbe

Uobičajeni alati uključuju Postman, Budite uvjerenii Karate.


12) Što je životni ciklus razvoja softvera (SDLC) i kako se testiranje uklapa u njega?

SDLC je cjelovit proces planiranja, stvaranja, testiranja, implementacije i održavanja softvera. Testiranje je integrirano u više faza SDLC-a - od analize zahtjeva do objavljivanja - i pomaže u osiguravanju kvalitete softvera prije isporuke korisnicima. Okviri za automatizaciju i CI/CD potiču ranije izvršavanje testiranja.


13) Kako biste od nule dizajnirali skalabilni okvir za automatizaciju?

Ključni čimbenici pri dizajniranju skalabilnog okvira uključuju:

  • modularnost: komponente za višekratnu upotrebu
  • sposobnost snabdijevanja: lako ažurirani testovi
  • CI/CD integracija
  • Podrška za paralelno izvršavanje
  • Sveobuhvatno izvještavanje
  • Podrška za više preglednika/uređaja

Dobro osmišljen okvir ubrzava izvršavanje testova i prilagođava se rastu projekta.


14) Objasnite razliku između jediničnog testiranja, integracijskog testiranja i sistemskog testiranja.

Vrsta testiranja Svrha Djelokrug
Ispitivanje jedinice Testirajte pojedinačne komponente Razina razvojnog programera
Ispitivanje integracije Validirajte sučelja između modula Više modula
Ispitivanje sustava Validirajte cijeli sustav prema zahtjevima S kraja na kraj

Svaka vrsta ima jedinstvenu ulogu u osiguravanju ukupne kvalitete softvera.


15) Koje programske jezike obično koriste SDET-ovi?

SDET-ovi često koriste jezike poput Java, Pythoni JavaScript zbog bogatog ekosustava i okvira za testiranje. Ovi jezici podržavaju popularne alate poput Selenium, JUnit/TestNG (Java), pytest (Python), A Dramski pisac/Cypress (JavaSkripta).


16) Kako osiguravate kvalitetu koda u skriptama za automatizaciju testiranja?

Osiguravanje kvalitete koda u skriptama za automatizaciju ključno je za dugoročnu održivost i skalabilnost. Visokokvalitetne skripte smanjuju lažno pozitivne rezultate, pojednostavljuju otklanjanje pogrešaka i povećavaju pouzdanost.

Za održavanje kvalitete koda:

  1. Slijedite dosljedne standarde kodiranja (konvencije imenovanja, uvlačenje, komentari).
  2. Implementirajte preglede koda prije spajanja skripti.
  3. Primijenite uzorke dizajna poput Modela objekta stranice ili Tvorničkog uzorka.
  4. Koristite alate za statičku analizu koda (SonarQube, ESLint).
  5. Pišite ponovno dostupne i modularne funkcije.
  6. Uključite kuke za upravljanje vezama i verzijama provoditi disciplinu.

Primjer: U Selenium projekt, osigurajte da se lokatori i akcije pohranjuju u klasama stranica za višekratnu upotrebu, a ne izravno u testnim slučajevima.


17) Koje su različite vrste okvira za automatizaciju testiranja?

Okviri za automatizaciju su strukture koje definiraju kako se testovi organiziraju i izvršavaju. U nastavku su navedene glavne vrste s njihovim prednostima:

Vrsta okvira Description Prednosti
Linearno (snimanje-reprodukcija) Jednostavni scenariji snimljeni sekvencijalno Brzo pokretanje, minimalno postavljanje
Modularni okvir Testni skripti podijeljeni u module Lakše održavanje
Na temelju podataka Podaci o testiranju pohranjeni eksterno (Excel, DB) Fleksibilnost testiranja
Na temelju ključnih riječi Koristi ključne riječi za operacije Mogu sudjelovati i oni koji nisu programeri
Hibrid Kombinira podatke i ključne riječi Visoka mogućnost ponovne upotrebe
Vođeno ponašanjem (BDD) Koristi sintaksu prirodnog jezika (Cucumber, Ponašaj se) Scenariji čitljivi za poslovanje

Moderni SDET projekti često koriste hibrid or BDD okvire za bolju održivost i komunikaciju između QA i programera.


18) Objasnite životni ciklus kvara.

The Životni ciklus defekta (također se naziva životni ciklus greške) definira faze kroz koje greška prolazi od identifikacije do zatvaranja.

Faze uključuju:

  1. Novo – Tester prijavljuje grešku.
  2. Dodijeljeno – Programer pregledava vlasništvo.
  3. Otvoreno / U tijeku – Programer radi na ispravku.
  4. fiksni – Problem riješen.
  5. Uočeno – Tester potvrđuje ispravku.
  6. Potvrđeno / Ponovno otvoreno – Potvrđeno ili ponovno prijavljeno ako je postojano.
  7. Zatvoreno – Problem uspješno riješen.

Održavanje ispravnog statusa nedostataka pomaže timovima da odrede prioritete i točno prate napredak u alatima poput JIRA-e ili Bugzille.


19) Koje su glavne razlike između Selenium i Cypress?

Aspekt Selenium Cypress
Jezična podrška Java, Python, C#, JavaSkripta itd. JavaSamo skripta
Izvršna okolina Radi izvan preglednika putem WebDrivera Radi unutar preglednika
Brzina Nešto sporije Brže izvršenje
Podrška za više preglednika Izvrstan Ograničeno (uglavnom na bazi kroma)
Architektura Klijent-poslužitelj Izravna manipulacija DOM-om
Najbolje za Složeni, veliki okviri Moderne web aplikacije usmjerene na front-end

Zaključak: Selenium ostaje najbolji za međujezičnu fleksibilnost, dok Cypress nudi brže, razvojnim programerima prilagođeno testiranje za moderne JavaSkriptne aplikacije.


20) Kako integrirati automatizirane testove u CI/CD cjevovod?

Integracija automatizacije s CI/CD osigurava da se svaka izrada automatski testira. Koraci uključuju:

  1. Pošaljite kod u repozitorij (npr. GitHub).
  2. CI poslužitelj (Jenkins, GitLab CI, Azure DevOps) okidači grade.
  3. Izvršite testni paket korištenjem skripti (Maven, npm, pytest).
  4. Objavljivanje izvješća (HTML, Allure, izvješća o opsegu).
  5. Označi izgradnju kao prolaznu/neprolaznu na temelju rezultata testiranja.

Ovaj proces omogućuje rano otkrivanje grešaka, kontinuirana povratna informacijai brža izdanja — usklađivanje s DevOps principima.


21) Što je TestNG, i zašto je popularan za automatizirano testiranje?

TestNG (Testiranje sljedeće generacije) je Java okvir za testiranje inspiriran JUnit ali dizajniran za veću fleksibilnost.

Ključne značajke:

  • Podržava paralelno izvršavanje testova
  • Pruža bilješke (@BeforeClass, @Test, @DataProvider)
  • omogućava parametrizacija
  • Ponude snažno izvještavanje
  • omogućuje grupiranje i kontrola ovisnosti

Primjer:

@Test(groups={"smoke"})
public void verifyLogin() {
      // test steps
}

Njegova skalabilnost i čista struktura čine ga idealnim za projekte testiranja na razini poduzeća.


22) Kako biste dizajnirali okvir za testiranje temeljeno na podacima koristeći Selenium i Excel?

A okvir vođen podacima odvaja testnu logiku od testnih podataka, omogućujući pokretanje istog testa s više ulaznih skupova.

Pristup:

  1. Pohranite ulazne/izlazne podatke u Excelu ili CSV-u.
  2. Koristiti Apache POI or OpenCSV za čitanje podataka.
  3. Proslijedite podatke testovima kroz petlju.
  4. Generiraj izvješća po iteraciji podataka.

Prednosti:

  • Ponovna upotreba i fleksibilnost.
  • Učinkovito izvršavanje regresije.
  • Pojednostavljeno održavanje.

Primjer upotrebe: Validacija prijave s različitim kombinacijama korisničkog imena i lozinke pohranjenim u Excelu.


23) Koja je svrha dokumenta o strategiji testiranja?

The Strategija testiranja je dokument visoke razine koji opisuje cjelokupni pristup testiranju za projekt. Obuhvaća:

  • Opseg i ciljevi
  • Razine testiranja (jedinica, integracija, sustav, UAT)
  • Postavljanje testnog okruženja
  • Alati, metrike i opseg automatizacije
  • Strategije smanjenja rizika
  • Ulazni i izlazni kriteriji

To osigurava usklađivanje između dionika i definira jasnu viziju testiranja.


24) Objasnite kako REST API validacija funkcionira u automatiziranim testovima.

API validacija uključuje provjeru ponašanja zahtjeva i odgovora. Korištenje alata poput Budite sigurni, možete učinkovito testirati REST krajnje točke.

Ključne validacije:

  • Statusni kod: 200 U redu, 404 Nije pronađeno, Itd
  • Tijelo odgovora: Struktura sadržaja i vrijednosti.
  • Zaglavlja: Tokeni za autentifikaciju, CORS itd.
  • Shema: Validacija JSON/XML sheme.

Primjer:

given().get("/users")
.then().statusCode(200)
.body("data[0].id", equalTo(1));

Ovaj pristup osigurava da se backend ponaša ispravno i sigurno prije integracije korisničkog sučelja.


25) Koja je razlika između testiranja dimom i testiranja razumnosti?

Kriteriji Ispitivanje dima Testiranje uračunljivosti
Svrha Provjerite osnovnu stabilnost konstrukcije Validirajte određene ispravke grešaka
Dubina Plitko i široko Usko i duboko
Izvođeno od QA inženjeri QA inženjeri
Prikladnost automatizacije visok Često ručno
Kada se provodi Nakon nove gradnje Nakon manjih promjena

Sažetak: Dimni testovi potvrđuju da se izrada može testirati; testovi ispravnosti potvrđuju da nedavni ispravci nisu narušili funkcionalnost.


26) Kako biste dizajnirali okvir za automatizaciju testiranja za arhitekturu mikroservisa?

Mikroservisi uvode više neovisnih servisa koji komuniciraju putem API-ja. Stoga bi se okviri za automatizaciju trebali usredotočiti na Validacija na razini API-ja, testiranje ugovorai integracijsko testiranje.

Pristup:

  1. Koristiti BUDITE UVJERENI, Postman, ili Karate za automatizaciju API-ja.
  2. Održavati izolacija testnih podataka i okruženja korištenjem Docker kontejnera.
  3. Implementirati virtualizacija usluga (Npr WireMock) za nedostupne usluge.
  4. Integrirajte s CI/CD cjevovodi za validaciju kontinuiranog raspoređivanja.
  5. Uključivati testiranje ugovora alate (npr. Pact) kako bi se osigurala kompatibilnost API-ja.

Primjer: Za aplikaciju za e-trgovinu, validirajte svaku uslugu - autentifikaciju, katalog, narudžbu i plaćanje - neovisno putem API automatizacijskih paketa.


27) Objasnite kako možete postići paralelno izvršavanje u Selenium.

Paralelno izvršavanje smanjuje ukupno vrijeme izvršavanja pokretanjem više testnih slučajeva istovremenim pokretanjem.

Metode:

  • TestNG Paralelno izvođenje: Definirajte paralelne testove u testng.xml.
  • Selenium Rešetka: Pokrenite testove na više preglednika/čvorova.
  • Platforme za testiranje u oblaku: Za distribuirane radove koristite servise poput BrowserStacka ili Sauce Labsa.
  • Lučki radnik-Selenium Postaviti: Stvorite kontejnerizirane čvorove za skalabilno izvršavanje.

Primjer XML-a:

<suite name="ParallelTests" parallel="tests" thread-count="3">

Paralelno izvršavanje osigurava brže povratne petlje u CI cjevovodima i ubrzava regresijske cikluse.


28) Koje su prednosti i nedostaci automatiziranog testiranja?

Aspekt Prednosti Nedostaci
Brzina Brzo izvršava testove Početno vrijeme postavljanja
Točnost Uklanja ljudsku pogrešku Ograničeno za istraživačko testiranje
Reus Sposobnost Skripte ponovno korištene u različitim verzijama Režijski troškovi održavanja
Pokrivenost Široka i duboka pokrivenost Postavljanje složenih testnih podataka
Integracija Jednostavna CI/CD kompatibilnost Zahtijeva stručne resurse

Sažetak: Iako automatizacija poboljšava učinkovitost, održavanje velikih kompleksa zahtijeva snažan dizajn okvira i kontinuirano održavanje.


29) Kako se nosite s dinamičkim elementima u Selenium?

Dinamički elementi često mijenjaju svoje atribute (poput ID-a ili klase).

Strategije:

  1. Koristiti XPath funkcije: sadrži(), počinje s(), ili tekst().
  2. preferiraju CSS selektori preko krhkih XPath-ova.
  3. Korak po korak do prijave eksplicitna čekanja (WebDriverWait) umjesto statičkih kašnjenja.
  4. Koristiti relativni lokatori in Selenium 4 (iznad(), blizu(), i tako dalje).

Primjer:

driver.findElement(By.xpath("//button[contains(text(),'Submit')]")).click();

To osigurava stabilnost testa unatoč promjenama DOM-a.


30) Koji su različiti načini za parametrizaciju podataka u TestNG?

Parametrizacija podataka pomaže u ponovnoj upotrebi testova za više skupova podataka.

Pristupi:

  1. @DataProvider Napomena: Programski pruža podatke.
  2. @Parametri u XML-u: Prosljeđuje parametre vremena izvođenja.
  3. Vanjske datoteke: Excel (putem Apache POI), CSV ili JSON.
  4. Izvor baze podataka: Dohvati dinamičke testne podatke iz baze podataka.

Primjer:

@DataProvider(name="loginData")
public Object[][] data(){
return new Object[][]{{"user1","pass1"},{"user2","pass2"}};
}

31) Kako mjerite i poboljšavate performanse automatizacije testiranja?

Za optimizaciju performansi automatizacijskog paketa, uzmite u obzir sljedeće čimbenike:

  • Paralelno izvršavanje testova
  • Selektivne regresijske probe
  • Ismijavanje vanjskih usluga
  • Učinkovito upravljanje testnim podacima
  • Smanjite suvišna čekanja i spavanja
  • Profilirajte spore testove pomoću alata poput Allurea, JUnit izvješća

Mjerni podaci za praćenje:

  • Vrijeme izvršenja po paketu
  • Omjer prolaznosti/neuspjeha testa
  • Nestabilna stopa testiranja
  • Srednje vrijeme do otkrivanja (MTTD)

Poboljšanje zahtijeva kontinuiranu optimizaciju i analizu izvješća s CI/CD nadzornih ploča.


32) Što su lažni objekti i zašto su važni u testiranju?

Lažni predmeti simuliraju stvarne komponente koje nisu dostupne ili su spore tijekom testiranja. One su ključne u jedinično i integracijsko testiranje.

Slučajevi upotrebe:

  • Ismijavanje vanjskih API-ja (plaćanje, e-pošta itd.)
  • Testiranje ovisnih modula prije pune integracije
  • Smanjenje utjecaja mrežne latencije

Primjer: Korištenje Mockito in Java:

UserService mockService = mock(UserService.class);
when(mockService.getUser("123")).thenReturn(new User("John"));

Ismicanja povećavaju pouzdanost i brzinu uklanjanjem vanjskih ovisnosti.


33) Koja je razlika između testiranja opterećenja i testiranja otpornosti na stres?

Tip Svrha Primjer scenarija
Testiranje opterećenja Provjerava performanse pod očekivanim opterećenjem 1000 istodobnih korisnika
Ispitivanje stresa Procjenjuje stabilnost u ekstremnim uvjetima 5000+ istovremenih korisnika ili kvar baze podataka
Ishod Mjeri skalabilnost sustava Određuje točku loma

Korišteni alati: JMeter, Gatling, Skakavac.

Oboje pomaže u prepoznavanju uskih grla i optimizaciji korištenja resursa.


34) Kako možete osigurati pouzdanost testiranja i smanjiti broj nestabilnih neuspjeha testiranja?

Osigurati pouzdanost testa, slijedite ove strategije:

  • Koristiti eksplicitna čekanja umjesto fiksnih kašnjenja.
  • Izbjegavajte ovisnost između testova.
  • Izolirajte testove od podataka o okolišu.
  • Koristiti lažni poslužitelji za stabilne krajnje točke.
  • Zaposliti mehanizmi ponovnog pokušaja i testno označavanje za praćenje trendova ljuštenja.

Nestabilni testovi moraju se evidentirati, staviti u karantenu i analizirati kako bi se održalo povjerenje u rezultate CI testova.


35) Napišite jednostavan isječak koda za provjeru je li niz palindrom koristeći Java.

Ovo je uobičajeno SDET kodno pitanje za procjenu logike i jezične vještine.

public class PalindromeCheck {
public static void main(String[] args) {
    String str = "madam";
    String rev = new StringBuilder(str).reverse().toString();
    if(str.equalsIgnoreCase(rev))
       System.out.println("Palindrome");
    else
       System.out.println("Not Palindrome");
   }
}

Objašnjenje: Niz se obrće pomoću Graditelj nizovaAko je obrnuti niz jednak izvorniku (bez obzira na velika i mala slova), to je palindrom.


36) Kako otkloniti greške u neuspjelom automatiziranom testu?

Otklanjanje pogrešaka jedna je od najvažnijih vještina za SDET-a. Kada test ne uspije, bitno je utvrditi leži li problem u aplikacija, testni skript, ili okolina.

Sustavni pristup otklanjanju pogrešaka:

  1. reproduciraju problem lokalno.
  2. Analiziraj zapisnike (zapisnici aplikacija, izvješća o testiranju, zapisnici CI-ja).
  3. Snimite snimke zaslona i izlaze konzole.
  4. Validiraj selektore ili lokatore pomoću alata za razvojne programere preglednika.
  5. Provjerite odgovore mreže/API-ja (posebno za neuspjehe UI testova).
  6. Revpogledajte nedavne promjene koda u kontroli verzija.
  7. Ponovno pokreni s omogućenim otklanjanjem pogrešaka (Npr TestNG -debug način).

Savjet: Uvijek provjerite jesu li testovi idempotentni - višestruko izvođenje trebalo bi dati isti rezultat.


37) Kako rješavate probleme sa sinkronizacijom u Selenium?

SyncProblemi s kronizacijom javljaju se kada se skripte izvršavaju brže nego što se aplikacija učitava.

Rješenja:

  • Implicitna čekanja: Primjenjuje se globalno (ne preporučuje se za složene testove).
  • Eksplicitna čekanja: Pričekajte određene elemente ili uvjete koristeći WebDriverWait.
  • Tečno čekanje: Omogućuje učestalost ispitivanja i ignoriranje iznimki.

Primjer:

WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("loginBtn")));

Eksplicitna čekanja nude preciznu kontrolu, osiguravajući stabilnost u dinamičkim web aplikacijama.


38) Kako učinkovito kontrolirati verzije automatiziranih testova?

SDET timovi upravljaju testnim kodom baš kao i aplikacijskim kodom.

Najbolje prakse:

  • Koristiti ići za kontrolu verzija.
  • Održavati strategija grananja (značajka, izdanje, glavno).
  • Implementirati zahtjevi za povlačenjem (PR) s recenzijama kolega.
  • Testiranje oznaka s hashovima commita za sljedivost.
  • dućan izvješća o ispitivanjima i artefakti u CI/CD pohrani ili S3 kontejnerima.

Primjer: Repozitoriji automatizacije često zrcale repozitorije aplikacija - jedna grana po ciklusu izdanja kako bi se osigurala usklađenost.


39) Objasnite kako biste testirali REST API krajnju točku koristeći Postman i automatizacija.

Testiranje REST API-ja uključuje provjeru funkcionalnosti, performansi i integriteta podataka.

Korištenje Postman:

  • Kreirajte novi zahtjev s krajnjom točkom i HTTP metodom.
  • Dodajte zaglavlja (Autorizacija, Vrsta sadržaja).
  • Dodajte korisni teret za POST/PUT.
  • Potvrdite status i tijelo odgovora putem skripti (popodne.očekujte).

Korištenje automatizacije (primjer RestAssured):

given().header("Content-Type","application/json")
.when().get("https://api/users/1")
.then().statusCode(200)
.body("data.id", equalTo(1));

Savjet: Uvijek uključi negativno testiranje (npr. nevažeći tokeni ili nedostajući parametri) kako bi se osigurala robusnost.


40) Kako upravljate testnim okruženjima u automatizaciji velikih razmjera?

Upravljanje okruženjem osigurava da automatizacija radi dosljedno u replikama u razvoju, pripremnoj fazi i produkciji.

Najbolje prakse:

  • Pohrani konfiguracije okruženja (URL-ove, vjerodajnice) u vanjske datoteke (YAML, JSON).
  • Implementirati selektori okruženja korištenjem Maven profila ili varijabli okruženja.
  • Koristiti Docker kontejneri dosljedno replicirati okruženja.
  • Održavati izolacija podataka (npr. namjenski testni računi).

Primjer: Koristiti config.properties datoteka za dinamičko učitavanje podataka o okruženju.


41) Koja je razlika između stuba i mocka?

Aspekt iskrčiti ismijavati
Svrha Pruža unaprijed definirane odgovore Potvrđuje ponašanje/interakcije
Upotreba Koristi se za postavljanje podataka Koristi se za utvrđivanje poziva metoda
Verifikacija Nema provjere Ima provjeru očekivanja
Primjer alata Prilagođena lutka klase Mockito okvir

Primjer:

// Mock
verify(mockObject, times(1)).processData();

Lažne metode potvrđuju da se zavisne metode ispravno pozivaju — stubovi vraćaju samo lažne podatke.


42) Kako osiguravate skalabilnost u svojoj arhitekturi automatizacije testiranja?

Skalabilnost osigurava da vaša automatizacija može rasti kako raste i aplikacija.

Temeljna načela:

  1. Modularni dizajn: Odvojene brige (testovi, komunalije, izvješća).
  2. paralelizam: Koristite Grid ili pružatelje usluga u oblaku.
  3. Labava veza: Okvir bi se trebao lako prilagoditi novim modulima.
  4. CI/CD integracija: Kontinuirano izvršavanje u cjevovodima.
  5. Kompatibilnost verzije: Osigurajte podršku za više alata i biblioteka.

Primjer: Slojevi okvira dizajna kao BaseTest, PageObject, Uslužni programii Testovi pakete koji omogućuju jednostavno proširenje.


43) Napišite a Java program za uklanjanje duplikata iz niza.

import java.util.*;
public class RemoveDuplicates {
    public static void main(String[] args) {
        int[] nums = {1, 2, 2, 3, 4, 4, 5};
        Set<Integer> unique = new LinkedHashSet<>();
        for(int n : nums) unique.add(n);
        System.out.println(unique);
    }
}

Objašnjenje: The LinkedHashSet automatski uklanja duplikate uz očuvanje redoslijeda - uobičajeno pitanje SDET kodiranja koje testira osnovno znanje o strukturama podataka.


44) Što je kontinuirano testiranje i kako se ono odnosi na DevOps?

Kontinuirano testiranje (CT) znači testiranje tijekom cijelog životnog ciklusa isporuke softvera - od potvrde koda do implementacije.

Odnos s DevOpsom:

  • CT osigurava automatsku validaciju svake faze cjevovoda.
  • CI/CD alati poput Jenkinsa pokreću testove nakon svakog commita.
  • Ubrzava povratne sprege i osigurava osloboditi samopouzdanje.

Prednosti:

  • Rano otkrivanje kvara
  • Smanjena ručna intervencija
  • Povećana brzina oslobađanja

Primjer: Automatizirani regresijski i dimni testovi pokrenuti su nakon svake spajanja izgradnje prije implementacije.


45) Kako prepoznajete uska grla u performansama web aplikacija?

Uska grla u izvedbi su spore točke koje narušavaju korisničko iskustvo.

Koraci:

  1. Koristite alate kao što su JMeterGatling, ili Lighthouse za profiliranje.
  2. Analizirati vrijeme odziva, propusnosti Korištenje CPU-a/memorije.
  3. Koristiti Alati za upravljanje poslovnim procesima (APM) (Nova relikvija, Dynatrace) za praćenje na razini koda.
  4. Identificirati spori upiti u bazi podataka or Latencija API-ja.
  5. Implementirati keširanje i grupiranje veza optimizacije.

Primjer tablice metrika:

metrički Idealna vrijednost Djelovanje u slučaju kršenja
Vrijeme odziva <2 sekunde Optimizirajte API ili upit baze podataka
Upotreba CPU-a <80% Optimizirajte kod ili povećajte resurse
Memorija Običaj <70% Popravite curenja ili podesite GC

46) Koji se obrasci dizajna koriste u okvirima za automatizaciju testiranja?

Obrasci dizajna pomažu u izradi okvira za automatizaciju testiranja modularan, održivi skalabilan.

Uobičajeni obrasci uključuju:

Uzorak Svrha Primjer
Model objekta stranice (POM) Enkapsulira elemente stranice Selenium okviri
jedna stvar Osigurava instancu jednog upravljačkog programa Klasa postavljanja WebDrivera
Tvornički uzorak Upravlja stvaranjem objekata DriverFactory za preglednike
Strateški obrazac Dinamički podržava više strategija Obrada prijave za različite uloge
Uzorak promatrača Prati testne događaje Slušači zapisivanja za izvješća

Primjer: Korištenje Singleton Pattern za WebDriver sprječava sukob više instanci tijekom paralelnih testova.


47) Kako biste riješili upravljanje testnim podacima u automatizaciji?

Upravljanje testnim podacima (TDM) osigurava pouzdana, ponovljiva i dosljedna izvršavanja testova.

Pristupi:

  1. Statički podaci: Pohranjeno u JSON, XML ili Excel datotekama.
  2. Dinamički podaci: Generirano za vrijeme izvođenja (UUID, vremenska oznaka).
  3. Vođeno bazom podataka: Dohvati stvarne podatke putem upita.
  4. Generirano API-jem: Koristite API pozive prije testiranja za stvaranje probnih podataka.
  5. Maskiranje podataka: Štiti osjetljive informacije u testnim okruženjima.

Najbolja vježba: Čuvajte podatke u vanjskim izvorima, a ne ugrađene u skripte. Koristite tvornice za dinamičko generiranje ulaznih podataka radi skalabilnosti.


48) Koji su neki ključni izazovi u održavanju velikih automatizacijskih paketa?

Uobičajeni izazovi:

  • čest Promjene korisničkog sučelja lokatori prekida.
  • Lagani testovi zbog nestabilnosti okoliša.
  • Sporo izvršenje zbog redundantnih testova.
  • Loše modularizirane skripte povećanje troškova održavanja.
  • Ovisnosti podataka što dovodi do neponovljivih testova.

Rješenja:

  • Posvojiti modularni dizajn okvira.
  • Omogući paralelne vožnje u CI/CD-u.
  • Kontinuirano pregledavajte i odbacite zastarjele testove.
  • Implementirati robusno evidentiranje i praćenje.

49) Kako biste automatizirali testiranje za React ili Angular web aplikaciju?

Moderni front-end frameworkovi (React, Angular) uvelike se oslanjaju na asinhrono renderiranje.

Najbolje prakse:

  1. Koristiti eksplicitna čekanja za rukovanje asinkronim učitavanjem.
  2. preferiraju ID testiranih podataka atributi za stabilne lokatore.
  3. Iskoristite alate poput Cypress, Dramski pisac, ili TestCafe.
  4. potvrditi stanja komponenti i DOM snimke za regresiju.

Primjer:

cy.get('[data-testid="submitBtn"]').click()
cy.url().should('include', '/dashboard')

Zašto: CypressAutomatska čekanja i otklanjanje pogrešaka tijekom putovanja kroz vrijeme čine ga izvrsnim za moderne JS-bazirane aplikacije.


50) Kako se rješava validacija API sheme u automatiziranom testiranju?

Validacija sheme osigurava da odgovori API-ja odgovaraju očekivanim strukturama podataka.

Korištenje RestAssured-a:

given().get("/users/1")
.then().assertThat()
.body(matchesJsonSchemaInClasspath("user-schema.json"));

Prednosti:

  • Rano otkriva nedostajuća ili pogrešno imenovana polja.
  • Jamči unatrag kompatibilnu verziju.
  • Sprječava probleme serijalizacije za vrijeme izvođenja.

Savjet: Držite sheme verzionirane u Gitu uz testove za CI validaciju.


51) Kako se nosite s nekonzistentnim okruženjima tijekom razvoja i osiguranja kvalitete?

Pristupi:

  • Koristiti Lučki radnik or Kubernetes kontejnerizirati okruženja.
  • Pohrani konfiguracije u varijable okoline.
  • Koristiti značajke zastavice za uključivanje/isključivanje nepotpune funkcionalnosti.
  • Automatizirajte pružanje okruženja pomoću Terraform or Ansible.
  • Implementirati lažni poslužitelji za nedostupne API-je.

Cilj: Postići paritet okoliša između razvoja, osiguranja kvalitete i pripreme — eliminirajući probleme „radi na mom računalu“.


52) Objasnite kako možete koristiti Docker u automatiziranom testiranju.

Docker osigurava konzistentna, izolirana testna okruženja.

Upotrijebite slučajeve:

  • Trčanje Selenium Mrežni kontejneri za paralelno testiranje.
  • Lokalno hostiranje web aplikacija i API-ja za integracijske testove.
  • Pakiranje cijelog paketa automatizacije u kontejner.

Primjer naredbe:

docker run -d -p 4444:4444 
selenium/standalone-chrome

To omogućuje trenutno postavljanje bez ručnih konfiguracija preglednika.


53) Što je kontinuirano praćenje i kako se koristi u osiguranju kvalitete?

Kontinuirano praćenje (CM) uključuje praćenje stanja aplikacije u stvarnom vremenu u produkcijskom i testnom okruženju.

Alati: Prometej, Grafana, ELK Stack, Datadog.

Korištenje osiguranja kvalitete:

  • Identificirajte pogreške nakon implementacije.
  • Pratite vrijeme odgovora API-ja i vrijeme rada sustava.
  • Otkrivanje regresija pomoću sintetičkih testova.

Kombinacijom CI, CD i CM, organizacije postižu potpunu vidljivost i pouzdanost tijekom cijelog životnog ciklusa softvera.


54) Kako testirate arhitekture vođene događajima (Kafka, RabbitMQ, itd.)?

Testiranje sustava vođenih događajima zahtijeva validaciju protok poruka, naručivanje i jamstva dostave.

Pristup:

  1. Lažni proizvođači/potrošači.
  2. Provjerite shemu poruke pomoću Avro ili JSON shema.
  3. Validirajte semantiku isporuke barem jednom ili točno jednom.
  4. Simulirajte kvarove kako biste testirali otpornost.

Primjeri alata:

  • Alati za testiranje Kafka streamova
  • Testni spremnici za Kafku
  • WireMock za korisne podatke poruka

55) Koje metrike koristite za mjerenje učinkovitosti automatizacije?

Kvantitativne metrike:

  • Stopa izvršenja testnog slučaja
  • Postotak prolaznosti testa
  • Stopa otkrivanja nedostataka
  • Pokrivenost automatizacije (%)
  • Srednje vrijeme otkrivanja (MTTD) i rješavanja (MTTR)
  • Omjer ljuskavosti

Kvalitativne metrike:

  • sposobnost snabdijevanja
  • Reus Sposobnost
  • Pouzdanost CI integracije

Cilj: Pokažite da automatizacija osigurava povrat ulaganja kroz mjerljiv utjecaj.


56) Kako određujete prioritete testnih slučajeva za automatizaciju?

Faktori prioritizacije:

Faktor obrazloženje
Visok utjecaj na poslovanje Kritični moduli (npr. plaćanje)
Visoka frekvencija regresije Često mijenjane značajke
Repetitivnost Idealno za automatizaciju
Stabilna funkcionalnost Smanjuje održavanje
Tehnička izvedivost API-ji prije dinamičkih korisničkih sučelja

Primjer: Automatizirajte prijavu, naplatu i provjere ispravnosti API-ja prije rijetko korištenih značajki.


57) Kako sigurno upravljate tajnim podacima (tokenima, vjerodajnicama) u automatizaciji testiranja?

Nikada nemojte trajno kodirati tajne u skriptama.

Najbolje prakse:

  • Koristiti varijable okoline or Tajni trezori CI/CD-a.
  • Moć Hashi Corp Vault, AWS Secrets Manager, ili Azure Ključ Vault.
  • Maskirajte osjetljive podatke u izvješćima i zapisnicima.
  • Povremeno rotirajte tajne.

Primjer: System.getenv("API_TOKEN") sigurno dohvaća token tijekom izvođenja.


58) Opišite scenarij iz stvarnog svijeta u kojem ste optimizirali nestabilan paket automatizacije.

Primjer scenarija: Testni paket za e-trgovinu imao je ~20% nestabilnosti zbog sporih odgovora API-ja i dinamičkog renderiranja korisničkog sučelja.

Poduzete radnje:

  • Zamijenjeno je dugo čekanje s eksplicitna čekanja.
  • Provodi logika ponovnog pokušaja za privremene probleme s mrežom.
  • Dodano lažni poslužitelji za vanjske ovisnosti.
  • Konfigurirano CI cjevovod izolirati neuspješne testove za pregled.

Rezultat: Ljuskavost smanjena s 20% na <3%, što poboljšava pouzdanost cjevovoda i povjerenje programera.


59) Koja je razlika između testiranja pomicanja ulijevo i pomicanja udesno?

Pristup Definicija Područje fokusa
Shift-Lijevo testiranje Rano testiranje u SDLC-u Jedinica, integracija, automatizacija CI-ja
Shift-Pravilno testiranje Testiranje nakon implementacije Praćenje proizvodnje, A/B testovi
Cilj Spriječite nedostatke rano Promatrajte ponašanje korisnika u stvarnom vremenu

Primjer: Shift-left = integriranje jediničnih testova u CI.

Shift-right = praćenje latencije API-ja u produkciji.


60) Bihevioralno pitanje — Kako se nosite sa situacijom kada vaš automatizacijski paket zakaže prije roka za objavu?

Okvir za odgovore (STAR ​​metoda):

  • Situacija: Vaš regresijski paket ne uspijeva s 30% crvenih testova prije implementacije.
  • Zadatak: Utvrdite je li problem u kodu ili okruženju.
  • Akcijski:

    • Analizirajte CI zapise.
    • Prvo pokrenite odjel za kritično dimljenje.
    • Surađujte s programerima kako biste ispravili blokirajuće nedostatke.
    • Zabilježite nestabilne testove za pregled nakon objavljivanja.
  • Rezultat: Isporučeno izdanje na vrijeme s validiranim kritičnim tokovima uz stabilizaciju automatizacije u sljedećem sprintu.

Pokazane ključne kvalitete: Odgovornost, analitičko razmišljanje, suradnja i upravljanje rizicima.

🔍 Najčešća pitanja za intervju za SDET sa stvarnim scenarijima i strateškim odgovorima

1) Kako razlikujete ulogu SDET-a od tradicionalnog QA inženjera?

Očekivano od kandidata: Anketar želi procijeniti vaše razumijevanje uloge SDET-a i kako ona nadilazi ručno testiranje i uključuje odgovornosti inženjera i automatizacije.

Primjer odgovora: SDET se razlikuje od tradicionalnog QA inženjera po tome što je jače usmjeren na vještine razvoja softvera. SDET je odgovoran za dizajniranje okvira za automatizaciju, pisanje testnog koda na produkcijskoj razini i integraciju testiranja u životni ciklus razvoja. U svojoj prethodnoj ulozi blisko sam surađivao s programerima kako bih osigurao da su testnost i kvaliteta ugrađeni u aplikaciju od samog početka.


2) Koje ste okvire za automatizaciju testiranja dizajnirali ili s kojima ste radili i zašto ste ih odabrali?

Očekivano od kandidata: Anketar procjenjuje vaše praktično iskustvo s okvirima za automatizaciju i vašu sposobnost donošenja informiranih tehničkih odluka.

Primjer odgovora: Radio sam s okvirima za automatizaciju vođenim podacima i ponašanjem. Na prethodnoj poziciji odabrao sam modularni okvir jer je poboljšao održavanje i omogućio paralelno izvršavanje testova. Izbor je bio vođen veličinom projekta, skupom vještina tima i potrebom za jednostavnom integracijom s kontinuiranim integracijskim cjevovodima.


3) Kako osiguravate da automatizacija testiranja ostane stabilna i održiva tijekom vremena?

Očekivano od kandidata: Žele razumjeti vaš pristup dugoročnom upravljanju stanjem automatizacije i tehničkim dugom.

Primjer odgovora: Stabilnost osiguravam slijedeći principe čistog koda, primjenjujući pravilnu obradu pogrešaka i redovito refaktorirajući testne skripte. Na prethodnom poslu uveo sam preglede koda za automatizaciju i dodao detaljno evidentiranje, što je značajno smanjilo nestabilne testove i poboljšalo učinkovitost otklanjanja pogrešaka.


4) Opišite situaciju u kojoj ste pronašli kritičan nedostatak kasno u ciklusu izdanja. Kako ste to riješili?

Očekivano od kandidata: Ovo pitanje testira vaše vještine rješavanja problema, komunikaciju i sposobnost upravljanja stresnim situacijama.

Primjer odgovora: U svojoj posljednjoj ulozi, identificirao sam kritičan problem s performansama neposredno prije objavljivanja. Odmah sam obavijestio dionike o riziku, pružio jasne korake reprodukcije i surađivao s programerima kako bi provjerio rješenje. Davanjem prioriteta transparentnosti i suradnji izbjegli smo objavljivanje neispravne značajke.


5) Kako odlučujete koji testni slučajevi trebaju biti automatizirani, a koji ručno testirani?

Očekivano od kandidata: Anketar želi vidjeti vaše strateško razmišljanje i razumijevanje optimizacije testiranja.

Primjer odgovora: Automatizaciji dajem prioritet za repetitivne, visokorizične i regresijske testne slučajeve. Ručno testiranje je prikladnije za istraživačke i scenarije upotrebljivosti. Ovaj uravnoteženi pristup osigurava učinkovitu pokrivenost uz maksimiziranje vrijednosti automatizacijskih napora.


6) Kako integrirate testiranje u cjevovod kontinuirane integracije i kontinuirane isporuke?

Očekivano od kandidata: Procjenjuju vaše iskustvo s DevOps praksama i zrelošću automatizacije.

Primjer odgovora: Integriram automatizirane testove u proces tako da se pokreću pri svakom potvrđivanju koda i implementaciji. Dim testovi se pokreću rano, a zatim u kasnijim fazama slijede regresijski paketi. To osigurava brzu povratnu informaciju i pomaže u što ranijem otkrivanju nedostataka.


7) Recite mi o situaciji kada ste morali odgoditi objavu zbog zabrinutosti oko kvalitete.

Očekivano od kandidata: Ovo procjenjuje vašu prosudbu, komunikacijske vještine i predanost kvaliteti.

Primjer odgovora: Jednom sam primijetio neriješene nedostatke velike ozbiljnosti koji su predstavljali rizik za korisnike. Predstavio sam jasne podatke i rezultate testiranja vodstvu, objašnjavajući potencijalni utjecaj. Fokusirajući se na činjenice, a ne na mišljenja, uspio sam utjecati na odluku o odgodi objavljivanja.


8) Kako se nosite s kratkim rokovima kada zadaci automatizacije nisu dovršeni?

Očekivano od kandidata: Intervjuer želi razumjeti vaše prioritete i prilagodljivost pod pritiskom.

Primjer odgovora: Prvo se usredotočujem na automatizaciju najkritičnijih putova i komuniciram realna očekivanja. Po potrebi automatizaciju nadopunjujem ciljanim ručnim testiranjem. Ovaj pristup osigurava pokrivenost bez ugrožavanja rokova isporuke.


9) Koje metrike koristite za mjerenje učinkovitosti svojih napora testiranja?

Očekivano od kandidata: Žele uvid u to kako kvantificirate kvalitetu i pratite napredak.

Primjer odgovora: Koristim metrike kao što su otkrivanje nedostataka, pokrivenost automatizacijom, vrijeme izvršavanja testova i trendovi neuspjeha. Ove metrike pomažu u prepoznavanju nedostataka u testiranju i usmjeravaju inicijative za kontinuirano poboljšanje.


10) Kako održavate svoje vještine ažuriranima kao SDET?

Očekivano od kandidata: Ispitivač procjenjuje vašu predanost kontinuiranom učenju u brzo razvijajućem području.

Primjer odgovora: Redovito proučavam nove alate za testiranje, programerske prakse i trendove u industriji putem tehničkih blogova, online tečajeva i praktičnog eksperimentiranja. Praćenje novosti omogućuje mi da u svoj tim uvedem moderne i učinkovite prakse testiranja.

Sažmite ovu objavu uz: