39 top automation testing interview questions
Najpogostejša vprašanja o intervjujih za avtomatizacijo za začetnike in kandidate za napredni nivo:
Avtomatizacija preskusov igra zelo pomembno vlogo v celotnem življenjskem ciklu programske opreme. Večino časa, ko se želimo pripraviti na razgovor za preizkus avtomatizacije, se osredotočimo le na vprašanja, ki so značilna za orodje.
Upoštevati pa moramo tudi dejstvo, da je učenje in poznavanje orodja zgolj sredstvo in ni končni cilj.
Kadar se torej pripravljamo na razgovor s preizkuševalcem avtomatizacije, moramo razmisliti o »Avtomatizaciji« kot celoti in se osredotočiti na okvir in vključene korake.
Vsi vemo, da je testiranje programske opreme zelo pomemben del razvoja programske opreme. Toda s hitro rastočimi metodologijami in okoljimi za razvoj programske opreme je težko ročno preizkusiti vse za aplikacijo v omejenem času, skupaj z omejitvami stroškov.
Tako testiranje avtomatizacije hitro raste na trgu, da pospeši razvoj. Ta vadnica vključuje najboljša vprašanja za razgovore o testiranju avtomatizacije. Poskušal sem navesti kratka in hitra vprašanja, ki so zelo značilna za avtomatizacijo kot celoto in niso značilna za nobeno 'orodje'.
Najpogostejših 39 vprašanj za intervjuje z avtomatizacijo
Obravnavali smo osnovna vprašanja o avtomatizaciji preizkusov in nekatera napredna vprašanja za kandidate od srednje do strokovne ravni z izkušnjami do 2 do 5 let.
V # 1) Kaj je avtomatizacija?
Odgovor: Avtomatizacija je vsako dejanje, ki lahko zmanjša človeške napore.
V # 2) Kaj je testiranje avtomatizacije?
Odgovor: Postopek uporabe posebnih programskih orodij ali skriptov za izvajanje preizkusnih nalog, kot so vnašanje podatkov, izvajanje preizkusnih korakov in primerjava rezultatov itd., Je znan kot avtomatizirano testiranje.
V # 3) Katere stvari lahko avtomatizirate?
Odgovor:
- Paket regresijskih testov
- Smoke / Sanity test suite
- Zgradite uvajanje
- Preizkusite ustvarjanje podatkov
- Avtomatizacija za GUI, kot je testiranje API-jev in metod.
V # 4) Kdaj je testiranje avtomatizacije koristno?
Odgovor: Preizkušanje avtomatizacije je koristno v naslednjih primerih:
a) Regresijsko testiranje: V primeru odprave napak ali izvedbe novega modula se moramo prepričati, da to ne vpliva na že implementirano ali nespremenjeno funkcionalnost. V tem primeru na koncu večkrat zaženemo test regresije.
Na primer: Po vsaki zahtevi za spremembo ali odpravi napake, po vsaki ponovitvi v primeru postopnega razvojnega pristopa itd.
b) Nefunkcionalno preskušanje: Testiranje nefunkcionalnih vidikov aplikacije.
Na primer, Preskušanje obremenitve ali preizkušanje zmogljivosti itd. Je ljudem zelo težko slediti in analizirati.
c) Kompleksen izračun preverjanja ali preskusne scenarije, ki so nagnjeni k človeškim napakam.
d) Ponavljanje istih preskusov: Včasih moramo izvesti isti nabor testnih primerov za drugačen nabor podatkov ali po vsaki izdaji zgradbe ali na več strojni opremi, programski opremi ali kombinaciji obeh.
Avtomatizacija testnih primerov v zgornjih scenarijih pomaga doseči hitrost testiranja in zmanjšati človeške napake.
V # 5) Kako prepoznate testne primere, ki so primerni za avtomatizacijo?
Odgovor: Ugotovitev ustreznih testnih primerov za avtomatizacijo je najpomembnejši korak k avtomatizaciji.
V # 6) Ali lahko dosežete 100% avtomatizacijo?
Odgovor: 100-odstotno avtomatizacijo bi bilo težko doseči, ker bi bilo veliko robnih testnih primerov in nekaj primerov, ki se izvajajo redko. Avtomatizacija teh primerov, ki se ne izvajajo, pogosto ne bo dodala vrednosti avtomatiziranemu paketu.
V # 7) Kako se odločiti za orodje, ki ga je treba uporabiti za testiranje avtomatizacije v svojih projektih?
Odgovor: Da bi v vašem projektu prepoznali orodje za preizkušanje avtomatizacije:
do) Temeljito razumejte svoje projektne zahteve in določite preskusne scenarije, ki jih želite avtomatizirati.
b) Poiščite seznam orodij, ki podpirajo zahteve vašega projekta.
c) Določite svoj proračun za orodje za avtomatizacijo. Izberite orodja v okviru svojega proračuna.
d) Ugotovite, ali že imate kvalificirane vire za orodja. Če nimate potrebnih kvalificiranih virov, potem določite stroške za usposabljanje obstoječih virov ali najem novih virov.
je) Zdaj primerjajte vsako orodje za ključne kriterije, kot so:
- Kako enostavno je razviti in vzdrževati skripte za orodje?
- Ali lahko tudi netehnična oseba izvede testne primere z malo usposabljanja?
- Ali orodje podpira različne vrste platform, kot so spletna, mobilna, namizna itd. Glede na vaše projektne zahteve?
- Ali ima orodje funkcionalnost poročanja o preskusih? Če ne, ali je orodje enostavno nastavljivo?
- Kako je orodje za podporo med brskalniki za spletne aplikacije?
- Koliko različnih vrst testiranja lahko podpira to orodje?
- Koliko jezikov podpira orodje?
f) Ko primerjate orodja, izberite orodje, ki je v vašem proračunu in podpira vaše projektne zahteve, ter vam nudi več prednosti na podlagi zgoraj omenjenih ključnih meril.
V # 8) Trenutno v svojem projektu nimam vzpostavljene avtomatizacije, zdaj pa želim uvesti avtomatizacijo, kakšni bi bili moji koraki?
Odgovor:
- Najprej določite, katero vrsto testiranja / testnih primerov želite avtomatizirati.
- Določite orodje
- Oblikujte okvir
- Ustvarite pomožne datoteke in datoteke okolja.
- Začnite skriptirati
- Ugotovite in delajte na poročanju.
- Dodelitev časa za izboljšanje in vzdrževanje scenarijev.
Koraki, potrebni za vzpostavitev avtomatiziranega testiranja za projekt, vključujejo:
- Razumevanje prednosti in slabosti testiranja avtomatizacije in opredelitev testnih scenarijev, ki so primerni za avtomatizacijo.
- Izberite orodje za avtomatizacijo, ki je najbolj primerno za avtomatizacijo prepoznanih scenarijev
- Poiščite strokovnjaka za orodje, ki vam bo pomagal pri nastavitvi orodja in potrebnega okolja za izvajanje testnih primerov z orodjem.
- Usposobite ekipo, da bo lahko pisala skripte v programskem jeziku, ki ga orodje podpira.
- Ustvarite testni okvir ali določite že obstoječega, ki ustreza vašim zahtevam.
- Napišite načrt izvedbe za OS, brskalnike, mobilne naprave itd.
- Napišite scenarije za programiranje ročnih testnih primerov, da jih pretvorite v avtomatizirane testne primere.
- Poročajte o stanju testnega primera z uporabo funkcije poročanja orodja.
- Vzdržujte skripte za tekoče spremembe ali nove funkcije.
V # 9) Kako se odločite, katero orodje morate uporabiti?
Odgovor: Sklepno katero orodje je najprimernejše kajti projekt zahteva veliko razmišljanj in razprav.
V # 10) Ko boste prepoznali orodje, kakšni bodo vaši nadaljnji koraki?
Odgovor: Ko bomo orodje dokončno oblikovali, bo naš naslednji korak oblikovanje okvira.
V # 11) Kaj je ogrodje?
Odgovor: Okvir je sklop strukture celotnega kompleta za avtomatizacijo. To je tudi vodilo, ki lahko, če ga upoštevate, povzroči strukturo, ki jo je enostavno vzdrževati in izboljševati.
Te smernice vključujejo:
- Standardi kodiranja
- Ravnanje s testnimi podatki
- Vzdrževanje in obdelava elementov (skladišče objektov v QTP)
- Ravnanje z datotekami okolja in datoteko lastnosti
- Poročanje podatkov
- Ravnanje s hlodi
V # 12) Kateri so atributi dobrega okvira?
Odgovor: Značilnosti vključujejo:
- Modularno: Okvir mora biti prilagodljiv spremembam. Preizkuševalci bi morali biti sposobni spreminjati skripte glede na okolje ali spremembe podatkov za prijavo.
- Za večkratno uporabo: Pogosto uporabljene metode ali pripomočki naj bodo zapisani v skupni datoteki, ki je dostopna vsem skriptom.
- Dosledno: Paket mora biti napisan v dosledni obliki z upoštevanjem vseh sprejetih praks kodiranja.
- Neodvisno: Scenariji naj bodo napisani tako, da bodo neodvisni drug od drugega. V primeru, da en test ne uspe, ne sme zadrževati preostalih testnih primerov (razen če gre za prijavno stran)
- Dnevniki: Dobro je, da smo v ogrodje implementirali funkcijo beleženja. To bi pomagalo, če bi se naši skripti izvajali dlje ure (recimo nočni način), če skript kadar koli odpove, nam bo datoteka dnevnika pomagala zaznati lokacijo skupaj z vrsto napake.
- Poročanje: Dobro je, če je funkcija poročanja samodejno vgrajena v ogrodje. Ko je skriptiranje končano, lahko rezultate in poročila pošljemo po e-pošti.
- Integracija: Okvir za avtomatizacijo mora biti tak, da ga je mogoče enostavno integrirati z drugimi aplikacijami, kot je nenehna integracija ali sprožitev avtomatiziranega skripta takoj, ko je gradnja uvedena.
V # 13) Ali lahko brez okvira?
Odgovor: Okviri so smernice in niso obvezna pravila, zato lahko storimo tudi brez okvira, vendar če bi ga ustvarili in mu sledili, bi bilo izboljšanje in vzdrževanje enostavno izvesti.
V # 14) Katere vrste orodja za avtomatizacijo poznate?
Odgovor: Odprtokodno orodje, kot so Selenium, JMeter itd.
Plačljiva orodja, kot so QTP, Load Runner, Ranorex, RFT in Rational Robot.
V # 15) Kakšna je na splošno struktura ogrodja?
Odgovor: Običajno bi morala imeti struktura - (To bi se razlikovalo od projekta do projekta)
- Mapa 'src' (izvor) z dejanskimi preizkusnimi skripti.
- Mapa 'lib' (knjižnica), ki vsebuje vse knjižnice in običajne metode.
- Mapa »class«, ki vsebuje vso datoteko razreda (v primeru, da uporabljamo javo).
- Mapa »dnevnik«, ki vsebuje dnevniške datoteke.
- Datoteka / mapa z vsemi ID-ji spletnega elementa.
- Datoteka, ki vsebuje URL, okolje in podatke za prijavo.
Q # 16) Kje boste hranili podatke, kot so URL, prijava, geslo?
Odgovor: Te podatke je treba vedno hraniti v ločeni datoteki.
V # 17) Zakaj želite tovrstne podatke hraniti v ločeni datoteki in ne neposredno v kodi?
Odgovor: URL, prijava in gesla so vrste polj, ki se uporabljajo zelo pogosto in se spreminjajo glede na okolje in pooblastila. Če ga trdo kodiramo v svojo kodo, ga moramo spremeniti v vsaki datoteki, ki ima svojo referenco.
Če je datotek več kot 100, je zelo težko spremeniti vseh 100 datotek, kar pa lahko privede do napak. Torej se tovrstne informacije hranijo v ločeni datoteki, tako da je posodabljanje enostavno.
V # 18) Katere so različne vrste ogrodja?
Odgovor: Različne vrste okvirov vključujejo:
- Okvir na podlagi ključnih besed
- Okvir, ki temelji na podatkih
- Hibridni okvir
- Linearno skriptiranje
Q # 19) Ali lahko med avtomatizacijo poveste nekaj dobrih praks kodiranja?
Odgovor: Nekatere dobre prakse kodiranja vključujejo:
- Dodajte ustrezne komentarje.
- Določite metode za večkratno uporabo in jih zapišite v ločeno datoteko.
- Upoštevajte pravila kodiranja za posamezne jezike.
- Podatke o preskusu hranite v ločeni datoteki.
- Redno izvajajte skripte.
V # 20) Kakšen test, za katerega menite, da ga ne bi smeli avtomatizirati?
Odgovor:
- Testi, ki se redko izvajajo.
- Raziskovalno preskušanje
- Preskus uporabnosti
- Preizkus, ki se izvede hitro, če ga opravite ročno.
V # 21) Ali menite, da je testiranje mogoče izvajati samo na ravni uporabniškega vmesnika?
naredi kopijo polja Java
Odgovor: Danes, ko prehajamo v način Agile, testiranje ni omejeno na sloj uporabniškega vmesnika. Zgodnje povratne informacije so za agilni projekt nujne. Če se osredotočimo samo na sloj uporabniškega vmesnika, dejansko čakamo, dokler uporabniški vmesnik ni razvit in na voljo za testiranje.
Namesto tega lahko testiramo, še preden je uporabniški vmesnik dejansko razvit. API-je ali metode lahko neposredno preizkusimo z orodji, kot sta Kumara in FitNesse .
Na ta način povratne informacije pošiljamo veliko zgodaj in testiramo še preden je uporabniški vmesnik razvit. Upoštevanje tega pristopa nam bo pomagalo preizkusiti samo vidik GUI majhnih kozmetičnih sprememb ali nekaterih preverjanj uporabniškega vmesnika in razvijalcem pomagalo tako, da bo imelo več časa za odpravo napak.
V # 22) Kako izberete, katero orodje za avtomatizacijo je najbolj primerno za vas?
Odgovor: Izbira orodja za avtomatizacijo je odvisna od različnih dejavnikov, kot so:
- Obseg aplikacije, ki jo želimo avtomatizirati.
- Stroški upravljanja, kot so stroški in proračun.
- Čas je za učenje in izvajanje orodja.
- Vrsta podpore, ki je na voljo za orodje.
- Omejitev orodja
Q # 23) Kaj po vašem mnenju preizkuševalce ovira pri avtomatizaciji? Ali obstaja način, kako to premagati?
Odgovor: Glavna ovira za preizkuševalce je, da se naučijo programiranja / kodiranja, kadar želijo avtomatizirati. Ker preizkuševalci ne kodirajo, je prilagajanje kodiranju za izpraševalce nekoliko zahtevno.
Lahko ga premagamo z:
- Sodelovanje z razvijalci pri avtomatizaciji.
- Glede na to, da je za avtomatizacijo odgovorna celotna ekipa in ne samo preizkuševalci.
- Posvetite si čas in se osredotočite na avtomatizacijo.
- Pridobivanje ustrezne vodstvene podpore.
Ta vprašanja o intervjujih za avtomatizacijo lahko shranite kot pdf in jih natisnete za nadaljnje branje.
V # 24) Kaj je okvir za testiranje avtomatizacije?
Odgovor: Okvir je na splošno sklop smernic. Nabor smernic, predpostavk, konceptov in praks kodiranja za ustvarjanje izvedbenega okolja, v katerem bodo preskusi avtomatizirani, je znan kot okvir za avtomatizacijo preskusov.
Okvir za avtomatizacijsko testiranje je odgovoren za izdelavo preskusnega pasu z mehanizmom za povezavo s preskušano aplikacijo, jemanje vhodnih podatkov iz datoteke, izvajanje testnih primerov in ustvarjanje poročil za izvedbo preizkusa. Okvir za avtomatizacijo mora biti neodvisen od aplikacije in enostaven za uporabo, spreminjanje ali razširitev.
V # 25) Kateri so pomembni moduli ogrodja za avtomatizacijo?
Odgovor: Pomembni moduli okvira za preizkušanje avtomatizacije so:
- Orodje za preizkušanje trditev: To orodje bo zagotovilo trditve za preizkušanje pričakovanih vrednosti v preizkušeni aplikaciji. Na primer. TestNG, Junit itd.
- Nastavitev podatkov: Vsak testni primer mora uporabniške podatke zajeti bodisi iz baze podatkov bodisi iz datoteke ali vdelane v testni skript. Podatkovni modul Frameworks mora skrbeti za vnos podatkov za testne skripte in globalne spremenljivke.
- Orodje za upravljanje zgradbe: Za izdelavo testnih skriptov je treba zgraditi in razviti ogrodje.
- Orodje za stalno integracijo: Z vzpostavljenim sistemom CICD (stalna integracija in nenehen razvoj) je potrebno orodje za neprekinjeno integracijo za vključevanje in uvajanje sprememb, narejenih v okviru na vsaki ponovitvi.
- Orodje za poročanje: Za boljši pregled korakov, rezultatov in napak je za izdelavo berljivega poročila po izvedbi testnih primerov potrebno orodje za poročanje.
- Orodje za beleženje: Orodje za beleženje v okviru pomaga pri boljšem odpravljanju napak in napak.
V # 26) Pojasnite nekatera orodja za testiranje avtomatizacije.
Odgovor: Nekatera znana orodja za testiranje avtomatizacije so razložena spodaj:
(i) selen : Selen je testni okvir za testiranje avtomatizacije spletnih aplikacij. Podpira več brskalnikov in je neodvisen od operacijskega sistema. Selen podpira tudi različne programske jezike, kot so Java, C #, PHP, Ruby in Perl itd.
Selen je odprtokodni nabor knjižnic, ki se lahko uporablja za razvoj dodatnih testnih okvirov ali testnih skriptov za testiranje spletnih aplikacij.
(ii) UFT : Poenoteno funkcionalno testiranje je licencirano orodje za funkcionalno testiranje. Ponuja široko paleto funkcij, kot so API-ji, spletne storitve itd., Podpira pa tudi več platform, kot so namizja, splet in mobilne naprave. UFT skripte so napisane v osnovnem vizualnem skriptnem jeziku.
(II) epohe : Appium je odprtokodno orodje za testiranje mobilnih aplikacij. Uporablja se za avtomatizacijo testiranja na medplatformnih, izvornih, hibridnih in spletnih aplikacijah. Appium avtomatizira katero koli mobilno aplikacijo iz katerega koli jezika s popolnim dostopom do API-jev in DB-jev iz testne kode.
Appium temelji na arhitekturi odjemalec-strežnik in se je razvil iz selena.
(iv) kumare : Kumara je odprtokodno razvojno orodje, ki temelji na vedenju. Uporablja se za spletno testiranje avtomatizacije aplikacij in podpira jezike, kot so ruby, java, scala, groovy itd. Kumara bere izvršljivo specifikacijo, napisano v navadnem besedilu, in preizkuša aplikacijo za te specifikacije.
Da bo kumara razumela scenarije v navadnem besedilu, moramo upoštevati nekaj osnovnih sintaksnih pravil, ki jih imenujemo Gherkin.
(v) TestComplete : TestComplete je licencirano avtomatizirano orodje za testiranje uporabniškega vmesnika za testiranje aplikacije na različnih platformah, kot so namizja, splet, mobilna naprava itd. Omogoča prilagodljivost snemanja testnega primera v enem brskalniku in zagon v več brskalnikih in tako podpira testiranje med brskalniki.
TestComplete ima vgrajen algoritem za prepoznavanje predmetov, ki enolično identificira predmet in ga shrani v repozitorij.
V # 27) Katere so različne vrste testnih tehnik ogrodja?
Odgovor: Obstajajo štiri vrste tehnik ogrodja za avtomatizacijo.
To so:
(i) Modularni preskusni okvir:
Ta okvir temelji na konceptu abstrakcije. V tem okviru tester ustvari skripte za vsak modul preskušane aplikacije posebej, nato pa te skripte v hierarhičnem vrstnem redu kombinira, da ustvari velike testne primere.
Ustvari abstrakcijski sloj med moduli, zato kakršne koli spremembe testnih skriptov za en modul ne vplivajo na druge module.
Prednosti tega okvira:
- Lažje vzdrževanje in razširljivost testnih primerov.
- Ustvarjanje testnih primerov z uporabo že napisanih modulov je enostavnejše in hitrejše.
Slabosti:
- V testnih primerih so vdelani podatki. Tako je izvajanje istega preizkusnega skripta z različnimi podatki velika sprememba na ravni skripta.
(ii) Okvir preskušanja na podlagi podatkov:
V okviru za preskušanje, ki temelji na podatkih, se vhodni podatki in pričakovani izhodni podatki, ki ustrezajo vhodnim podatkom, shranijo v datoteko ali bazo podatkov, avtomatizirani skript pa izvaja isti niz preskusnih korakov za več naborov podatkov. S tem ogrodjem lahko izvajamo več testnih primerov, kjer se razlikujejo samo vhodni podatki in so koraki izvedbe enaki.
Prednosti:
- Zmanjša število testnih skriptov, ki jih je treba izvesti. Isti skript izvedemo večkrat z različnimi podatki.
- Manj kodiranja za testiranje avtomatizacije.
- Večja prilagodljivost za vzdrževanje in odpravljanje napak ali izboljšanje funkcionalnosti.
- Podatke o preskusu je mogoče ustvariti še preden je avtomatiziran sistem za testiranje pripravljen.
Slabosti:
- Za več naborov podatkov je mogoče kombinirati samo podobne testne primere z enakim nizom izvedbenih korakov. Za različne korake izvedbe je potreben drugačen testni primer.
(iii) Okvir testiranja na podlagi ključnih besed:
To je od aplikacije neodvisen testni okvir, ki uporablja tabele podatkov in samoumevne ključne besede. Ključne besede pojasnjujejo dejanja, ki jih je treba izvesti na preizkušeni aplikaciji, podatkovna tabela pa vsebuje vhodne in pričakovane izhodne podatke.
Testiranje na podlagi ključnih besed je dodatek k podatkovnemu testiranju.
Prednosti:
- Manj kodiranja in isti skript je mogoče uporabiti za več naborov podatkov.
- Strokovno znanje ni potrebno za izdelavo testnega primera z uporabo že obstoječih ključnih besed za dejanja.
- Iste ključne besede je mogoče uporabiti v več testnih primerih.
Slabosti:
- Ta okvir je bolj zapleten, saj mora skrbeti za dejanja s ključnimi besedami in tudi za vnos podatkov.
- Testni primeri se podaljšajo in zapletejo, kar vpliva na vzdržnost istih.
(iv) Hibridni preskusni okvir:
Ta okvir je kombinacija vseh zgoraj omenjenih preskusnih okvirov (modularni, na podlagi podatkov in na podlagi ključnih besed).
V tem okviru so testni primeri razviti iz modularnih skriptov, tako da jih kombiniramo v modularnem testnem okviru. Vsak od testnih primerov uporablja skript gonilnika, ki uporablja podatkovno datoteko kot v podatkovno usmerjenem okviru in dejalno datoteko na podlagi ključnih besed.
Prednosti:
- Modularna in enostavna za vzdrževanje.
- Manj kodiranja lahko poskrbi za več testnih primerov.
- En testni primer lahko izvedemo z več nabori podatkov.
Slabosti:
- Kompleksno za branje, vzdrževanje in izboljšanje.
V # 28) Kdaj imate raje ročno preskušanje kot preizkušanje avtomatizacije?
Odgovor: V naslednjih primerih imamo raje ročno preskušanje kot preizkušanje avtomatizacije:
- Projekt je kratkoročen, pisanje skriptov pa bo v primerjavi z ročnim testiranjem zamudno in drago.
- Potrebna je prilagodljivost. Avtomatizirani testni primeri se programirajo in izvajajo na poseben način konfiguracij.
- Izvesti je treba preizkus uporabnosti.
- Aplikacije / modul je na novo razvit in nima predhodnih testnih primerov.
- Izvesti je treba priložnostna ali raziskovalna testiranja.
V # 29) Ali je testiranje avtomatizacije v agilni metodologiji koristno ali ne?
Odgovor: Avtomatizirano testiranje je koristno za testiranje regresije, dima ali razuma. Vse te vrste preskušanj v tradicionalnem modelu slapov se zgodijo na koncu cikla in včasih, če aplikacije ni veliko izboljšav, morda niti ne bomo morali regresijsko testiranje .
Ker pa v agilna metodologija , vsaka ponovitev zahteva izvajanje regresijskega testnega primera, saj so dodane nekatere nove funkcionalnosti.
Tudi regresijska zbirka po vsakem sprintu nenehno raste, saj je treba za naslednji sprint regresijski zbirki dodati funkcionalne testne primere trenutnega modula sprinta.
Tako je preizkušanje avtomatizacije v agilni metodologiji zelo koristno in pomaga doseči največjo pokritost s testom v krajšem času sprinta.
V # 30) Naštejte nekaj prednosti in slabosti preizkusov avtomatizacije.
Odgovor:
Prednosti:
- Manj človeških virov
- Ponovna uporabnost
- Več pokritosti s testom v krajšem času
- Zanesljivost
- Vzporedno izvajanje testnih primerov
- Hitro
Slabosti:
odstranjevanje elementov iz java polja
- Časa za razvoj in vzdrževanje je več.
- Stroški orodja
- Potrebna so usposobljena sredstva.
- Nastavitev okolja
- Težava je odpravljanje napak testnega skripta.
V # 31) Naštejte nekaj prednosti in slabosti ročnega testiranja.
Odgovor:
Prednosti:
- Nastavitev okolja ni potrebna.
- Znanje programiranja ni potrebno.
- Priporočeno za dinamično spreminjajoče se zahteve.
- Omogočite človeški moči opazovanja, da zazna več napak.
- Stroški za kratkoročne projekte so manjši.
- Prilagodljivost
Slabosti:
- Težko je izvesti zapletene izračune.
- Ponovna uporabnost
- Čas trajanja
- Veliko tveganje za človeške napake ali napake.
- Potrebnih je več človeških virov.
V # 32) Ali lahko avtomatiziramo testiranje brez ogrodja? Če je odgovor pritrdilen, zakaj potem potrebujemo okvir?
Odgovor: Da, testiranje avtomatizacije lahko izvedemo tudi brez uporabe ogrodja. Preprosto lahko razumemo orodje, ki ga uporabljamo za avtomatizacijo, in programiramo korake v programskem jeziku, ki ga orodja podpirajo.
Če avtomatiziramo testne primere brez okvira, potem skripti za programiranje testnih primerov ne bodo dosledni.
Okvir zahteva sklop smernic, ki jih morajo vsi upoštevati, da se ohranijo berljivost, ponovna uporabnost in doslednost v testnih skriptih. Okvir ponuja tudi eno skupno podlago za poročanje in beleženje funkcij.
V # 33) Kako boste avtomatizirali osnovne primere za prijavo v funkcionalnost aplikacije?
Odgovor: Ob predpostavki, da so orodje in ogrodje za avtomatizacijo že nameščeni testnemu okolju.
Če želite preizkusiti osnovno funkcionalnost »Prijava«:
- Razumevanje projektnih zahtev : Funkcija prijave bo imela besedilno polje z uporabniškim imenom, besedilno polje za geslo in gumb za prijavo.
- Določite testne scenarije: Za funkcionalnost prijave so možni preskusni scenariji:
- Prazno uporabniško ime in geslo
- Neveljavno uporabniško ime in geslo
- Veljavno uporabniško ime in neveljavno geslo
- Veljavno uporabniško ime in geslo
- Pripravite a Datoteka za vnos podatkov s podatki, ki ustrezajo posameznemu scenariju.
- Zaženite orodje iz programa.
- Določite polje za uporabniško ime, polje za geslo in gumb za prijavo.
- Za vsak preizkusni scenarij pridobite podatke iz podatkovne datoteke in vnesite v ustrezna polja. Po vnosu podatkov v program kliknite gumb za prijavo.
- Potrdite sporočilo o napaki za negativne scenarije in sporočilo o uspehu za pozitivne scenarije v testnem skriptu s pomočjo trditev.
- Teči testno zbirko in ustvarite poročilo.
V # 34) Ali preizkušanje avtomatizacije preizkuša črno ali belo?
Odgovor: Preizkušanje avtomatizacije je večinoma a testiranje črne škatle saj samo programiramo korake, ki jih ročni preizkuševalnik izvede za preizkušano aplikacijo, ne da bi poznal zasnovo ali kodo aplikacije na nizki ravni.
Včasih avtomatizirani testni skripti potrebujejo dostop do podrobnosti baze podatkov, ki se uporabljajo v preizkušeni aplikaciji, ali nekaterih dodatnih podrobnosti kodiranja, kar je lahko vrsta preizkusa v belem polju.
Tako je avtomatizirano testiranje lahko črno ali belo polje, odvisno od scenarijev, v katerih se avtomatizacija izvaja.
V # 35) Koliko testnih primerov ste avtomatizirali na dan?
Odgovor: No, številka je odvisna od zapletenosti testnih primerov. Ko je bila zapletenost omejena, sem lahko avtomatiziral 5 do 6 testnih primerov na dan. Včasih sem lahko avtomatiziral samo en testni primer za zapletene scenarije.
Svoje testne primere sem tudi razčlenil na različne komponente, kot so vnos vhodnih podatkov, izračun, preverjanje izhoda itd. V primeru zelo zapletenih scenarijev in trajalo je 2 ali več dni.
V # 36) Kateri dejavniki določajo učinkovitost testiranja avtomatizacije?
Odgovor: Nekateri dejavniki, ki določajo učinkovitost testiranja avtomatizacije, so:
- Prihranjen čas z zagonom skriptov pri ročnem izvajanju testnih primerov.
- Ugotovljene napake
- Preizkusite pokritost ali pokritost kode
- Čas vzdrževanja ali čas razvoja
- Stabilnost scenarijev
- Preskus ponovne uporabnosti
- Kakovost preskušane programske opreme
V # 37) Katere testne primere je mogoče avtomatizirati?
Odgovor: Vrste testnih primerov, ki jih je mogoče avtomatizirati, so:
(i) Primeri dima: Preskušanje dima je znano tudi kot testiranje preverjanja gradnje. Primeri preizkusov dima se zaženejo vsakič, ko se sprosti nova zgradba, da se preveri stanje zgradbe za sprejemljivost za izvedbo testiranja.
(ii) Primeri regresijskih testov : Regresijsko testiranje je testiranje, s katerim se zagotovi, da predhodno razviti moduli delujejo po pričakovanjih po dodajanju novega modula ali odpravi napake.
Regresijski testni primeri so zelo pomembni pri postopnem postopnem pristopu k programski opremi, kjer se v vsaki fazi povečanja doda nova funkcionalnost. V tem primeru se regresijsko testiranje opravi v vsaki inkrementalni fazi.
(iii) Kompleksni računski primeri: V to kategorijo spadajo testni primeri, ki vključujejo nekaj zapletenih izračunov za preverjanje polja za aplikacijo. Kompleksni rezultati izračuna so bolj dovzetni za človeške napake, zato avtomatizirano dajejo natančne rezultate.
(iv) Testni primeri na podlagi podatkov: Testni primeri, ki imajo enak nabor korakov in se s spremembo podatkov izvajajo večkrat, so znani kot podatkovni primeri. Avtomatizirano testiranje za te vrste testnih primerov je hitro in stroškovno učinkovito.
(v) Nefunkcionalni testni primeri : Preskusni primeri, kot so preskusi obremenitve in testi zmogljivosti, zahtevajo simulirano okolje z več uporabniki in več kombinacijami strojne ali programske opreme.
Ročna nastavitev več okolij je nemogoča za vsako kombinacijo ali število uporabnikov. Avtomatizirana orodja lahko preprosto ustvarijo to okolje za enostavno izvajanje nefunkcionalnih preskusov.
V # 38) Katere so faze v avtomatizacijskem testiranju življenjskega cikla?
Odgovor: Faze življenjskega cikla testiranja avtomatizacije vključujejo:
- Odločitev za izvedbo testiranja avtomatizacije.
- Ugotovite in spoznajte orodje za avtomatizacijo.
- Določite obseg testiranja avtomatizacije.
- Oblikujte in razvijte testni paket.
- Izvedba testa
- Vzdrževanje testnih skript.
V # 39) Kaj je samodejni preizkusni skript?
Odgovor: Avtomatski preizkusni skript je kratek program, ki je napisan v programskem jeziku za izvajanje sklopa navodil na preizkušeni aplikaciji za preverjanje, ali aplikacija ustreza zahtevam.
Ta program ob zagonu rezultate preskusa poda kot uspešno ali ni odvisen od tega, ali je aplikacija v skladu s pričakovanji.
Zaključek
To so glavna vprašanja, ki so neodvisna od orodja za avtomatizacijo ali programskega jezika. Avtomatizacijski preskusi vključujejo tudi vprašanja, specifična za orodja in programski jezik, odvisno od orodja, s katerim ste delali.
Večina vprašanj o avtomatizaciji preskusov je osredotočenih na ogrodje, ki ga razvijete, zato je priporočljivo, da temeljito ustvarite in razumete testno ogrodje. Ko sem na razgovoru in je kandidat v okviru odgovoril na moje vprašanje, tudi raje zastavim vprašanje za jezik (v mojem primeru core java).
Vprašanja se začnejo od osnov Java, da napišejo logiko nekaterih osnovnih scenarijev, kot so:
- Kako bi iz dane vrstice izvlekel nabor besedila?
- Kako bi izvlekel URL?
- Na kateri koli spletni strani, v katerem koli okviru se število povezav in njihova vsebina dinamično spreminja, kako bi to obravnavali?
- Kako ravnate s slikami in bliskavicami?
- Kako najdete besedo v vrstici?
Odgovori na vse to vprašanja za avtomatizacijo preskusov so zelo značilni za orodje / jezik, ki ga uporabljate za avtomatizacijo. Preden se odpravite na razgovor, si oglejte znanje programiranja.
Če niste dobili možnosti, da ustvarite svoj okvir in ga je ustvaril nekdo drug, si vzemite nekaj časa, da ga temeljito razumete, preden se udeležite razgovora.
Nekaj nasvetov za avtomatizacijske preskuse:
- Dobro poznajte svoje orodje.
- Spoznajte tehnike lociranja, ki jih uporablja vaše orodje.
- Vadite pri programiranju v jeziku, ki ga uporabljate za testiranje avtomatizacije.
- Spoznajte svoj okvir in njegove sestavne dele.
- Vedno je koristno, če ste sodelovali pri razvoju vašega okvira. Zato bodite temeljito z moduli v okviru, s katerim ste delali.
Upam, da bi bila ta vprašanja koristna za vas, da se pripravite na razgovor za avtomatizacijo preskusov.
Priporočeno branje
- Vprašanja in odgovori za intervjuje
- Vprašanja in odgovori za preizkušanje ETL
- Nekaj zanimivih vprašanj za preskušanje programske opreme
- 25 najboljših agilnih preizkusnih vprašanj in odgovorov
- 20 najpomembnejših vprašanj in odgovorov za preskušanje API-jev
- Vprašanja in odgovori za preizkušanje programske opreme (1. del)
- Najboljša orodja za testiranje programske opreme 2021 (QA Test Automation Tools)
- Top 30 vprašanj in odgovorov za preskušanje varnosti