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

More Related Content

PPTX
Особенности интеграционного тестирования биллинговой системы банка
PPTX
За витриной. Бэк-офис интернет-магазина
PDF
4 месяца моей работы в Coffee like
PDF
VoxImplant eCommerce Use Cases
PDF
Прием платежей в Badoo взгляд изнутри. Dev Conf 2014
PPTX
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
PDF
ДЛЯ МОБИЛЬНЫХ РАЗРАБОТЧИКОВ
PDF
Доклад "Биллинг в большом проекте" на РИТ++ 2014
Особенности интеграционного тестирования биллинговой системы банка
За витриной. Бэк-офис интернет-магазина
4 месяца моей работы в Coffee like
VoxImplant eCommerce Use Cases
Прием платежей в Badoo взгляд изнутри. Dev Conf 2014
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
ДЛЯ МОБИЛЬНЫХ РАЗРАБОТЧИКОВ
Доклад "Биллинг в большом проекте" на РИТ++ 2014

Similar to Worldwide биллинг Badoo глазами QA (20)

PDF
Доклад Анатолия Панова на конференции РИТ++ 2014. "Биллинг в большом проекте"
PDF
Анатолий Панов (Badoo)
PDF
Монетизация бизнеса по модели подписки
PPTX
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
PDF
BPM
PDF
Управление бизнес-процессами
PDF
Billing In SaaS applications on Rails
PPTX
Описание полного цикла разработки интернет-продукта
PDF
Web pay development guide
ODP
Bugs
PPTX
Pdidenko лекция - екатеринбург - 9 марта 2011
PPTX
Pdidenko лекция - екатеринбург - 9 марта 2011
PDF
Maxim Babich (IT Spring 2013)
PDF
Прием платежей в Badoo взгляд изнутри. HighLoad++ 2014 (HL++ 2014)
PDF
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)
PDF
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)
PPTX
Мобильный двигатель торговли
PDF
Доклад Анатолия Панова на конференции DevConf 2014. "Прием платежей в Badoo -...
PPTX
Бизнес-ориентированное тестирование eCommerce приложений
PDF
Mobile credentials
Доклад Анатолия Панова на конференции РИТ++ 2014. "Биллинг в большом проекте"
Анатолий Панов (Badoo)
Монетизация бизнеса по модели подписки
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
BPM
Управление бизнес-процессами
Billing In SaaS applications on Rails
Описание полного цикла разработки интернет-продукта
Web pay development guide
Bugs
Pdidenko лекция - екатеринбург - 9 марта 2011
Pdidenko лекция - екатеринбург - 9 марта 2011
Maxim Babich (IT Spring 2013)
Прием платежей в Badoo взгляд изнутри. HighLoad++ 2014 (HL++ 2014)
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)
Приём платежей в Badoo - взгляд изнутри, Анатолий Панов (Badoo)
Мобильный двигатель торговли
Доклад Анатолия Панова на конференции DevConf 2014. "Прием платежей в Badoo -...
Бизнес-ориентированное тестирование eCommerce приложений
Mobile credentials
Ad

More from SQALab (20)

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

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