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
4.3k
QA - Изоляция компонентов
Ozon Tech
January 20, 2022
Tweet
Share
More Decks by Ozon Tech
See All by Ozon Tech
Анастасия Писнова, «Текст как проект»
ozontech
0
43
Светлана Каюшина, Автоматизируем документирование и внедряем ИИ
ozontech
0
60
Павел Костромитин, «Что случилось у UXW T-Банка в 2024 »
ozontech
0
100
Сергей Горшенин, «Конвертация данных Ozon»
ozontech
0
63
Юрий Гуреев, «Интеграция 1С с внешними системами. Проблемы и их решения»
ozontech
0
85
Артём Нургалиев, «Кэш на кэш: как ускоряли автобиддеры»
ozontech
0
56
Анна Мария Попова (Х5 Tech) – Фантастический техпис: может ли опыт создания художественных книг помочь в написании документации
ozontech
0
230
Александр Мачулин (Gramax) – Справочник фантастических тварей из Docs as Code
ozontech
0
240
Мария Смирнова – Дзен и искусство работы с документацией: как использовать принципы буддизма в работе техписа
ozontech
0
190
Other Decks in Technology
See All in Technology
AI駆動開発を事業のコアに置く
tasukuonizawa
1
270
AWS Network Firewall Proxyを触ってみた
nagisa53
1
240
What happened to RubyGems and what can we learn?
mikemcquaid
0
310
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
680
プロポーザルに込める段取り八分
shoheimitani
1
470
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
180
広告の効果検証を題材にした因果推論の精度検証について
zozotech
PRO
0
190
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.5k
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.6k
Agile Leadership Summit Keynote 2026
m_seki
1
650
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2k
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
580
Featured
See All Featured
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
93
A better future with KSS
kneath
240
18k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
430
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
450
The untapped power of vector embeddings
frankvandijk
1
1.6k
Designing for Performance
lara
610
70k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
55
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
420
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]