Upload
badoo-development
View
171.285
Download
4
Embed Size (px)
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 минут.