1
Indonesia PhilippinesMalaysia ThailandSingapore Vietnam
Как мы тестируем?
• Основана в 2012 году
• Крупнейший e-
commerce в 6 странах
Юго-Восточной Азии с
населением 650 млн
человек
• Более 40 млн продуктов
• На последней
распродаже, продавали
1,2 млн товаров в день
• С 2016 года входим в
Alibaba Group
2
Как все начиналось
• Первый TechHub во Вьетнаме
открыт в 2013 году
• 10 PHP программистов и 3 QA 
• Сложные релизы проходили только
по ночам
• Типичный стартап....
*на фото один из наших ночных релизов
3
Команда Lazada сейчас
• 4 TechHubs: Вьетнам, Сингапур,
Бангкок, Москва
• Около 600 инженеров
• 90% платформы
разрабатывается в Москве
• Разработка платформы только на
Golang
• Более 130 Golang
программистов, 100 из которых
находятся в Москве
• 3 DC, 1500+ серверов, 10к rps
на сервер
4
5
• Что тестировать?
• Как тестировать?
• Наши помощники:
собаки и руки
Краткое содержание
6
Что тестируем?
Product
Service
Product
Service
Product
Service
Product
Service
Product
Service
7
• Предсказуемый процесс
• Прозрачные кейсы
• Избегать ошибок
• Ошибки должны быть дешевыми
Как тестируем?
8
Предсказуемый процесс
9
Предсказуемый процесс
• тестовая среда в докере под каждую задачу
• автоматический прогон тестов при успешной сборке
среды
• автоматическая сборка релиза из QA Passed задач
• автоматический прогон тестов после деплоя –
результаты в Slack … и пр.
10
Прозрачные кейсы
11
Прозрачные кейсы
12
Прозрачные кейсы
13
14
• https://github.com/fuzzdb-project/fuzzdb
• https://github.com/trailofbits/protofuzz
• https://pypi.python.org/pypi/fuzzing
15
Избегать ошибок: pip install fuzzing
Fuzzer – Инструмент для тестирование с
использование рандомных или не валидных данных
16
Избегать ошибок: pip install fuzzing
import fuzzing
seed = "This is a body of POST request"

number_of_fuzz_variants = 10

fuzz_factor = 5
fuzzed_data = fuzzing.fuzz_string(seed,
number_of_fuzz_variants,
fuzz_factor)
print(fuzzed_data)
17
Избегать ошибок: SOA tool
• Проверяет сервис на
соответствие SOA Code
Convention
• Headers, Content-Type,
Port
requirements, TraceId,
Response Codes 400..500
• Консольный инструмент
• Ответ в формате json
18
Избегать ошибок: SOA tool
19
Избегать ошибок: Degradation tool
20
Избегать ошибок: анализ зависимостей
21
Избегать ошибок: анализ зависимостей
22
Избегать ошибок: анализ зависимостей
23
• Test coverage tool
• Emulate user experience
Избегать ошибок: автотесты
24
Определить покрытие
25
Hand helper
Sparky
Слак-бот для организации
релизного процесса
26
27
Sparky
28
Sparky
29
Sparky
30
Questions

SECON'2017, LAZADA Effartlrss Shopping, Как мы тестируем?