secon'2017, lazada effartlrss shopping, Как мы тестируем?

Post on 21-Jan-2018

64 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Indonesia Philippines Malaysia Thailand Singapore 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

top related