Vývoj softwarových aplikací prochází několika fázemi, než se dostanou ke koncovému uživateli.
Testování představuje klíčovou část životního cyklu vývoje softwaru (SDLC). Jeho účelem je odhalovat chyby a ověřovat, zda aplikace funguje tak, jak se očekává.
Dříve se testeři spoléhali na manuální testování. Nicméně manuální testování je časově náročné a provází ho různé obtíže. Z toho důvodu byl vytvořen nástroj Selenium pro automatizaci softwarového testování.
V současnosti je Selenium lídrem na trhu a používá ho většina softwarových testerů. Pokud usilujete o pozici softwarového testera, znalost běžných otázek, které se objevují u pohovorů se zaměřením na Selenium, vám poskytne výhodu oproti ostatním uchazečům.
Níže najdete otázky a odpovědi, se kterými se pravděpodobně setkáte u pohovoru ohledně Selenium:
Co je automatizované testování?
Zjednodušeně řečeno, automatizované testování je proces, při kterém se psaní a provádění softwarových testů automatizuje s využitím automatizovaných testovacích sad, bez nutnosti manuálního zásahu. Automatizované testování umožňuje testerům používat specializované nástroje k opakovanému provádění testovacích úloh.
Jaké jsou výhody automatizovaného testování?
- Šetří čas a finanční prostředky. Testování softwaru může být nákladné, pokud je nutné platit manuální testery. Z dlouhodobého hlediska může být automatizované testování levnější.
- Podporuje opakované využití kódu. Testy lze nastavit pouze jednou a spouštění se provádí opakovaně.
- Redukuje lidské chyby a zlepšuje přesnost.
- Je ideální pro rozsáhlé aplikace. Testování menší aplikace může být s manuálním testováním poměrně jednoduché. Nicméně jak se aplikace rozšiřuje, automatizovaná testovací sada se stává velmi užitečnou.
Co je Selenium?
Selenium je open-source a bezplatný soubor nástrojů pro automatizované testování webového uživatelského rozhraní, který byl vytvořen Jasonem Hugginsem v roce 2004. Díky silné komunitě se Selenium stal jedním z nejoblíbenějších nástrojů pro automatizaci testování softwaru. Selenium Suite podporuje různé prohlížeče a platformy.
Jaké jsou různé podoby Selenium?
Selenium není pouze jeden testovací nástroj, ale celá sada nástrojů. Mezi různé formy Selenium patří:
- Selenium Integrated Development Environment (IDE)
- Selenium WebDriver
- Selenium Remote Control (RC)
- Selenium Grid
Které programovací jazyky Selenium podporuje?
- Python
- Java
- C#
- JavaScript
- Ruby
- PHP
- Perl
Které typy testů Selenium podporuje?
Selenium se zaměřuje především na automatizaci testování webových aplikací, což zahrnuje funkční, regresní a uživatelské rozhraní (UI) testy. Nepodporuje testování aplikací pro stolní počítače, mobilní aplikace a testování výkonu.
Co je Selenium WebDriver?
Selenium WebDriver má za úkol komunikovat s webovými prohlížeči. Tento nástroj se také spoléhá na nativní kompatibilitu pro automatizaci různých úkolů.
Co je Selenium IDE?
Selenium IDE je plugin pro Firefox, který funguje jako nástroj pro nahrávání a přehrávání. Tento plugin byl vytvořen jako řešení pro urychlení tvorby automatizačních skriptů.
Co je Selenium Grid?
Tento nástroj umožňuje uživatelům distribuovat spouštění testů do více prostředí a platforem současně.
Co je Selenium RC (Remote Control)?
RC je nástroj, který umožňuje vytvářet testovací skripty v preferovaném programovacím jazyce. Tento nástroj také umožňuje spouštět testovací skripty v široké škále prohlížečů.
Co se myslí pojmem Selenese?
Selenium IDE používá jazyk zvaný Selenese, který se využívá k psaní příkazů pro Selenium. Tyto příkazy pomáhají Seleniu pochopit, jaké operace nebo akce má provést.
Jaké jsou typy Selenese příkazů?
- Akce. Jedná se o příkazy, které manipulují se stavem aplikace. Například „zadat do pole“ a „kliknout na odkaz“.
- Přístupy. Tyto příkazy zjišťují stav aplikace a ukládají výsledky do proměnných.
- Tvrzení. Jsou to příkazy, které umožňují testerům ověřit stav aplikace.
Jaké jsou metody vyhledávání prvků v Seleniu?
- ID
- ClassName
- Name
- TagName
- LinkText
- PartialLinkText
- Xpath
- CSS Selector
- DOM
Co je XPath?
XPath slouží k vyhledání webového prvku na základě cesty v jazyce XML (Extensible Markup Language). XML se používá pro ukládání, organizaci a přenos strukturovaných dat.
Jaký je rozdíl mezi „/“ a „//“ v XPath?
„/“ (jedno lomítko) vytváří absolutní cestu XPath. XPath začíná výběr od kořenového uzlu dokumentu.
„//“ (dvojité lomítko) vytváří relativní cestu XPath. Cesta XPath začíná výběr odkudkoli v dokumentu.
Co je absolutní XPath?
Absolutní XPath začíná jedním lomítkem „/“. Tato cesta udává úplnou cestu od kořene k prvku, který chceme identifikovat.
Jaký je rozdíl mezi findElement() a findElements()?
- findElements(): Hledá všechny prvky na webové stránce pomocí zadaného mechanismu vyhledávání a vrací seznam všech nalezených prvků.
- findElement(): Najde první prvek na webové stránce odpovídající zadanému mechanismu vyhledávání a vrací pouze tento prvek.
Jaké typy anotací se používají v Seleniu?
- @BeforeSuite
- @BeforeTest
- @BeforeClass
- @BeforeMethod
- @Test
- @AfterMethod
- @AfterClass
- @AfterTest
- @AfterSuite
Co jsou tvrzení v Seleniu?
Tvrzení se používají k ověření, zda aplikace funguje podle očekávání. Pokud tvrzení selže, testovací případ se ukončí a provádění se zastaví.
Co jsou příkazy Assert a Verify?
- Assert: Pokud je podmínka potvrzení pravdivá, program bude pokračovat v provádění dalšího kroku. Pokud je však podmínka nepravdivá, provádění se zastaví a další kroky se neprovedou.
- Verify: Provádění testu bude pokračovat bez ohledu na to, zda je ověřovaná podmínka pravdivá nebo nepravdivá.
Co je politika stejného původu a jak s ní Selenium nakládá?
Politika stejného původu je bezpečnostní mechanismus, který omezuje interakci skriptu nebo dokumentu načteného z jedné domény se zdrojem z jiné domény. Pomáhá to chránit před potenciálně škodlivými skripty.
Selenium využívá metodu vkládání proxy pro implementaci politiky stejného původu. V tomto nastavení funguje Selenium Server jako HTTP proxy klientem nakonfigurovaný mezi testovanou aplikací a prohlížečem. Tímto způsobem proxy maskuje AUT pod fiktivní URL.
Jaká je funkce pozastavení v Selenium IDE?
Funkce pozastavení je příkaz v Selenium IDE, který zpozdí provádění automatického testu o určitou dobu. Čas je udáván v milisekundách, takže pro čekání 3 sekundy je třeba zadat 3000.
Proč testy v Selenium IDE selhávají?
- Asynchronní webové stránky. Testy v Seleniu se tvoří v určitém pořadí. Nicméně některé stránky jsou založeny na asynchronní architektuře a nemusí odpovídat v očekávaném pořadí.
- Časové limity. Selenium může selhat, pokud čeká příliš dlouho na načtení komponenty. Tyto chyby lze řešit použitím „čekání“.
- Chyby. Selenium se neustále vyvíjí. Občas se však můžete setkat s chybami, které mohou způsobit selhání testů.
- Drobné změny ve zdrojovém kódu. Pokud se změní lokátor prvku, všechny testy, které se na tento lokátor zaměřují, mohou selhat.
Co je TestNG a jaké jsou jeho funkce?
TestNG je open-source framework pro automatizaci testování, inspirovaný JUnit a NUnit. Název NG, Next Generation, odkazuje na jeho vývoj.
Mezi funkce TestNG patří:
- Podporuje různé typy tvrzení.
- Umožňuje paralelní spouštění testů.
- Díky atributům ‚dependsOnMethods‘ a ‚dependsOnGroups‘ je možné vytvářet závislosti mezi testy.
- Umožňuje testování řízené daty.
- Nabízí možnost seskupování testů.
Jaký je rozdíl mezi implicitním a explicitním čekáním?
- Implicitní čekání říká WebDriveru, aby čekal určenou dobu, než vyvolá výjimku. Výchozí hodnota je 0 a po nastavení času WebDriver čeká do uplynutí tohoto časového intervalu.
- Explicitní čekání říká WebDriveru, aby počkal na splnění určitých podmínek nebo ExpectedConditions, než vyvolá výjimku „ElementNotVisibleException“. Explicitní čekání je „inteligentní“ čekání, které se vztahuje pouze na určené prvky.
Co je úložiště objektů?
Úložiště objektů je centrální místo v automatizačním testovacím skriptu GUI, kde se nachází kolekce párů klíč-hodnota. Klíč je logický název identifikující objekty a hodnoty obsahují unikátní vlastnosti, které identifikují objekty na obrazovce. Usnadňuje tak údržbu testovacích skriptů.
Úložiště objektů slouží jako centrální místo pro uložení a správu všech dat.
Na jaké výjimky můžete narazit v Selenium WebDriveru?
Výjimka je neočekávaná nebo neobvyklá událost, která může nastat během provádění programu nebo softwarové aplikace. Lze ji popsat jako běhovou chybu neočekávané události nebo výsledku, která naruší běžný průběh programu.
Mezi nejběžnější výjimky v Selenium WebDriveru patří:
- NoSuchWindowException. WebDriver se pokouší přepnout na neplatné (nedostupné) okno.
- NoSuchElementException. Objeví se, když je požadovaný prvek nedostupný.
- NoAlertPresentException. Tato výjimka se vyvolá, když se pokusíte přepnout na žádné dostupné upozornění.
- TimeoutException. Příkaz neproběhl v daném časovém limitu.
- ElementNotVisibleException. Prvek není viditelný.
- ElementNotSellectableException. K této výjimce dochází, když prvek nelze vybrat (např. kliknout), i když je dostupný v DOM.
- SessionNotFoundException. WebDriver funguje ihned po zavření prohlížeče.
Vyjmenujte různé typy lokátorů
- Id
- Name
- ClassName
- TagName
- LinkText
- PartialLinkText
- CSS Selector
- XPath
Co jsou body přerušení a počáteční body?
- Počáteční body udávají místo, kde má spuštění kódu začít. Používají se ke spuštění testovacího skriptu od určitého bodu.
- Body přerušení se používají k zastavení provádění kódu. Umožňují ověřit, zda kód funguje podle očekávání.
Závěrem
Výše uvedené otázky týkající se Selenium jsou typické pro pohovory o automatizaci testování. Předtím, než se ucházíte o roli testovacího automatizačního inženýra, ujistěte se, že máte potřebné dovednosti.
Líbil se vám článek? Neváhejte a sdílejte ho s ostatními.