Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
QA - Изоляция компонентов
Search
Ozon Tech
January 20, 2022
Technology
0
4k
QA - Изоляция компонентов
Ozon Tech
January 20, 2022
Tweet
Share
More Decks by Ozon Tech
See All by Ozon Tech
Сергей Горшенин, «Конвертация данных Ozon»
ozontech
0
16
Юрий Гуреев, «Интеграция 1С с внешними системами. Проблемы и их решения»
ozontech
0
37
Артём Нургалиев, «Кэш на кэш: как ускоряли автобиддеры»
ozontech
0
14
Анна Мария Попова (Х5 Tech) – Фантастический техпис: может ли опыт создания художественных книг помочь в написании документации
ozontech
0
170
Александр Мачулин (Gramax) – Справочник фантастических тварей из Docs as Code
ozontech
0
120
Мария Смирнова – Дзен и искусство работы с документацией: как использовать принципы буддизма в работе техписа
ozontech
0
110
Сергей Кузнецов – «Эксперименты с нейросетями в рекомендациях»
ozontech
0
110
Артём Нургалиев – «MLOps, автоматизированное обучение и доставка моделей»
ozontech
0
98
Артём Панин – «Автоматическое управление рекламой в Ozon»
ozontech
0
110
Other Decks in Technology
See All in Technology
OCI Vault 概要
oracle4engineer
PRO
0
9.8k
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
3
870
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.7k
【LT】ソフトウェア産業は進化しているのか? #Agilejapan
takabow
0
110
プロダクト活用度で見えた真実 ホリゾンタルSaaSでの顧客解像度の高め方
tadaken3
0
220
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
38
13k
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.4k
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
720
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
160
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
220
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
4
250
あなたの知らない Function.prototype.toString() の世界
mizdra
PRO
3
640
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Optimizing for Happiness
mojombo
376
70k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Ruby is Unlike a Banana
tanoku
97
11k
Happy Clients
brianwarren
98
6.7k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
4 Signs Your Business is Dying
shpigford
180
21k
Rails Girls Zürich Keynote
gr2m
94
13k
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
Дмитрий Колесник Спасибо за внимание!
[email protected]