Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
QA - Изоляция компонентов
Search
Ozon Tech
January 20, 2022
Technology
4.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
QA - Изоляция компонентов
Ozon Tech
January 20, 2022
More Decks by Ozon Tech
See All by Ozon Tech
Анастасия Писнова, «Текст как проект»
ozontech
0
89
Светлана Каюшина, Автоматизируем документирование и внедряем ИИ
ozontech
0
98
Павел Костромитин, «Что случилось у UXW T-Банка в 2024 »
ozontech
0
180
Сергей Горшенин, «Конвертация данных Ozon»
ozontech
0
97
Юрий Гуреев, «Интеграция 1С с внешними системами. Проблемы и их решения»
ozontech
0
120
Артём Нургалиев, «Кэш на кэш: как ускоряли автобиддеры»
ozontech
0
89
Анна Мария Попова (Х5 Tech) – Фантастический техпис: может ли опыт создания художественных книг помочь в написании документации
ozontech
0
270
Александр Мачулин (Gramax) – Справочник фантастических тварей из Docs as Code
ozontech
0
300
Мария Смирнова – Дзен и искусство работы с документацией: как использовать принципы буддизма в работе техписа
ozontech
0
230
Other Decks in Technology
See All in Technology
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.3k
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
330
Refining Active Record
shugo
0
150
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
7
6k
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.4k
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
140
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
1
150
Classmethod Company Deck
satoshi7
1
680
AI時代のPRレビューにどう向き合うか?
kairim0
1
240
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
190
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
570
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
4.9k
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
433
67k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
Typedesign – Prime Four
hannesfritz
42
3.2k
Embracing the Ebb and Flow
colly
88
5.2k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
710
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Being A Developer After 40
akosma
92
590k
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]