39 top automation testing interview questions
Najčastejšie otázky na pohovor s automatizačným testovaním pre začiatočníkov a pokročilých:
Automatizácia testov hrá veľmi dôležitú úlohu v celom životnom cykle softvéru. Väčšinu času, keď sa chceme pripraviť na pohovor o testovaní automatizácie, sa zameriavame iba na otázky týkajúce sa konkrétnych nástrojov.
Mali by sme však vziať do úvahy aj skutočnosť, že učenie sa a poznanie tohto nástroja je iba priemerný prostriedok a nejde o konečný cieľ.
Preto, kedykoľvek sa pripravujeme na pohovor s automatizačným testerom, musíme zvážiť „automatizáciu“ ako celok a zamerať sa na rámec a príslušné kroky.
Všetci vieme, že testovanie softvéru je veľmi dôležitou súčasťou vývoja softvéru. Ale s rýchlo rastúcimi metodikami a prostrediami vývoja softvéru je ťažké manuálne otestovať všetko pre aplikáciu v obmedzenom čase spolu s nákladovými obmedzeniami.
Testovanie automatizácie teda na trhu rýchlo rastie, aby sa zrýchlilo tempo vývoja. Tento výukový program obsahuje najdôležitejšie otázky týkajúce sa pohovorov o testovaní automatizácie. Snažil som sa spomenúť krátke a rýchle otázky, ktoré sú veľmi špecifické pre automatizáciu ako celok a nie sú špecifické pre žiadny „nástroj“.
Najvyšších 39 otázok týkajúcich sa rozhovorov s automatizačným testovaním
Poskytli sme základné otázky týkajúce sa automatizácie testov a tiež niektoré pokročilé otázky pre kandidátov na strednej až odbornej úrovni s praxou do 2 až 5 rokov.
Otázka č. 1) Čo je to automatizácia?
Odpoveď: Automatizácia je každá činnosť, ktorá môže znížiť ľudské úsilie.
Otázka 2) Čo je testovanie automatizácie?
Odpoveď: Proces používania špeciálnych softvérových nástrojov alebo skriptov na vykonávanie testovacích úloh, ako je zadávanie údajov, vykonávanie testovacích krokov a porovnávanie výsledkov atď., Je známy ako Automation testing.
Otázka 3) Čo všetko môžete automatizovať?
Odpoveď:
- Sada regresných testov
- Sada na testovanie dymu / príčetnosti
- Vytvorte nasadenie
- Vytvorenie testovacích údajov
- Automatizácia za grafickým používateľským rozhraním, ako je testovanie rozhraní API a metód.
Otázka č. 4) Kedy je testovanie automatizácie užitočné?
Odpoveď: Testovanie automatizácie je užitočné v nasledujúcich scenároch:
a) Regresné testovanie: V prípade opravy chyby alebo implementácie nového modulu musíme zabezpečiť, aby to neovplyvnilo už implementovanú alebo nezmenenú funkčnosť. V takom prípade nakoniec spustíme regresný testovací prípad viackrát.
Napríklad: Po každej požiadavke na zmenu alebo oprave chyby, po každej iterácii v prípade prístupu postupného vývoja atď.
b) Nefunkčné testovanie: Testovanie nefunkčných aspektov aplikácie.
Napríklad, Sledovanie záťaže alebo testovanie výkonu atď. Je pre ľudí veľmi ťažké sledovať a analyzovať.
c) Komplexný výpočet kontroly alebo testovacie scenáre, ktoré sú náchylné na ľudské chyby.
d) Opakované vykonávanie tých istých testov: Niekedy musíme spustiť rovnakú množinu testovacích prípadov pre inú množinu údajov alebo po každom vydaní zostavy alebo na viacerých hardvéroch, softvéroch alebo ich kombináciách.
Automatizácia testovacích prípadov vo vyššie uvedených scenároch pomáha dosiahnuť rýchlosť testovania a minimalizovať ľudské chyby.
Otázka č. 5) Ako identifikujete testovacie prípady, ktoré sú vhodné na automatizáciu?
Odpoveď: Identifikácia vhodných testovacích prípadov pre automatizáciu je najdôležitejším krokom k automatizácii.
Otázka č. 6) Môžete dosiahnuť 100% automatizáciu?
Odpoveď: 100% automatizáciu by bolo ťažké dosiahnuť, pretože by existovalo veľa testovacích prípadov edge a niektoré prípady, ktoré by sa vykonávali zriedka. Automatizácia týchto prípadov, ktoré sa často nevykonávajú, nepridá automatizovanej súprave pridanú hodnotu.
Otázka č. 7) Ako sa rozhodnúť pre nástroj, ktorý by mal človek používať na testovanie automatizácie vo svojich projektoch?
Odpoveď: S cieľom identifikovať nástroj na testovanie automatizácie vo vašom projekte:
do) Porozumejte dôkladne svojim projektovým požiadavkám a identifikujte testovacie scenáre, ktoré chcete automatizovať.
b) Vyhľadajte zoznam nástrojov, ktoré vyhovujú požiadavkám vášho projektu.
c) Identifikujte svoj rozpočet na automatizačný nástroj. Vyberte nástroje v rámci svojho rozpočtu.
d) Zistite, či už máte kvalifikované zdroje pre tieto nástroje. Ak nemáte potrebné kvalifikované zdroje, identifikujte náklady na školenie existujúcich zdrojov alebo prenájom nových zdrojov.
je) Teraz porovnajte jednotlivé nástroje s kľúčovými kritériami, ako sú:
- Aké ľahké je vytvoriť a udržiavať skripty pre tento nástroj?
- Môže netechnická osoba vykonať testovacie prípady aj s malým zaškolením?
- Podporuje tento nástroj rôzne typy platforiem, ako je web, mobil, desktop atď., Na základe vašich požiadaviek na projekt?
- Má tento nástroj funkciu hlásenia testov? Ak nie, je ľahko konfigurovateľný pre tento nástroj?
- Aký je nástroj na podporu webových aplikácií pomocou viacerých prehliadačov?
- Koľko rôznych typov testovania môže tento nástroj podporovať?
- Koľko jazykov nástroj podporuje?
f) Po porovnaní nástrojov vyberte nástroj, ktorý je v rámci vášho rozpočtu a ktorý podporuje vaše požiadavky na projekt. Na základe vyššie uvedených kľúčových kritérií vám poskytne ďalšie výhody.
Otázka č. 8) Momentálne vo svojom projekte nemám zavedenú žiadnu automatizáciu, ale teraz chcem implementovať automatizáciu, aké by boli moje kroky?
Odpoveď:
- Najskôr identifikujte, ktorý typ testovania / testovacích prípadov chcete automatizovať.
- Identifikujte nástroj
- Navrhnite rámec
- Vytvorte pomocné súbory a súbory prostredia.
- Začnite skriptovať
- Identifikujte správy a pracujte na nich.
- Pridelenie času na vylepšenie a údržbu skriptov.
Kroky potrebné na zavedenie automatizačného testovania pre projekt zahŕňajú:
- Pochopte výhody a nevýhody testovania automatizácie a identifikujte scenáre testovania, ktoré sú vhodné pre automatizáciu.
- Vyberte automatizačný nástroj, ktorý sa najlepšie hodí na automatizáciu identifikovaných scenárov
- Vyhľadajte odborníka na nástroje, ktorý vám pomôže s nastavením nástroja a požadovaného prostredia na vykonávanie testovacích prípadov pomocou nástroja.
- Vycvičte tím, aby mohol písať skripty v programovacom jazyku, ktorý nástroj podporuje.
- Vytvorte testovací rámec alebo identifikujte ten, ktorý už existuje, ktorý spĺňa vaše požiadavky.
- Napíš plán vykonania pre OS, prehliadače, mobilné zariadenia atď.
- Napíšte programovacie skripty pre manuálne testovacie prípady, ktoré ich prevedú na automatizované testovacie prípady.
- Nahláste stav testovacieho prípadu pomocou funkcie hlásenia nástroja.
- Udržujte skripty pre neustále zmeny alebo nové funkcie.
Otázka č. 9) Ako sa rozhodnete, ktorý nástroj musíte použiť?
Odpoveď: Na záver ktorý nástroj je najvhodnejší pretože projekt vyžaduje veľa brainstormingu a diskusií.
Otázka č. 10) Po identifikácii nástroja, aké by boli vaše ďalšie kroky?
Odpoveď: Po dokončení nástroja by náš ďalší krok mal byť návrh rámca.
Otázka č. 11) Čo je to rámec?
Odpoveď: Rámec je sada štruktúry celej automatizačnej sady. Je to tiež usmernenie, ktorého dodržiavanie môže viesť k štruktúre, ktorá sa ľahko udržuje a vylepšuje.
Medzi tieto pokyny patria:
- Normy kódovania
- Zaobchádzanie s údajmi o teste
- Údržba a manipulácia s prvkami (úložisko objektov v QTP)
- Zaobchádzanie so súbormi prostredia a so súbormi vlastností
- Hlásenie údajov
- Manipulácia s guľatinou
Otázka č. 12) Aké sú atribúty dobrého rámca?
Odpoveď: Medzi vlastnosti patrí:
- Modulárny: Rámec by sa mal dať prispôsobiť zmenám. Testéri by mali byť schopní upravovať skripty podľa zmeny prostredia alebo prihlasovacích údajov.
- Opätovne použiteľné: Bežne používané metódy alebo pomocné programy by mali byť napísané v spoločnom súbore, ktorý je prístupný pre všetky skripty.
- Konzistentné: Sada by mala byť napísaná v konzistentnom formáte podľa všetkých akceptovaných postupov kódovania.
- Nezávislý: Skripty by mali byť písané tak, aby boli navzájom nezávislé. V prípade, že jeden test zlyhá, nemal by zadržiavať zvyšné testovacie prípady (pokiaľ nejde o prihlasovaciu stránku)
- Záznamy: Je dobré mať v rámci implementovanú funkciu protokolovania. To by pomohlo v prípade, že by naše skripty bežali dlhšie hodiny (povedzme v nočnom režime), ak by skript v ktoromkoľvek okamihu zlyhal, vlastníctvo súboru denníka nám pomôže zistiť polohu spolu s typom chyby.
- Hlásenie: Je dobré mať funkciu prehľadu automaticky zabudovanú do rámca. Po dokončení skriptov môžeme nechať poslať výsledky a správy e-mailom.
- Integrácia: Automatizačný rámec by mal byť taký, aby sa dal ľahko integrovať s inými aplikáciami, ako je nepretržitá integrácia alebo spustenie automatizovaného skriptu, akonáhle je zostavenie nasadené.
Otázka č. 13) Dokážete sa zaobísť bez rámca?
Odpoveď: Rámece sú usmernenia a nie povinné pravidlá, takže sa môžeme zaobísť bez rámca, ale ak ho vytvoríme a budeme ho dodržiavať, jeho vylepšenie a údržba by sa dali ľahko implementovať.
Otázka č. 14) Aké sú rôzne typy automatizačného nástroja, o ktorých viete?
Odpoveď: Open source nástroj ako Selenium, JMeter atď.
Platené nástroje ako QTP, Load Runner, Ranorex, RFT a Rational Robot.
Otázka č. 15) Aká je všeobecne štruktúra rámca?
Odpoveď: Normálne by štruktúra mala mať - (líšila by sa projekt od projektu)
- Priečinok „src“ (zdroj) so skutočnými testovacími skriptmi.
- Priečinok „lib“ (knižnica), ktorý obsahuje všetky knižnice a bežné metódy.
- „Triedny“ priečinok so všetkým súborom triedy (v prípade, že sa používa java).
- Priečinok „log“, ktorý obsahuje súbory protokolu.
- Súbor / priečinok so všetkými ID webového prvku.
- Súbor obsahujúci URL, prostredie a prihlasovacie údaje.
Otázka č. 16) Kde budete uchovávať informácie ako URL, prihlasovacie meno, heslo?
Odpoveď: Tieto informácie by sa mali vždy uchovávať v samostatnom súbore.
Otázka č. 17) Prečo chcete uchovávať tento druh informácií v samostatnom súbore a nie priamo v kóde?
Odpoveď: URL, Prihlásenie a heslá sú druh polí, ktoré sa používajú veľmi často a menia sa podľa prostredia a autorizácie. V prípade, že ho napevno zakódujeme do nášho kódu, musíme ho zmeniť v každom súbore, ktorý má svoju referenciu.
V prípade, že existuje viac ako 100 súborov, je veľmi ťažké zmeniť všetkých 100 súborov a to môže viesť k chybám. Takže tento druh informácií je udržiavaný v samostatnom súbore, takže aktualizácia je ľahká.
Otázka č. 18) Aké sú rôzne typy rámcov?
Odpoveď: Medzi rôzne typy rámcov patria:
- Rámec riadený kľúčovými slovami
- Rámec založený na dátach
- Hybridný rámec
- Lineárne skriptovanie
Otázka č. 19) Môžete povedať nejaké dobré postupy pri kódovaní počas automatizácie?
Odpoveď: Medzi dobré postupy kódovania patria:
- Pridajte príslušné komentáre.
- Identifikujte opakovane použiteľné metódy a zapíšte ich do samostatného súboru.
- Dodržujte konvencie kódovania špecifické pre daný jazyk.
- Údaje o teste sa uchovávajú v samostatnom súbore.
- Pravidelne spúšťajte svoje skripty.
Otázka č. 20) Akýkoľvek druh testu, o ktorom si myslíte, že by nemal byť automatizovaný?
Odpoveď:
- Testy, ktoré sa vykonávajú len zriedka.
- Prieskumné testovanie
- Testovanie použiteľnosti
- Test, ktorý sa vykoná rýchlo, keď sa vykoná ručne.
Otázka č. 21) Myslíte si, že testovanie je možné vykonať iba na úrovni používateľského rozhrania?
ako vytvoriť testovacie prípady junit v jave -
Odpoveď: Dnes, keď prechádzame do agilného režimu, sa testovanie neobmedzuje iba na vrstvu používateľského rozhrania. Včasná spätná väzba je pre agilný projekt imperiálna. Ak sa sústredíme iba na vrstvu používateľského rozhrania, skutočne čakáme, kým bude používateľské rozhranie vyvinuté a dostupné na testovanie.
Skôr môžeme testovať ešte predtým, ako bude používateľské rozhranie skutočne vyvinuté. Môžeme priamo otestovať API alebo metódy pomocou nástrojov ako Cucumber a FitNesse .
Týmto spôsobom dávame spätnú väzbu oveľa skôr a testujeme ešte predtým, ako bude vyvinuté používateľské rozhranie. Dodržiavanie tohto prístupu nám pomôže otestovať iba GUI aspekt malých kozmetických zmien alebo niektorých validácií v používateľskom rozhraní a pomôže vývojárom tým, že poskytne viac času na opravu chýb.
Otázka č. 22) Ako si vyberiete, ktorý automatizačný nástroj je pre vás najvhodnejší?
Odpoveď: Výber automatizačného nástroja závisí od rôznych faktorov, ako napríklad:
- Rozsah aplikácie, ktorú chceme automatizovať.
- Režijné náklady ako náklady a rozpočet.
- Čas sa naučiť a implementovať tento nástroj.
- Typ podpory dostupnej pre nástroj.
- Obmedzenie nástroja
Otázka č. 23) Čo podľa vás drží testerov späť v tom, aby robili automatizáciu? Existuje spôsob, ako to prekonať?
Odpoveď: Hlavnou prekážkou pre testujúcich je naučiť sa programovať / kódovať, keď chcú automatizovať. Pretože testeri nekódujú, prispôsobenie sa kódovaniu je pre testerov trochu náročné.
Môžeme to prekonať:
- Spolupráca s vývojármi pri automatizácii.
- Ak vezmeme do úvahy, že za automatizáciu je zodpovedný celý tím a nielen testéri.
- Venujte čas a zameranie na automatizáciu.
- Získanie správnej podpory pre správu.
Tieto otázky týkajúce sa automatizačného testu môžete uložiť ako pdf a vytlačiť na ďalšie prečítanie.
Otázka č. 24) Čo je to testovací rámec automatizácie?
Odpoveď: Rámec je vo všeobecnosti súbor usmernení. Súbor pokynov, predpokladov, koncepcií a postupov kódovania pre vytvorenie prostredia vykonávania, v ktorom budú testy automatizované, je známy ako rámec testovania automatizácie.
Automatizačný testovací rámec je zodpovedný za vytvorenie testovacieho zväzku s mechanizmom na spojenie s testovanou aplikáciou, vstupom zo súboru, vykonaním testovacích prípadov a generovaním správ pre vykonanie testu. Rámec automatizačného testovania by mal byť nezávislý od aplikácie a jeho použitie, úprava alebo rozšírenie by malo byť jednoduché.
Otázka č. 25) Aké sú dôležité moduly rámca na testovanie automatizácie?
Odpoveď: Dôležitými modulmi testovacieho rámca automatizácie sú:
- Nástroj na zadanie testu: Tento nástroj poskytne vyhlásenie o tvrdení na testovanie očakávaných hodnôt v testovanej aplikácii. Napríklad. TestNG, Junit atď.
- Nastavenie údajov: Každý testovací prípad musí brať užívateľské údaje buď z databázy, alebo zo súboru, alebo vložené do testovacieho skriptu. Dátový modul Frameworks by sa mal postarať o príjem dát pre testovacie skripty a globálne premenné.
- Nástroj na správu zostáv: Na vytváranie testovacích skriptov je potrebné vytvoriť a nasadiť framework.
- Nástroj na nepretržitú integráciu: So zavedeným CICD (nepretržitá integrácia a nepretržitý vývoj) je potrebný nástroj nepretržitej integrácie na integráciu a nasadenie zmien vykonaných v rámci pri každej iterácii.
- Nástroj na tvorbu prehľadov: Na vygenerovanie čitateľnej správy po vykonaní testovacích prípadov je potrebný nástroj na vytváranie správ, ktorý umožňuje lepší prehľad o krokoch, výsledkoch a zlyhaniach.
- Nástroj na prihlásenie: Nástroj na protokolovanie v rámci pomáha pri lepšom ladení chyby a chýb.
Otázka č. 26) Vysvetlite niektoré nástroje na testovanie automatizácie.
Odpoveď: Niektoré zo slávnych nástrojov na testovanie automatizácie sú vysvetlené nižšie:
i) selén : Selén je testovací rámec pre testovanie automatizácie webových aplikácií. Podporuje viac prehľadávačov a je nezávislý od operačného systému. Selenium tiež podporuje rôzne programovacie jazyky ako Java, C #, PHP, Ruby a Perl atď.
Selén je open-source sada knižníc, ktorá sa dá použiť na vývoj ďalších testovacích rámcov alebo testovacích skriptov na testovanie webových aplikácií.
ii) UFT : Unified Functional Testing je licencovaný nástroj na funkčné testovanie. Poskytuje širokú škálu funkcií, ako sú API, webové služby atď., A tiež podporuje viac platforiem, ako sú desktopy, web a mobilné zariadenia. Skripty UFT sú písané v skriptovacom jazyku jazyka Visual Basic.
(II) epochy : Appium je nástroj na testovanie mobilných aplikácií otvoreného zdroja. Používa sa na automatizáciu testovania na multiplatformových, natívnych, hybridných a webových mobilných aplikáciách. Appium automatizuje akúkoľvek mobilnú aplikáciu z ľubovoľného jazyka s plným prístupom k API a DB z testovacieho kódu.
Appium je založené na architektúre klient-server a vyvinulo sa zo selénu.
iv) uhorka : Cucumber je open-source vývojový nástroj založený na správaní. Používa sa na webové testovanie automatizácie aplikácií a podporuje jazyky ako ruby, java, scala, groovy atď. Uhorka číta spustiteľnú špecifikáciu napísanú v obyčajnom texte a testuje testovanú aplikáciu.
Aby uhorka pochopila scenáre v obyčajnom texte, musíme postupovať podľa niektorých základných pravidiel syntaxe, ktoré sú známe ako Gherkin.
(v) TestComplete : TestComplete je licencovaný automatizovaný nástroj na testovanie používateľského rozhrania na testovanie aplikácií na rôznych platformách, ako sú stolné počítače, web, mobilné zariadenia atď. Poskytuje flexibilitu pri zaznamenávaní testovacích prípadov v jednom prehliadači a pri ich spustení vo viacerých prehliadačoch, a podporuje tak testovanie viacerých prehliadačov.
TestComplete má zabudovaný algoritmus rozpoznávania objektov, ktorý jedinečne identifikuje objekt a ukladá ho do úložiska.
Otázka č. 27) Aké sú rôzne typy techník testovania rámca?
Odpoveď: Existujú štyri typy rámcových techník automatizácie testovania.
Oni sú:
i) Modulárny rámec pre testovanie:
Tento rámec je postavený na koncepcii abstrakcie. V tomto rámci tester vytvára skripty pre každý modul testovanej aplikácie jednotlivo a potom sa tieto skripty kombinujú v hierarchickom poradí a vytvárajú veľké testovacie prípady.
Vytvára abstrakčnú vrstvu medzi modulmi, takže akékoľvek úpravy v testovacích skriptoch pre jeden modul neovplyvnia žiadne ďalšie moduly.
Výhody tohto rámca:
- Ľahšia údržba a škálovateľnosť testovacích prípadov.
- Vytváranie testovacích prípadov pomocou už skriptovaných modulov je jednoduchšie a rýchlejšie.
Nevýhody:
- Testovacie prípady majú vložené údaje. Vykonanie toho istého testovacieho skriptu s rôznymi údajmi je teda veľká zmena na úrovni skriptu.
ii) Rámec testovania na základe údajov:
V rámci testovania založeného na údajoch sú vstupné údaje a očakávané výstupné údaje zodpovedajúce vstupným údajom uložené v súbore alebo databáze a automatizovaný skript spustí rovnakú sadu testovacích krokov pre viaceré množiny údajov. S týmto rámcom môžeme spustiť viac testovacích prípadov, kde sa líšia iba vstupné údaje a kroky vykonania sú rovnaké.
Výhody:
- Znižuje počet testovacích skriptov, ktoré je potrebné vykonať. Vykonávame ten istý skript viackrát s rôznymi údajmi.
- Menej programovania pre testovanie automatizácie.
- Väčšia flexibilita pre údržbu a opravu chýb alebo vylepšenie funkčnosti.
- Testovacie údaje je možné vytvárať ešte skôr, ako bude pripravený automatizovaný systém na testovanie.
Nevýhody:
- Pre viac súborov údajov je možné kombinovať iba podobné testovacie prípady s rovnakou sadou krokov vykonania. Rôzna sada krokov vykonania vyžaduje iný testovací prípad.
iii) Rámec testovania na základe kľúčových slov:
Jedná sa o aplikačne nezávislý testovací rámec, ktorý využíva dátové tabuľky a samovysvetľujúce kľúčové slová. Kľúčové slová vysvetľujú akcie, ktoré sa majú vykonať s testovanou aplikáciou, a dátová tabuľka poskytuje vstupné a očakávané výstupné údaje.
Testovanie na základe kľúčového slova predstavuje prírastok k testovaniu na základe dát.
Výhody:
- Pre viac súborov údajov je možné použiť menej kódovania a rovnaký skript.
- Na vytvorenie testovacieho prípadu pomocou už existujúcich kľúčových slov pre akcie sa nevyžaduje automatizácia.
- Rovnaké kľúčové slová je možné použiť vo viacerých testovacích prípadoch.
Nevýhody:
- Tento rámec je komplikovanejší, pretože sa musí starať o akcie kľúčových slov a tiež o vstup údajov.
- Testovacie prípady sú dlhšie a zložitejšie, čo ovplyvňuje ich udržiavateľnosť.
iv) Rámec hybridného testovania:
Tento rámec je kombináciou všetkých vyššie uvedených testovacích rámcov (modulárny, riadený údajmi a riadený kľúčovými slovami).
V tomto rámci sú testovacie prípady vyvinuté z modulárnych skriptov ich kombináciou v modulárnom testovacom rámci. Každý z testovacích prípadov používa skript ovládača, ktorý používa dátový súbor ako v rámci riadenom dátami a akčný súbor založený na kľúčových slovách.
Výhody:
- Modulárne a ľahko sa udržuje.
- Menej programovania sa môže postarať o viac testovacích prípadov.
- Jeden testovací prípad je možné vykonať s viacerými množinami údajov.
Nevýhody:
- Komplexné na čítanie, údržbu a vylepšenie.
Otázka č. 28) Kedy uprednostňujete manuálne testovanie pred automatickým testovaním?
Odpoveď: Uprednostňujeme manuálne testovanie pred automatizovaným v nasledujúcich prípadoch:
- Projekt je krátkodobý a písanie skriptov bude v porovnaní s manuálnym testovaním časovo náročné a nákladné.
- Vyžaduje sa flexibilita. Automatizované testovacie prípady sa programujú a spúšťajú špecifickým spôsobom v konfiguráciách.
- Je potrebné vykonať test použiteľnosti.
- Aplikácie / modul je novo vyvinutý a nemá žiadne predchádzajúce testovacie prípady.
- Je potrebné vykonať ad hoc alebo prieskumné testovanie.
Otázka 29) Je testovanie automatizácie v agilnej metodológii užitočné alebo nie?
Odpoveď: Automatizované testovanie je užitočné pri regresnom, dymovom alebo zdravom testovaní. Všetky tieto typy testovania v tradičnom modeli vodopádu sa vyskytujú na konci cyklu a niekedy, ak aplikácia nebude obsahovať veľa vylepšení, by sme možno nemuseli ani urobiť regresné testovanie .
Keďže v agilná metodológia , každá iterácia vyžaduje vykonanie regresného testovacieho prípadu, keď sú pridané niektoré nové funkcie.
Samotná regresná sada tiež neustále rastie po každom šprinte, pretože je potrebné do funkčnej skúšky pre súčasný šprintový modul pridať ďalšie súpravy.
Preto je testovanie automatizácie v agilnej metodike veľmi užitočné a pomáha dosiahnuť maximálne pokrytie testu za kratší čas šprintu.
Otázka 30) Uveďte niektoré výhody a nevýhody testovania automatizácie.
Odpoveď:
Výhody:
- Menej ľudských zdrojov
- Opätovná použiteľnosť
- Viac pokrytia testom za kratší čas
- Spoľahlivosť
- Paralelné vykonávanie testovacích prípadov
- Rýchlo
Nevýhody:
odstrániť prvok z poľa java
- Času na vývoj a údržbu je viac.
- Náklady na nástroj
- Vyžadujú sa kvalifikované zdroje.
- Nastavenie prostredia
- Ladenie testovacích skriptov je problém.
Otázka č. 31) Uveďte niektoré výhody a nevýhody manuálneho testovania.
Odpoveď:
Výhody:
- Nie je potrebné žiadne nastavenie prostredia.
- Znalosti o programovaní nie sú potrebné.
- Odporúča sa pre dynamicky sa meniace požiadavky.
- Umožnite ľudskej pozorovacej sile zistiť viac chýb.
- Pri krátkodobých projektoch sú náklady nižšie.
- Flexibilita
Nevýhody:
- Je ťažké vykonať zložité výpočty.
- Opätovná použiteľnosť
- Trvanie času
- Vysoké riziko ľudských chýb alebo omylov.
- Je potrebných viac ľudských zdrojov.
Otázka č. 32) Môžeme testovanie automatizácie vykonať bez rámca? Ak áno, tak načo potrebujeme rámec?
Odpoveď: Áno, testovanie automatizácie môžeme vykonať aj bez použitia rámca. Rozumieme iba nástroju, ktorý používame na automatizáciu, a naprogramujeme kroky v programovacom jazyku, ktoré tieto nástroje podporujú.
Ak automatizujeme testovacie prípady bez rámca, nebude v programovacích skriptoch pre testovacie prípady konzistentnosť.
Rámec je potrebný na poskytnutie súboru pokynov, ktoré musí každý dodržiavať, aby bola v testovacích skriptoch zachovaná čitateľnosť, opakovaná použiteľnosť a konzistentnosť. Rámec tiež poskytuje jednu spoločnú pôdu pre funkcie vykazovania a protokolovania.
Otázka č. 33) Ako budete automatizovať základné testovacie prípady funkčnosti „prihlásenia“ pre aplikáciu?
Odpoveď: Za predpokladu, že automatizačný nástroj a rámec sú už na mieste testovacieho prostredia.
Testovanie základnej funkcie „Prihlásenie“:
- Pochopte požiadavku projektu : Funkcia prihlásenia bude mať textové pole pre používateľské meno, textové pole pre heslo a tlačidlo na prihlásenie.
- Identifikujte testovacie scenáre: Z hľadiska funkčnosti prihlásenia sú možné testovacie scenáre:
- Prázdne používateľské meno a heslo
- Neplatné používateľské meno a heslo
- Platné používateľské meno a neplatné heslo
- Platné používateľské meno a heslo
- Pripravte a Súbor na zadávanie údajov s údajmi zodpovedajúcimi každému scenáru.
- Spustite nástroj z programu.
- Identifikujte pole pre používateľské meno, pole pre heslo a prihlasovacie tlačidlo.
- Pre každý testovací scenár získajte údaje z dátového súboru a zadajte do príslušných polí. Po zadaní údajov program kliknite na prihlasovacie tlačidlo.
- Potvrdiť chybové hlásenie pre negatívne scenáre a chybové hlásenie pre pozitívne scenáre v testovacom skripte pomocou tvrdení.
- Bež testovaciu sadu a vygenerovať správu.
Otázka č. 34) Testuje Automation testovanie čiernej skrinky alebo skúšky bielej skrinky?
Odpoveď: Automatizačné testovanie je väčšinou a testovanie čiernej skrinky pretože práve programujeme kroky, ktoré manuálny tester vykonáva pre testovanú aplikáciu, bez toho, aby sme poznali nízkoúrovňový dizajn alebo kód aplikácie.
Automatizované testovacie skripty niekedy potrebujú prístup k podrobnostiam databázy, ktoré sa používajú v testovanej aplikácii, alebo k niektorým ďalším podrobnostiam kódovania, a môžu tak byť typom testovania v bielom poli.
Automatizované testovanie teda môže byť typu testovania v čiernej alebo bielej skrinke v závislosti od scenárov, v ktorých sa automatizácia vykonáva.
Otázka č. 35) Koľko testovacích prípadov ste automatizovali za deň?
Odpoveď: Počet teda závisí od zložitosti testovacích prípadov. Keď bola zložitosť obmedzená, dokázal som automatizovať 5 až 6 testovacích prípadov denne. Niekedy som bol schopný automatizovať iba jeden testovací prípad pre zložité scenáre.
Tiež som rozdelil svoje testovacie prípady na rôzne komponenty, ako sú vstupy, výpočty, overenie výstupov atď. V prípade veľmi zložitých scenárov a trvanie 2 alebo viac dní.
Otázka č. 36) Aké faktory určujú účinnosť testovania automatizácie?
Odpoveď: Niektoré z faktorov, ktoré určujú účinnosť automatizovaného testovania, sú:
- Čas ušetrený spustením skriptov nad manuálnym vykonaním testovacích prípadov.
- Zistené závady
- Vyskúšajte pokrytie alebo pokrytie kódu
- Čas údržby alebo čas vývoja
- Stabilita skriptov
- Test opätovnej použiteľnosti
- Kvalita testovaného softvéru
Otázka č. 37) Ktoré testovacie prípady je možné automatizovať?
Odpoveď: Typy testovacích prípadov, ktoré je možné automatizovať, sú:
i) Prípady testu dymu: Testovanie dymu je tiež známe ako testovanie verifikácie zostavy. Prípady testovania dymu sa spúšťajú zakaždým, keď sa uvoľní nové zostavenie, aby sa skontrolovalo, či je stav prijateľný na vykonanie testovania.
ii) Prípady regresného testu : Regresné testovanie je testovanie, ktoré má zabezpečiť, aby predtým vyvinuté moduly fungovali podľa očakávania po pridaní nového modulu alebo odstránení chyby.
Prípady regresných testov sú veľmi dôležité v prírastkovom softvérovom prístupe, keď sa v každej fáze prírastku pridáva nová funkcionalita. V tomto prípade sa regresné testovanie vykonáva v každej prírastkovej fáze.
iii) Testovacie prípady komplexného výpočtu: Do tejto kategórie patria testovacie prípady, ktoré zahŕňajú niektoré zložité výpočty na overenie poľa pre aplikáciu. Komplexné výsledky výpočtu sú náchylnejšie na ľudské chyby, a preto pri automatizácii poskytujú presné výsledky.
iv) Testovacie prípady založené na údajoch: Testovacie prípady, ktoré majú rovnakú sadu krokov a sú spustené viackrát so zmenou údajov, sú známe ako testovacie prípady založené na dátach. Automatizované testovanie pre tieto druhy testovacích prípadov je rýchle a nákladovo efektívne.
v) Nefunkčné testovacie prípady : Testovacie prípady, ako sú záťažové testy a testy výkonu, vyžadujú simulované prostredie s viacerými používateľmi a s rôznymi kombináciami hardvéru alebo softvéru.
Ručné nastavenie viacerých prostredí je nemožné pre každú kombináciu alebo počet používateľov. Automatizované nástroje môžu ľahko vytvoriť toto prostredie na ľahké vykonávanie nefunkčných testov.
Otázka č. 38) Aké sú fázy životného cyklu testovania automatizácie?
Odpoveď: Fázy životného cyklu automatizácie zahŕňajú:
- Rozhodnutie vykonať testovanie automatizácie.
- Identifikujte automatizačný nástroj a naučte sa ho.
- Určite rozsah testovania automatizácie.
- Navrhnite a vyvíjajte testovaciu sadu.
- Vykonanie testu
- Údržba testovacích skriptov.
Otázka č. 39) Čo je to automatický testovací skript?
Odpoveď: Automatizovaný testovací skript je krátky program napísaný v programovacom jazyku na vykonanie súboru pokynov v testovanej aplikácii na overenie, či je aplikácia v súlade s požiadavkami.
Tento program, keď je spustený, poskytuje výsledky testu ako vyhovujúce alebo neúspechné v závislosti od toho, či je aplikácia podľa očakávaní.
Záver
Toto sú hlavné otázky, ktoré sú nezávislé od automatizačného nástroja alebo programovacieho jazyka. Automatizované testovacie rozhovory tiež zahŕňajú otázky týkajúce sa nástroja a programovacieho jazyka v závislosti od nástroja, s ktorým ste pracovali.
Väčšina otázok týkajúcich sa automatizácie testovania sa zameriava na rámec, ktorý vyvíjate, preto sa odporúča, aby ste si svoj testovací rámec vytvorili a porozumeli mu dôkladne. Keď robím pohovor a uchádzač odpovedal na moju otázku v rámci, tiež by som radšej položil otázku týkajúcu sa konkrétneho jazyka (v mojom prípade základnej javy).
Otázky začínajú od základov javy a tvoria logiku niektorých základných scenárov, ako napríklad:
- Ako by ste extrahovali množinu textu z daného riadku?
- Ako by ste extrahovali URL?
- Ako by ste to riešili na akejkoľvek webovej stránke, v ľubovoľnom rámci, počet odkazov a ich obsah sa dynamicky menia?
- Ako narábate s obrázkami a bleskovými objektmi?
- Ako nájdete slovo v riadku?
Odpovede na všetky tieto otázky otázky týkajúce sa automatizácie testov sú veľmi špecifické pre nástroj / jazyk, ktorý používate na automatizáciu. Než teda pôjdete na pohovor, oprášte si svoje programátorské schopnosti.
Ak ste nemali príležitosť vytvoriť si svoj rámec a vytvoril ho niekto iný, urobte si čas na jeho dôkladné pochopenie predtým, ako budete sedieť na pohovore.
Niektoré tipy na rozhovory s testovaním automatizácie by boli:
- Poznajte svoj nástroj dôkladne.
- Naučte sa techniky lokátora, ktoré používa váš nástroj.
- Precvičte si programovanie v jazyku, ktorý používate na testovanie automatizácie.
- Naučte sa svoj rámec a jeho komponenty.
- Je vždy výhodné, ak ste sa podieľali na vývoji vášho rámca. Dôsledne teda buďte oboznámení s modulmi v rámci, na ktorých ste pracovali.
Dúfam, že vám tieto otázky pomôžu pri príprave na pohovor o automatizácii testov.
Odporúčané čítanie
- Dotazy a odpovede na pohovor
- ETL Testovacie otázky a odpovede na pohovor
- Niektoré zaujímavé otázky týkajúce sa testovania softvéru
- 25 najlepších otázok a odpovedí na agilné testovacie pohovory
- Top 20 najdôležitejších API testovacích otázok a odpovedí na pohovory
- Otázky a odpovede na otázky týkajúce sa testovania softvéru (1. časť)
- Najlepšie nástroje na testovanie softvéru 2021 (QA Test Automation Tools)
- Najvyšších 30 otázok a odpovedí na pohovory týkajúce sa testovania bezpečnosti