SlideShare une entreprise Scribd logo
1  sur  87
Télécharger pour lire hors ligne
World Wide биллинг глазами QA 
Кудинов Илья, Badoo
Тестирование биллинга — 
это не (очень) страшно!
8 шагов к успешному 
тестированию биллинга 
● ??? 
● ??? 
● ??? 
● ??? 
● ??? 
● ??? 
● ??? 
● ???
8 шагов к успешному 
тестированию биллинга 
● Не боимся! 
● ??? 
● ??? 
● ??? 
● ??? 
● ??? 
● ??? 
● ???
Немного о Badoo 
● >220 млн пользователей 
● >1.5 млн пользователей онлайн в пике 
● Приложения для всех популярных платформ 
● >140 разработчиков, >30 QA-инженеров 
● 2 релиза в день 
● ~30 задач в релизе
Биллинг Badoo 
● Платежи во всех странах планеты 
● ~30 активных интеграций агрегаторов (за всё 
время — больше 100) 
● ~300 обращений в секунду 
● 9 разработчиков 
● 3 QA инженера
Billing cluster 
Billing API 
Скриптовые 
машины 
CreditCard 
server 
Облачные 
сервисы 
Платёжные 
системы
Задачи разработки биллинга 
● Новый функционал
Задачи разработки биллинга 
● Новый функционал 
● Новые интеграции
Задачи разработки биллинга 
● Новый функционал 
● Новые интеграции 
● Актуализация интеграций
Задачи разработки биллинга 
● Новый функционал 
● Новые интеграции 
● Актуализация интеграций 
● Исправление багов
Задачи разработки биллинга 
● Новый функционал 
● Новые интеграции 
● Актуализация интеграций 
● Исправление багов 
● Оптимизация
Задачи разработки биллинга 
● Новый функционал 
● Новые интеграции 
● Актуализация интеграций 
● Исправление багов 
● Оптимизация 
● Решение проблем технической поддержки
Задачи разработки биллинга 
● Новый функционал 
● Новые интеграции 
● Актуализация интеграций 
● Исправление багов 
● Оптимизация 
● Решение проблем технической поддержки 
● Технический долг
Что тестируем? 
Пользовательские 
интерфейсы 
Веб-визарды 
Мобильные 
визарды 
Окна настроек
Что тестируем? 
Пользовательские 
интерфейсы 
Веб-визарды 
Мобильные 
визарды 
Окна настроек 
Админка 
конфигуратор 
биллинга 
Инструменты для 
техподдержки 
и тестирования
Что тестируем? 
Пользовательские 
интерфейсы 
Веб-визарды 
Мобильные 
визарды 
Окна настроек 
Серверная «внутрянка» 
Логика 
платежей 
Отложенные 
события 
Очереди и 
Оказание услуг 
Админка 
конфигуратор 
биллинга 
Инструменты для 
техподдержки 
и тестирования
Пользовательские интерфейсы
Пользовательские интерфейсы 
● Корректное отображение платёжных форм
Пользовательские интерфейсы 
● Корректное отображение платёжных форм 
● Правильные цены
Пользовательские интерфейсы 
● Корректное отображение платёжных форм 
● Правильные цены 
● Условия оказания сервиса
Пользовательские интерфейсы 
● Корректное отображение платёжных форм 
● Правильные цены 
● Условия оказания сервиса 
● Попапы с сообщениями об успешной оплате 
или об ошибке
Пользовательские интерфейсы 
● Корректное отображение платёжных форм 
● Правильные цены 
● Условия оказания сервиса 
● Попапы с сообщениями об успешной оплате 
или об ошибке 
● Соответствие требованиям регуляторов
Пользовательские интерфейсы
Песочницы 
● Тестовое окружение 
● Тестовые данные 
● Собственные тестовые заглушки 
● Но не всегда :(
Мобильные визарды 
● Недостаточно менять код биллинга
Мобильные визарды 
● Недостаточно менять код биллинга 
● Специализированные методы платежей
Мобильные визарды 
● Недостаточно менять код биллинга 
● Специализированные методы платежей 
● Не всегда удобные песочницы
Мобильные визарды 
● Недостаточно менять код биллинга 
● Специализированные методы платежей 
● Не всегда удобные песочницы 
● Ошибки не только на нашей стороне
Мобильные визарды 
● Недостаточно менять код биллинга 
● Специализированные методы платежей 
● Не всегда удобные песочницы 
● Ошибки не только на нашей стороне 
● Определённая зависимость от девайса
Требования регуляторов 
● Дизайн платёжных окон 
● Формулировки для условий 
● Время для проведения платежей
8 шагов к успешному 
тестированию биллинга 
● Не боимся 
● Тестируем платежи максимально полно! 
● ??? 
● ??? 
● ??? 
● ??? 
● ??? 
● ???
Работа с внешними сервисами 
● Не всегда ошибки на нашей стороне
Работа с внешними сервисами 
● Не всегда ошибки на нашей стороне 
● Партнёры иногда работают не быстро
Работа с внешними сервисами 
● Не всегда ошибки на нашей стороне 
● Партнёры иногда работают не быстро 
● Не всегда уведомляют об изменениях
Работа с внешними сервисами 
● Не всегда ошибки на нашей стороне 
● Партнёры иногда работают не быстро 
● Не всегда уведомляют об изменениях 
● Документация может быть неполной или 
некорректной
Работа с внешними сервисами 
● Не всегда ошибки на нашей стороне 
● Партнёры иногда работают не быстро 
● Не всегда уведомляют об изменениях 
● Документация может быть неполной или 
некорректной 
● Иногда выгоднее временно отключить, чем 
пытаться править :(
8 шагов к успешному 
тестированию биллинга 
● Не боимся 
● Тестируем платежи максимально полно 
● Не верим в идеальность агрегаторов! 
● ??? 
● ??? 
● ??? 
● ??? 
● ???
Админка 
● Инструменты управления подписками 
пользователей
Админка 
● Инструменты управления подписками 
пользователей 
● Конфигуратор биллинга 
– Цены и доступность сервисов и методов 
платежей 
– Настройки для разных flow и приложений 
– A/B тестирование
Админка 
● Инструменты управления подписками 
пользователей 
● Конфигуратор биллинга 
– Цены и доступность сервисов и методов 
платежей 
– Настройки для разных flow и приложений 
– A/B тестирование 
● Промо-акции
Routing Platform
8 шагов к успешному 
тестированию биллинга 
● Не боимся 
● Тестируем платежи максимально полно 
● Не верим в идеальность агрегаторов 
● Тестируем админку! 
● ??? 
● ??? 
● ??? 
● ???
Самый сок — внутренняя магия
Внутренняя логика платежей
Внутренняя логика платежей 
● Обращения к платёжной системе
Внутренняя логика платежей 
● Обращения к платёжной системе 
● Нотификации от платёжной системы
Внутренняя логика платежей 
● Обращения к платёжной системе 
● Нотификации от платёжной системы 
● Оказание услуг
Внутренняя логика платежей 
● Обращения к платёжной системе 
● Нотификации от платёжной системы 
● Оказание услуг 
● Обновление подписок
Внутренняя логика платежей 
● Обращения к платёжной системе 
● Нотификации от платёжной системы 
● Оказание услуг 
● Обновление подписок 
● Платежи по имеющимся деталям
Внутренняя логика платежей 
● Обращения к платёжной системе 
● Нотификации от платёжной системы 
● Оказание услуг 
● Обновление подписок 
● Платежи по имеющимся деталям 
● Откат операции в случае ошибки
Внутренняя логика платежей 
● Обращения к платёжной системе 
● Нотификации от платёжной системы 
● Оказание услуг 
● Обновление подписок 
● Платежи по имеющимся деталям 
● Откат операции в случае ошибки 
● And on and on and on and on...
Внутренняя логика платежей 
● ЧИТАЕМ КОД!
Внутренняя логика платежей 
● ЧИТАЕМ КОД! 
● Пишем интеграционные тесты
Внутренняя логика платежей 
● ЧИТАЕМ КОД! 
● Пишем интеграционные тесты 
● Отключаем обращения к агрегаторам
Внутренняя логика платежей 
● ЧИТАЕМ КОД! 
● Пишем интеграционные тесты 
● Отключаем обращения к агрегаторам 
● Эмулируем нотификации
Внутренняя логика платежей 
● ЧИТАЕМ КОД! 
● Пишем интеграционные тесты 
● Отключаем обращения к агрегаторам 
● Эмулируем нотификации 
● Правим базы данных руками
Внутренняя логика платежей 
● ЧИТАЕМ КОД! 
● Пишем интеграционные тесты 
● Отключаем обращения к агрегаторам 
● Эмулируем нотификации 
● Правим базы данных руками 
● QAAPI!
8 шагов к успешному 
тестированию биллинга 
● Не боимся 
● Тестируем платежи максимально полно 
● Не верим в идеальность агрегаторов 
● Тестируем админку 
● С готовностью лезем в дебри! 
● ??? 
● ??? 
● ???
Занимательный дебаг
Занимательный дебаг 
● Добавление дебаг-вывода
Занимательный дебаг 
● Добавление дебаг-вывода 
● Чтение логов и графиков
Занимательный дебаг 
● Добавление дебаг-вывода 
● Чтение логов и графиков 
● Контроль данных в БД
Занимательный дебаг 
● Добавление дебаг-вывода 
● Чтение логов и графиков 
● Контроль данных в БД 
● Сборка «контрольных» и «тестовых» 
приложений
Занимательный дебаг 
● Добавление дебаг-вывода 
● Чтение логов и графиков 
● Контроль данных в БД 
● Сборка «контрольных» и «тестовых» 
приложений 
● Много мата
8 шагов к успешному 
тестированию биллинга 
● Не боимся 
● Тестируем платежи максимально полно 
● Не верим в идеальность агрегаторов 
● Тестируем админку 
● С готовностью лезем в дебри 
● Общаемся с разработчиками! 
● ??? 
● ???
Авто-тесты
Авто-тесты 
Модульные 
Интеграционные 
Системные
Авто-тесты 
● Запуск руками при разработке
Авто-тесты 
● Запуск руками при разработке 
● Автоматический запуск по готовности задачи
Авто-тесты 
● Запуск руками при разработке 
● Автоматический запуск по готовности задачи 
● Запуск руками при тестировании
Авто-тесты 
● Запуск руками при разработке 
● Автоматический запуск по готовности задачи 
● Запуск руками при тестировании 
● Автоматический запуск при сборке билда
Авто-тесты 
● Запуск руками при разработке 
● Автоматический запуск по готовности задачи 
● Запуск руками при тестировании 
● Автоматический запуск при сборке билда 
● Регулярный автоматический прогон на 
стейджинге
Ускорение автотестов 
● Облачная пускалка 
● Селениум-ферма 
● QAAPI 
● Много агентов TeamCity
8 шагов к успешному 
тестированию биллинга 
● Не боимся 
● Тестируем платежи максимально полно 
● Не верим в идеальность агрегаторов 
● Тестируем админку 
● С готовностью лезем в дебри 
● Общаемся с разработчиками 
● Пишем и гоняем тесты! 
● ???
Мониторинг 
● Контроль над состоянием системы 
● Проверка задач после релиза 
● Быстрое обнаружение аномалий
Метрики мониторинга 
● Логирование ошибок
Метрики мониторинга 
● Логирование ошибок 
● Дебаг для исследования аномалий
Метрики мониторинга 
● Логирование ошибок 
● Дебаг для исследования аномалий 
● Графики 
– Производительность и нагрузка 
– Размер очередей, время доставки сервиса 
– Успешные платежи странам, агрегаторам и т.д.
Метрики мониторинга 
● Логирование ошибок 
● Дебаг для исследования аномалий 
● Графики 
– Производительность и нагрузка 
– Размер очередей, время доставки сервиса 
– Успешные платежи по странам и агрегаторам 
● Подробное логирование каждой операции
RRDtool
Splunk
BVM v2 
● Автоматическая система анализа данных 
● Наблюдение за всеми способами платежей 
● Реагирует на новые аномалии 
● Умеет учитывать сезонность графиков
Изучение аномалий
8 шагов к успешному 
тестированию биллинга 
● Не боимся 
● Тестируем платежи максимально полно 
● Не верим в идеальность агрегаторов 
● Тестируем админку 
● С готовностью лезем в дебри 
● Общаемся с разработчиками 
● Пишем и гоняем тесты 
● Изучаем поведение системы!
8 шагов к успешному 
тестированию биллинга 
● Не боимся 
● Тестируем платежи максимально полно 
● Не верим в идеальность агрегаторов 
● Тестируем админку 
● С готовностью лезем в дебри 
● Общаемся с разработчиками 
● Пишем и гоняем тесты 
● Изучаем поведение системы
Заключение 
BBaaddoooo DDeevveellooppmmeenntt 
http://vk.com/badoocom 
http://fb.com/BadooMoscow 
http://habrahabr.ru/company/badoo 
ККууддиинноовв ИИллььяя 
i.kudinov@corp.badoo.com 
http://vk.com/relzeg 
http://fb.com/relzeg

Contenu connexe

Similaire à Worldwide биллинг Badoo глазами QA

Test automation. Part 2. Уровни. Методики. Стек автоматизации.
Test automation. Part 2. Уровни. Методики. Стек автоматизации.Test automation. Part 2. Уровни. Методики. Стек автоматизации.
Test automation. Part 2. Уровни. Методики. Стек автоматизации.Эдуард Сухарев
 
Доклад Анатолия Панова на конференции DevConf 2014. "Прием платежей в Badoo -...
Доклад Анатолия Панова на конференции DevConf 2014. "Прием платежей в Badoo -...Доклад Анатолия Панова на конференции DevConf 2014. "Прием платежей в Badoo -...
Доклад Анатолия Панова на конференции DevConf 2014. "Прием платежей в Badoo -...Badoo Development
 
Прием платежей в Badoo взгляд изнутри. HighLoad++ 2014 (HL++ 2014)
Прием платежей в Badoo   взгляд изнутри. HighLoad++ 2014 (HL++ 2014)Прием платежей в Badoo   взгляд изнутри. HighLoad++ 2014 (HL++ 2014)
Прием платежей в Badoo взгляд изнутри. HighLoad++ 2014 (HL++ 2014)Anatoly Panov
 
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)Ontico
 
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)Badoo Development
 
Фриланс и мобильные приложения (Вадим Дробинин)
Фриланс и мобильные приложения (Вадим Дробинин)Фриланс и мобильные приложения (Вадим Дробинин)
Фриланс и мобильные приложения (Вадим Дробинин)Vadim Drobinin
 
Вадим Дробинин, Фриланс в сфере мобильных приложений: с чего начинать
Вадим Дробинин, Фриланс в сфере мобильных приложений: с чего начинатьВадим Дробинин, Фриланс в сфере мобильных приложений: с чего начинать
Вадим Дробинин, Фриланс в сфере мобильных приложений: с чего начинатьMail.ru Group
 
Веб-аналитика на практике
Веб-аналитика на практикеВеб-аналитика на практике
Веб-аналитика на практикеRoman.ua
 
Тимстрим по веб-аналитике
Тимстрим по веб-аналитикеТимстрим по веб-аналитике
Тимстрим по веб-аналитикеDIGITAL YAPONOCHKA.COM
 
Организация автоматического тестирования в схеме непрерывной интеграции
Организация автоматического тестирования в схеме непрерывной интеграцииОрганизация автоматического тестирования в схеме непрерывной интеграции
Организация автоматического тестирования в схеме непрерывной интеграцииSQALab
 
Нагрузочное тестирование web проектов
Нагрузочное тестирование web проектовНагрузочное тестирование web проектов
Нагрузочное тестирование web проектовSQALab
 
БанкИТ2-15: Лучшие идеи в e-commerce, которые можно использовать на банковск...
БанкИТ2-15: Лучшие идеи в e-commerce, которые можно использовать на банковск...БанкИТ2-15: Лучшие идеи в e-commerce, которые можно использовать на банковск...
БанкИТ2-15: Лучшие идеи в e-commerce, которые можно использовать на банковск...Новый Сайт
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...borovoystudio
 
Построение процесса тестирования производительности игрового клиента
Построение процесса тестирования производительности игрового клиентаПостроение процесса тестирования производительности игрового клиента
Построение процесса тестирования производительности игрового клиентаSQALab
 
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков   Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...В.Денисенков   Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...borovoystudio
 
Вячеслав Федоров - Mailing Day Санкт-Петербург - 18 июня 2015
Вячеслав Федоров - Mailing Day Санкт-Петербург - 18 июня 2015Вячеслав Федоров - Mailing Day Санкт-Петербург - 18 июня 2015
Вячеслав Федоров - Mailing Day Санкт-Петербург - 18 июня 2015Mailing Day
 
Правильный интернет-магазин на платформе «1С-битрикс». Разумный функционал и ...
Правильный интернет-магазин на платформе «1С-битрикс». Разумный функционал и ...Правильный интернет-магазин на платформе «1С-битрикс». Разумный функционал и ...
Правильный интернет-магазин на платформе «1С-битрикс». Разумный функционал и ...Интернет-агентство ИНТЕРВОЛГА
 

Similaire à Worldwide биллинг Badoo глазами QA (20)

Test automation. Part 2. Уровни. Методики. Стек автоматизации.
Test automation. Part 2. Уровни. Методики. Стек автоматизации.Test automation. Part 2. Уровни. Методики. Стек автоматизации.
Test automation. Part 2. Уровни. Методики. Стек автоматизации.
 
Доклад Анатолия Панова на конференции DevConf 2014. "Прием платежей в Badoo -...
Доклад Анатолия Панова на конференции DevConf 2014. "Прием платежей в Badoo -...Доклад Анатолия Панова на конференции DevConf 2014. "Прием платежей в Badoo -...
Доклад Анатолия Панова на конференции DevConf 2014. "Прием платежей в Badoo -...
 
Прием платежей в Badoo взгляд изнутри. HighLoad++ 2014 (HL++ 2014)
Прием платежей в Badoo   взгляд изнутри. HighLoad++ 2014 (HL++ 2014)Прием платежей в Badoo   взгляд изнутри. HighLoad++ 2014 (HL++ 2014)
Прием платежей в Badoo взгляд изнутри. HighLoad++ 2014 (HL++ 2014)
 
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)
 
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)
 
Фриланс и мобильные приложения (Вадим Дробинин)
Фриланс и мобильные приложения (Вадим Дробинин)Фриланс и мобильные приложения (Вадим Дробинин)
Фриланс и мобильные приложения (Вадим Дробинин)
 
Вадим Дробинин, Фриланс в сфере мобильных приложений: с чего начинать
Вадим Дробинин, Фриланс в сфере мобильных приложений: с чего начинатьВадим Дробинин, Фриланс в сфере мобильных приложений: с чего начинать
Вадим Дробинин, Фриланс в сфере мобильных приложений: с чего начинать
 
Веб-аналитика на практике
Веб-аналитика на практикеВеб-аналитика на практике
Веб-аналитика на практике
 
Тимстрим по веб-аналитике
Тимстрим по веб-аналитикеТимстрим по веб-аналитике
Тимстрим по веб-аналитике
 
Организация автоматического тестирования в схеме непрерывной интеграции
Организация автоматического тестирования в схеме непрерывной интеграцииОрганизация автоматического тестирования в схеме непрерывной интеграции
Организация автоматического тестирования в схеме непрерывной интеграции
 
Openmart
OpenmartOpenmart
Openmart
 
Google Analitycs Для Новичков
Google Analitycs Для НовичковGoogle Analitycs Для Новичков
Google Analitycs Для Новичков
 
Нагрузочное тестирование web проектов
Нагрузочное тестирование web проектовНагрузочное тестирование web проектов
Нагрузочное тестирование web проектов
 
БанкИТ2-15: Лучшие идеи в e-commerce, которые можно использовать на банковск...
БанкИТ2-15: Лучшие идеи в e-commerce, которые можно использовать на банковск...БанкИТ2-15: Лучшие идеи в e-commerce, которые можно использовать на банковск...
БанкИТ2-15: Лучшие идеи в e-commerce, которые можно использовать на банковск...
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
 
Построение процесса тестирования производительности игрового клиента
Построение процесса тестирования производительности игрового клиентаПостроение процесса тестирования производительности игрового клиента
Построение процесса тестирования производительности игрового клиента
 
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков   Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...В.Денисенков   Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
 
Вячеслав Федоров - Mailing Day Санкт-Петербург - 18 июня 2015
Вячеслав Федоров - Mailing Day Санкт-Петербург - 18 июня 2015Вячеслав Федоров - Mailing Day Санкт-Петербург - 18 июня 2015
Вячеслав Федоров - Mailing Day Санкт-Петербург - 18 июня 2015
 
Правильный интернет-магазин на платформе «1С-битрикс». Разумный функционал и ...
Правильный интернет-магазин на платформе «1С-битрикс». Разумный функционал и ...Правильный интернет-магазин на платформе «1С-битрикс». Разумный функционал и ...
Правильный интернет-магазин на платформе «1С-битрикс». Разумный функционал и ...
 

Plus de SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженSQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 
Истинная сила тестировщика - информация
Истинная сила тестировщика - информацияИстинная сила тестировщика - информация
Истинная сила тестировщика - информацияSQALab
 

Plus de SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 
Истинная сила тестировщика - информация
Истинная сила тестировщика - информацияИстинная сила тестировщика - информация
Истинная сила тестировщика - информация
 

Worldwide биллинг Badoo глазами QA

  • 1. World Wide биллинг глазами QA Кудинов Илья, Badoo
  • 2. Тестирование биллинга — это не (очень) страшно!
  • 3. 8 шагов к успешному тестированию биллинга ● ??? ● ??? ● ??? ● ??? ● ??? ● ??? ● ??? ● ???
  • 4. 8 шагов к успешному тестированию биллинга ● Не боимся! ● ??? ● ??? ● ??? ● ??? ● ??? ● ??? ● ???
  • 5. Немного о Badoo ● >220 млн пользователей ● >1.5 млн пользователей онлайн в пике ● Приложения для всех популярных платформ ● >140 разработчиков, >30 QA-инженеров ● 2 релиза в день ● ~30 задач в релизе
  • 6. Биллинг Badoo ● Платежи во всех странах планеты ● ~30 активных интеграций агрегаторов (за всё время — больше 100) ● ~300 обращений в секунду ● 9 разработчиков ● 3 QA инженера
  • 7. Billing cluster Billing API Скриптовые машины CreditCard server Облачные сервисы Платёжные системы
  • 8. Задачи разработки биллинга ● Новый функционал
  • 9. Задачи разработки биллинга ● Новый функционал ● Новые интеграции
  • 10. Задачи разработки биллинга ● Новый функционал ● Новые интеграции ● Актуализация интеграций
  • 11. Задачи разработки биллинга ● Новый функционал ● Новые интеграции ● Актуализация интеграций ● Исправление багов
  • 12. Задачи разработки биллинга ● Новый функционал ● Новые интеграции ● Актуализация интеграций ● Исправление багов ● Оптимизация
  • 13. Задачи разработки биллинга ● Новый функционал ● Новые интеграции ● Актуализация интеграций ● Исправление багов ● Оптимизация ● Решение проблем технической поддержки
  • 14. Задачи разработки биллинга ● Новый функционал ● Новые интеграции ● Актуализация интеграций ● Исправление багов ● Оптимизация ● Решение проблем технической поддержки ● Технический долг
  • 15. Что тестируем? Пользовательские интерфейсы Веб-визарды Мобильные визарды Окна настроек
  • 16. Что тестируем? Пользовательские интерфейсы Веб-визарды Мобильные визарды Окна настроек Админка конфигуратор биллинга Инструменты для техподдержки и тестирования
  • 17. Что тестируем? Пользовательские интерфейсы Веб-визарды Мобильные визарды Окна настроек Серверная «внутрянка» Логика платежей Отложенные события Очереди и Оказание услуг Админка конфигуратор биллинга Инструменты для техподдержки и тестирования
  • 19. Пользовательские интерфейсы ● Корректное отображение платёжных форм
  • 20. Пользовательские интерфейсы ● Корректное отображение платёжных форм ● Правильные цены
  • 21. Пользовательские интерфейсы ● Корректное отображение платёжных форм ● Правильные цены ● Условия оказания сервиса
  • 22. Пользовательские интерфейсы ● Корректное отображение платёжных форм ● Правильные цены ● Условия оказания сервиса ● Попапы с сообщениями об успешной оплате или об ошибке
  • 23. Пользовательские интерфейсы ● Корректное отображение платёжных форм ● Правильные цены ● Условия оказания сервиса ● Попапы с сообщениями об успешной оплате или об ошибке ● Соответствие требованиям регуляторов
  • 25. Песочницы ● Тестовое окружение ● Тестовые данные ● Собственные тестовые заглушки ● Но не всегда :(
  • 26. Мобильные визарды ● Недостаточно менять код биллинга
  • 27. Мобильные визарды ● Недостаточно менять код биллинга ● Специализированные методы платежей
  • 28. Мобильные визарды ● Недостаточно менять код биллинга ● Специализированные методы платежей ● Не всегда удобные песочницы
  • 29. Мобильные визарды ● Недостаточно менять код биллинга ● Специализированные методы платежей ● Не всегда удобные песочницы ● Ошибки не только на нашей стороне
  • 30. Мобильные визарды ● Недостаточно менять код биллинга ● Специализированные методы платежей ● Не всегда удобные песочницы ● Ошибки не только на нашей стороне ● Определённая зависимость от девайса
  • 31. Требования регуляторов ● Дизайн платёжных окон ● Формулировки для условий ● Время для проведения платежей
  • 32. 8 шагов к успешному тестированию биллинга ● Не боимся ● Тестируем платежи максимально полно! ● ??? ● ??? ● ??? ● ??? ● ??? ● ???
  • 33. Работа с внешними сервисами ● Не всегда ошибки на нашей стороне
  • 34. Работа с внешними сервисами ● Не всегда ошибки на нашей стороне ● Партнёры иногда работают не быстро
  • 35. Работа с внешними сервисами ● Не всегда ошибки на нашей стороне ● Партнёры иногда работают не быстро ● Не всегда уведомляют об изменениях
  • 36. Работа с внешними сервисами ● Не всегда ошибки на нашей стороне ● Партнёры иногда работают не быстро ● Не всегда уведомляют об изменениях ● Документация может быть неполной или некорректной
  • 37. Работа с внешними сервисами ● Не всегда ошибки на нашей стороне ● Партнёры иногда работают не быстро ● Не всегда уведомляют об изменениях ● Документация может быть неполной или некорректной ● Иногда выгоднее временно отключить, чем пытаться править :(
  • 38. 8 шагов к успешному тестированию биллинга ● Не боимся ● Тестируем платежи максимально полно ● Не верим в идеальность агрегаторов! ● ??? ● ??? ● ??? ● ??? ● ???
  • 39. Админка ● Инструменты управления подписками пользователей
  • 40. Админка ● Инструменты управления подписками пользователей ● Конфигуратор биллинга – Цены и доступность сервисов и методов платежей – Настройки для разных flow и приложений – A/B тестирование
  • 41. Админка ● Инструменты управления подписками пользователей ● Конфигуратор биллинга – Цены и доступность сервисов и методов платежей – Настройки для разных flow и приложений – A/B тестирование ● Промо-акции
  • 43. 8 шагов к успешному тестированию биллинга ● Не боимся ● Тестируем платежи максимально полно ● Не верим в идеальность агрегаторов ● Тестируем админку! ● ??? ● ??? ● ??? ● ???
  • 44. Самый сок — внутренняя магия
  • 46. Внутренняя логика платежей ● Обращения к платёжной системе
  • 47. Внутренняя логика платежей ● Обращения к платёжной системе ● Нотификации от платёжной системы
  • 48. Внутренняя логика платежей ● Обращения к платёжной системе ● Нотификации от платёжной системы ● Оказание услуг
  • 49. Внутренняя логика платежей ● Обращения к платёжной системе ● Нотификации от платёжной системы ● Оказание услуг ● Обновление подписок
  • 50. Внутренняя логика платежей ● Обращения к платёжной системе ● Нотификации от платёжной системы ● Оказание услуг ● Обновление подписок ● Платежи по имеющимся деталям
  • 51. Внутренняя логика платежей ● Обращения к платёжной системе ● Нотификации от платёжной системы ● Оказание услуг ● Обновление подписок ● Платежи по имеющимся деталям ● Откат операции в случае ошибки
  • 52. Внутренняя логика платежей ● Обращения к платёжной системе ● Нотификации от платёжной системы ● Оказание услуг ● Обновление подписок ● Платежи по имеющимся деталям ● Откат операции в случае ошибки ● And on and on and on and on...
  • 54. Внутренняя логика платежей ● ЧИТАЕМ КОД! ● Пишем интеграционные тесты
  • 55. Внутренняя логика платежей ● ЧИТАЕМ КОД! ● Пишем интеграционные тесты ● Отключаем обращения к агрегаторам
  • 56. Внутренняя логика платежей ● ЧИТАЕМ КОД! ● Пишем интеграционные тесты ● Отключаем обращения к агрегаторам ● Эмулируем нотификации
  • 57. Внутренняя логика платежей ● ЧИТАЕМ КОД! ● Пишем интеграционные тесты ● Отключаем обращения к агрегаторам ● Эмулируем нотификации ● Правим базы данных руками
  • 58. Внутренняя логика платежей ● ЧИТАЕМ КОД! ● Пишем интеграционные тесты ● Отключаем обращения к агрегаторам ● Эмулируем нотификации ● Правим базы данных руками ● QAAPI!
  • 59. 8 шагов к успешному тестированию биллинга ● Не боимся ● Тестируем платежи максимально полно ● Не верим в идеальность агрегаторов ● Тестируем админку ● С готовностью лезем в дебри! ● ??? ● ??? ● ???
  • 61. Занимательный дебаг ● Добавление дебаг-вывода
  • 62. Занимательный дебаг ● Добавление дебаг-вывода ● Чтение логов и графиков
  • 63. Занимательный дебаг ● Добавление дебаг-вывода ● Чтение логов и графиков ● Контроль данных в БД
  • 64. Занимательный дебаг ● Добавление дебаг-вывода ● Чтение логов и графиков ● Контроль данных в БД ● Сборка «контрольных» и «тестовых» приложений
  • 65. Занимательный дебаг ● Добавление дебаг-вывода ● Чтение логов и графиков ● Контроль данных в БД ● Сборка «контрольных» и «тестовых» приложений ● Много мата
  • 66. 8 шагов к успешному тестированию биллинга ● Не боимся ● Тестируем платежи максимально полно ● Не верим в идеальность агрегаторов ● Тестируем админку ● С готовностью лезем в дебри ● Общаемся с разработчиками! ● ??? ● ???
  • 69. Авто-тесты ● Запуск руками при разработке
  • 70. Авто-тесты ● Запуск руками при разработке ● Автоматический запуск по готовности задачи
  • 71. Авто-тесты ● Запуск руками при разработке ● Автоматический запуск по готовности задачи ● Запуск руками при тестировании
  • 72. Авто-тесты ● Запуск руками при разработке ● Автоматический запуск по готовности задачи ● Запуск руками при тестировании ● Автоматический запуск при сборке билда
  • 73. Авто-тесты ● Запуск руками при разработке ● Автоматический запуск по готовности задачи ● Запуск руками при тестировании ● Автоматический запуск при сборке билда ● Регулярный автоматический прогон на стейджинге
  • 74. Ускорение автотестов ● Облачная пускалка ● Селениум-ферма ● QAAPI ● Много агентов TeamCity
  • 75. 8 шагов к успешному тестированию биллинга ● Не боимся ● Тестируем платежи максимально полно ● Не верим в идеальность агрегаторов ● Тестируем админку ● С готовностью лезем в дебри ● Общаемся с разработчиками ● Пишем и гоняем тесты! ● ???
  • 76. Мониторинг ● Контроль над состоянием системы ● Проверка задач после релиза ● Быстрое обнаружение аномалий
  • 77. Метрики мониторинга ● Логирование ошибок
  • 78. Метрики мониторинга ● Логирование ошибок ● Дебаг для исследования аномалий
  • 79. Метрики мониторинга ● Логирование ошибок ● Дебаг для исследования аномалий ● Графики – Производительность и нагрузка – Размер очередей, время доставки сервиса – Успешные платежи странам, агрегаторам и т.д.
  • 80. Метрики мониторинга ● Логирование ошибок ● Дебаг для исследования аномалий ● Графики – Производительность и нагрузка – Размер очередей, время доставки сервиса – Успешные платежи по странам и агрегаторам ● Подробное логирование каждой операции
  • 83. BVM v2 ● Автоматическая система анализа данных ● Наблюдение за всеми способами платежей ● Реагирует на новые аномалии ● Умеет учитывать сезонность графиков
  • 85. 8 шагов к успешному тестированию биллинга ● Не боимся ● Тестируем платежи максимально полно ● Не верим в идеальность агрегаторов ● Тестируем админку ● С готовностью лезем в дебри ● Общаемся с разработчиками ● Пишем и гоняем тесты ● Изучаем поведение системы!
  • 86. 8 шагов к успешному тестированию биллинга ● Не боимся ● Тестируем платежи максимально полно ● Не верим в идеальность агрегаторов ● Тестируем админку ● С готовностью лезем в дебри ● Общаемся с разработчиками ● Пишем и гоняем тесты ● Изучаем поведение системы
  • 87. Заключение BBaaddoooo DDeevveellooppmmeenntt http://vk.com/badoocom http://fb.com/BadooMoscow http://habrahabr.ru/company/badoo ККууддиинноовв ИИллььяя i.kudinov@corp.badoo.com http://vk.com/relzeg http://fb.com/relzeg