Автоматизоване тестування: Ключові питання та відповіді для співбесіди з Selenium
Розробка програмного забезпечення включає кілька етапів, перш ніж продукт стає доступним для кінцевого користувача. Одним з найважливіших етапів є тестування, яке дозволяє виявити недоліки та переконатися, що програма функціонує належним чином.
У минулому, тестування програмного забезпечення проводилося вручну, що вимагало значних витрат часу та ресурсів. Для вирішення цих проблем було створено Selenium, інструмент для автоматизації тестування.
На сьогодні, Selenium є лідером на ринку автоматизованого тестування, і більшість фахівців з тестування активно його використовують. Якщо ви плануєте кар’єру в тестуванні, знання поширених питань, які задають на співбесіді щодо Selenium, дасть вам значну перевагу перед іншими кандидатами.
Нижче представлено перелік типових питань для співбесіди з Selenium та відповіді на них:
Що таке автоматизоване тестування?
Автоматизоване тестування – це процес, під час якого написання та виконання тестів програмного забезпечення здійснюється автоматично, за допомогою спеціальних інструментів, без прямої участі тестувальника. Завдяки цьому, тестувальник може багаторазово використовувати один і той же набір тестів.
Які переваги автоматизованого тестування?
- Економія часу та фінансів: Автоматизоване тестування може бути вигіднішим у довгостроковій перспективі, оскільки зменшує витрати на ручне тестування.
- Можливість повторного використання коду: Створені тестові сценарії можна багаторазово використовувати, що зменшує час на розробку.
- Зниження людських помилок: Автоматизація підвищує точність тестування, мінімізуючи можливість людських помилок.
- Підходить для великих проєктів: Автоматизоване тестування є особливо корисним для великих програм, які потребують значної кількості тестів.
Що таке Selenium?
Selenium – це безкоштовний набір інструментів з відкритим кодом для автоматизації тестування веб-додатків. Він був розроблений Джейсоном Хаггінсом у 2004 році та набув популярності завдяки сильній спільноті розробників. Selenium підтримує різні браузери та платформи.
Які існують форми Selenium?
Selenium – це не просто один інструмент, а цілий набір різних інструментів. До них належать:
- Selenium IDE (Інтегроване середовище розробки)
- Selenium WebDriver
- Selenium Remote Control (RC)
- Selenium Grid
Які мови програмування підтримує Selenium?
- Python
- Java
- C#
- JavaScript
- Ruby
- PHP
- Perl
Які типи тестів підтримує Selenium?
Selenium в основному використовується для функціонального тестування веб-додатків.
Що таке Selenium WebDriver?
Selenium WebDriver відповідає за взаємодію з веб-браузерами. Він використовує можливості браузера для автоматизації різних дій.
Що таке Selenium IDE?
Selenium IDE – це плагін для Firefox, який дозволяє записувати та відтворювати тестові сценарії. Він спрощує процес створення автоматизованих тестів.
Що таке Selenium Grid?
Selenium Grid дозволяє виконувати тести на різних платформах та в різних середовищах одночасно.
Що таке Selenium RC (Remote Control)?
Selenium RC дозволяє створювати тестові сценарії на різних мовах програмування та виконувати їх у різних браузерах.
Що таке Selenese?
Selenese – це мова, яка використовується в Selenium IDE для написання команд. Ці команди допомагають Selenium зрозуміти, які дії потрібно виконати.
Які типи команд Selenese існують?
- Дії: Команди, що змінюють стан програми, наприклад, “ввести текст у поле” або “натиснути на посилання”.
- Аксесори: Команди, що зчитують стан програми та зберігають результати у змінних.
- Твердження: Команди для перевірки стану програми.
Які підходи до пошуку елементів у Selenium?
- ID
- ClassName
- Name
- TagName
- LinkText
- PartialLinkText
- XPath
- CSS Selector
- DOM
Що таке XPath?
XPath використовується для пошуку елементів на веб-сторінці на основі їх шляху в структурі XML (Extensible Markup Language). XML використовується для зберігання та передачі даних.
Яка різниця між “/” і “//” в XPath?
“/” (одинарний слеш) створює XPath з абсолютним шляхом, починаючи пошук від кореневого вузла документа.
“//” (подвійний слеш) створює XPath з відносним шляхом, починаючи пошук з будь-якого місця в документі.
Що таке абсолютний XPath?
Абсолютний XPath починається з “/” і визначає повний шлях від кореня до елемента.
Яка різниця між findElement() і findElements()?
- findElements(): Повертає список усіх веб-елементів, які відповідають заданому критерію.
- findElement(): Повертає перший веб-елемент, який відповідає заданому критерію.
Які типи анотацій використовуються в Selenium?
- BeforeSuite
- BeforeTest
- BeforeClass
- BeforeMethod
- Test
- AfterMethod
- AfterClass
- AfterTest
- AfterSuite
Що таке твердження в Selenium?
Твердження використовуються для перевірки, чи програма функціонує правильно. Якщо твердження не виконується, виконання тесту припиняється.
Яка різниця між командами Assert та Verify?
- Assert: Якщо умова твердження виконується, програма переходить до наступного кроку тесту. Якщо умова хибна, виконання тесту припиняється.
- Verify: Виконання тесту продовжується незалежно від того, чи виконується умова перевірки.
Що таке політика одного походження і як Selenium її обробляє?
Політика одного походження обмежує взаємодію скриптів з ресурсами з різних джерел, підвищуючи безпеку.
Selenium використовує проксі-сервер для обходу цієї політики. Сервер Selenium виступає посередником між браузером і тестовою програмою, маскуючи реальну URL-адресу.
Що таке функція паузи в Selenium IDE?
Функція паузи в Selenium IDE дозволяє зупинити виконання тесту на певний період часу (у мілісекундах).
Чому тести Selenium IDE можуть не виконуватися?
- Асинхронні сайти: Selenium створює тести у певному порядку, але деякі сайти використовують асинхронну архітектуру.
- Тайм-аути: Selenium може не дочекатися завантаження компонента.
- Помилки: У Selenium можуть виникати помилки, що призводять до збоїв тестів.
- Зміни у вихідному коді: Зміни локаторів можуть спричинити збій тестів.
Що таке TestNG і які його особливості?
TestNG – це платформа автоматизації тестування, що є натхненною JUnit та NUnit. Це безкоштовний інструмент з відкритим вихідним кодом.
Особливості TestNG:
- Різноманітні типи тверджень.
- Паралельне виконання тестів.
- Залежності між тестами.
- Тестування на основі даних.
- Групування тестів.
Яка різниця між неявним очікуванням та явним очікуванням?
- Неявне очікування: Змушує WebDriver чекати певний час перед тим, як викликати виняток.
- Явне очікування: Змушує WebDriver чекати певної умови або ExpectedConditions перед тим, як викликати виняток.
Що таке репозиторій об’єктів?
Репозиторій об’єктів – це централізоване місце, де зберігаються пари “ключ-значення” для ідентифікації об’єктів у автоматизованих тестах GUI.
Які винятки можуть виникати у WebDriver?
Винятки – це неочікувані події, що можуть порушити звичайний хід виконання програми. Ось основні винятки в Selenium:
- NoSuchWindowException: Спроба переключитися на неіснуюче вікно.
- NoSuchElementException: Елемент не знайдено.
- NoAlertPresentException: Спроба переключитися на відсутнє сповіщення.
- TimeoutException: Команда не виконалась протягом заданого часу.
- ElementNotVisibleException.
- ElementNotSelectableException: Елемент неможливо вибрати або натиснути.
- SessionNotFoundException: WebDriver використовується після закриття браузера.
Перелічіть різні типи локаторів
- ID
- Name
- ClassName
- TagName
- LinkText
- PartialLinkText
- CSS Selector
- XPath
Що таке точки зупину та початкові точки?
- Початкові точки: Місця, звідки починається виконання коду.
- Точки зупину: Місця, де виконання коду зупиняється для перевірки.
Підведення
Це лише деякі з питань, які можуть виникнути під час співбесіди на посаду інженера з автоматизації тестування. Переконайтеся, що ви володієте необхідними навичками та знаннями, перш ніж подавати заявку на роботу.
Чи сподобався вам цей матеріал? Поділіться ним з іншими!