Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
QA - Изоляция компонентов
Ozon Tech
January 20, 2022
Technology
0
2.9k
QA - Изоляция компонентов
Ozon Tech
January 20, 2022
Tweet
Share
More Decks by Ozon Tech
See All by Ozon Tech
Ван Хачатрян — Spark Streaming: в погоне за оптимальной утилизацией и прозрачностью на hadoop
ozontech
0
2k
Илья Осиновсков — Го обсудим: продакшен ML на Golang
ozontech
0
2k
Алексей Игнатов/Дмитрий Васильев-Инфраструктура PostgreSQL в Ozon
ozontech
0
3.5k
Григорий Смолкин-Управление резервным копированием PostgreSQL
ozontech
0
3.4k
Андрей Бородин (Yandex.Cloud) - Фичи, которых нет
ozontech
0
3.4k
QA - Комбинаторика в тестировании
ozontech
0
2.9k
Other Decks in Technology
See All in Technology
[SRE NEXT 2022]メルカリグループにおけるSREs
srenext
0
470
開発者のための GitHub Organization の安全な運用と 継続的なモニタリング
flatt_security
3
3.9k
數據的多重宇宙 @ LINE Taiwan
line_developers_tw
PRO
0
880
Adopting Kafka for the #1 job site in the world
ymyzk
1
730
Puny to Powerful PostgreSQL Rails Apps
andyatkinson
PRO
0
400
Apache Kafka and the World of Streams
hashitokyo
0
110
失敗を経験したあなたへ〜建設的なインシデントの振り返りを行うために実践するべきこと〜
nobuakikikuchi
0
210
Oracle Content Management サービス概要 (2022年5月版)
oracle4engineer
PRO
0
130
ZOZOTOWNのProduction Readiness Checklistと信頼性向上の取り組み / Improvement the reliability of ZOZOTOWN with Production Readiness Checklist
akitok_
5
2k
testing journey / テストが嫌いでIT業界を離れるはずだったのに〜テスト嫌いが現場で品質改善を実施するまでの物語〜
aki_moon
1
410
1,000万人以上が利用する「家族アルバム みてね」のSRE組織は4年間でどのように作られてきたのか/SRE NEXT 2022
isaoshimizu
6
3.4k
Embedded SRE at Mercari
tcnksm
0
860
Featured
See All Featured
A Philosophy of Restraint
colly
192
14k
Building Applications with DynamoDB
mza
83
4.6k
A Modern Web Designer's Workflow
chriscoyier
689
180k
Learning to Love Humans: Emotional Interface Design
aarron
261
37k
Docker and Python
trallard
27
1.5k
For a Future-Friendly Web
brad_frost
164
7.4k
Statistics for Hackers
jakevdp
781
210k
Reflections from 52 weeks, 52 projects
jeffersonlam
337
17k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
100
5.9k
Designing with Data
zakiwarfel
91
3.9k
It's Worth the Effort
3n
172
25k
The Brand Is Dead. Long Live the Brand.
mthomps
45
2.7k
Transcript
Изоляция компонентов Дмитрий Колесник Специалист по тестированию
2
План • Как можно изолировать компоненты приложения? • Тестовые дублеры
• Какие бывают формы? 3
Путаница в терминологии тестирования 4
5
6
7
8
9
10
11
12
13
Лишние действия Оплата Сбор заказа Резерв стоков 14
Долгая обратная связь 15
Можно тестировать приложение по частям 16
Модульное (unit) тестирование 17
Тесты на функции или методы класса 18
Тесты на front или back? 19
Сборка приложения 20
Скорость исполнения тестов 21
Sociable and Solitary 22 https://martinfowler.com/articles/2021-test-shapes.html
Тестовые дублеры 23
Dummy 24
Fake 25 Service ORM Database In memory database
Stub 26
Spy 27 Вызов функции Почтовый сервер Отправка письма Вызов функции
Spy dev/null
Mock 28
Кто пишет unit тесты? Разработчик или Тестировщик? Test Driven Development
Dependency injection 29
Клиент серверное приложение 30 Клиент • Web приложение • Mobile
app • etc… Сервер • Приложение • База данных • Внешние API • etc…
Микросервисная архитектура 31 Entrypoint Item facade Item service Item DB
Marketing API User API User DB
Как выглядит микросервис https://martinfowler.com/articles/microservice-testing/#anatomy-modules 32
Компонентное тестирование 33
Что такое компонент? https://martinfowler.com/articles/microservice-testing/#testing-component-in-process-diagram 34
Интеграционное тестирование 35
Схема интеграционного теста 36 Сервис Входящий запрос Database External API
Интеграционный тест с базой данных 37
Тестирование через API 38
Service discovery 39
Контрактное тестирование 40
Provider test / Consumer test 41 Executable test Consumer Provider
Interface
Contract first 42
UI тестирование 43
Record and playback testing 44
Скриншот тесты 45
Show rooms 46
Системное тестирование (e2e) 47
48
UI e2e и API e2e 49
Исследовательское тестирование 50
51 Уровни изоляции компонентов приложения при тестировании Исследовательское тестирование Системное
тестирование (end to end / e2e) Тестирование пользовательского интерфейса Контрактное тестирование Интеграционное тестирование Компонентное тестирование Модульное тестирование (unit)
Как об этом пишут другие? 52
istqb.org 53 Certified tester Automotive software tester Component testing Component
test Integration testing Component integration test System testing System test Acceptance testing System integration test System of systems test Acceptance test
martinfowler.com https://martinfowler.com/articles/microservice-testing/ 54
Как тестируют в Google 55 Виды тестов Большие Средние Маленькие
Паттерны и антипаттерны Формы тестов 56
Рожок мороженого https://khushiy.com/2019/02/07/test-pyramid-antipatterns/ 57
Песочные часы https://testing.googleblog.com/2020/11/fixing-test-hourglass.html 58
Пирамида https://martinfowler.com/articles/practical-test-pyramid.html#TheTestPyramid 59
Гексагон или соты https://engineering.atspotify.com/2018/01/11/testing-of-microservices/ 60
Как правильно делать? 61
Дмитрий Колесник Спасибо за внимание! dkolesnik@ozon.ru