Доклад Виталия Котова на конференции LoveQA. "Selenium...

Preview:

DESCRIPTION

Презентация с первой конференции Badoo для тестировщиков LoveQA.

Citation preview

Selenium тесты.

От RC и одного пользователя к WebDriver, PageObject и пулу

пользователей.

О чем это я...

● Обзор програмных продуктов Selenium.

● Этапы тестирования и о тестах на каждом из них.

● Наши первые автотесты. Как и почему мы потом многое переписали.

● Что мы получили в итоге.

Интеграционное тестирование - тестирование совокупности компонентов системы.

Selenium - инструмент для автоматизированного управления браузерами. Включает в себя:

Selenium IDE

Selenium Remote Control

Selenium Webdriver

Selenium Server & Selenium Grid

Selenium IDE - расширение для Firefox, позволяющее записывать и воспроизводить действия пользователя в браузере.

Selenium WebDriver - cемейство драйверов для различных браузеров и набор клиентских библиотек на разных языках программирования.

Selenium Remote Control - предшественник Selenium WD. На данный момент работа над проектом преостановлена и в дальнейшем он развиваться не планируется.

Selenium Server - это сервер, который позволяет управлять браузером с удалённой машины, по сети...

Grid - кластер из нескольких серверов Selenium.

Как мы используем Selenium тесты.

Когда мы используем Selenium тесты.

● Девел - работа с тестовыми даными.

● Шоты - опционально, по группам.

● Стейджинг - все тесты, всегда.

● Продакшн - только критические тесты.

Какие проверки мы автоматизировали..

● Функциональность сайта

● Наличие ошибок в Javascript

● Расположение элементов (не верстку!)

Первые тесты Selenium.

Покрытие тестами web-версию Badoo.

Покрыть быстро

все фичи и

запустить в ТС

Покрытие мобильной версии Badoo тестами.

WD

RC

С чем пришлось бороться…

● Тесты написаны на двухразных фреймворках.

● Библиотека разрослась ис ней сложно работать.

● Тесты слишком длинные.

“Прослойка” между RC и WD.

Webdriver

Тест для RC Тест для WD

МАГИЯ!

Плюсы перехода на Webdriver

● Появилась возможность писать тесты для различных браузеров.

● Единая библиотека для всех тестов.

● Использовать selenium grid. Параллелить тесты.

Как было в начале...

Тест

BadooSeleniumTC

ТестТест

Новый подход в организации библиотеки.

Тест

API

BadooWebDriverTC

Тест Тест

UI UIUI APIAPI

Как здорово иметь удобную библиотеку!!

● Более читаемый код. Логика отдельно, взаимодействие с интерфейсом отдельно...

● Писать новые тесты с каждым разом проще!!

● При изменении компонента в проекте меняется только код UI, сам тест не меняется..

Почему тесты идут так долго?..

Подготовка данных для теста...

Предустановленные пользователи

Апи на стороне сервера.

Интеграция QaApi в тесты...

Selenium Server

Тест

QaApi

Возможности QaApi

● Быстрая подготовка данных к тесту до его начала.

● Универсальный доступ к данным пользователя.

● Возможность “очистки” пользователей для повторного использование.

● Пул пользователей на почти все возможные кейзы.

Пул пользователей на все случаи жизни.....

Что мы получили в итоге

● Кроссплатформенные и кроссбраузерные тесты.

● Короткие тесты, проверяющие конкретный кейз.

● Возможность запускать тесты параллельно.

~30 тестов / 1 поток == 25 минут.~300 тестов / 10 поток ~= 10 минут.

Recommended