Upgrade to Pro — share decks privately, control downloads, hide ads and more …

QA - Изоляция компонентов

F831177123a4ddda9aa1802721f0a0db?s=47 Ozon Tech
January 20, 2022

QA - Изоляция компонентов

F831177123a4ddda9aa1802721f0a0db?s=128

Ozon Tech

January 20, 2022
Tweet

More Decks by Ozon Tech

Other Decks in Technology

Transcript

  1. Изоляция компонентов Дмитрий Колесник Специалист по тестированию

  2. 2

  3. План • Как можно изолировать компоненты приложения? • Тестовые дублеры

    • Какие бывают формы? 3
  4. Путаница в терминологии тестирования 4

  5. 5

  6. 6

  7. 7

  8. 8

  9. 9

  10. 10

  11. 11

  12. 12

  13. 13

  14. Лишние действия Оплата Сбор заказа Резерв стоков 14

  15. Долгая обратная связь 15

  16. Можно тестировать приложение по частям 16

  17. Модульное (unit) тестирование 17

  18. Тесты на функции или методы класса 18

  19. Тесты на front или back? 19

  20. Сборка приложения 20

  21. Скорость исполнения тестов 21

  22. Sociable and Solitary 22 https://martinfowler.com/articles/2021-test-shapes.html

  23. Тестовые дублеры 23

  24. Dummy 24

  25. Fake 25 Service ORM Database In memory database

  26. Stub 26

  27. Spy 27 Вызов функции Почтовый сервер Отправка письма Вызов функции

    Spy dev/null
  28. Mock 28

  29. Кто пишет unit тесты? Разработчик или Тестировщик? Test Driven Development

    Dependency injection 29
  30. Клиент серверное приложение 30 Клиент • Web приложение • Mobile

    app • etc… Сервер • Приложение • База данных • Внешние API • etc…
  31. Микросервисная архитектура 31 Entrypoint Item facade Item service Item DB

    Marketing API User API User DB
  32. Как выглядит микросервис https://martinfowler.com/articles/microservice-testing/#anatomy-modules 32

  33. Компонентное тестирование 33

  34. Что такое компонент? https://martinfowler.com/articles/microservice-testing/#testing-component-in-process-diagram 34

  35. Интеграционное тестирование 35

  36. Схема интеграционного теста 36 Сервис Входящий запрос Database External API

  37. Интеграционный тест с базой данных 37

  38. Тестирование через API 38

  39. Service discovery 39

  40. Контрактное тестирование 40

  41. Provider test / Consumer test 41 Executable test Consumer Provider

    Interface
  42. Contract first 42

  43. UI тестирование 43

  44. Record and playback testing 44

  45. Скриншот тесты 45

  46. Show rooms 46

  47. Системное тестирование (e2e) 47

  48. 48

  49. UI e2e и API e2e 49

  50. Исследовательское тестирование 50

  51. 51 Уровни изоляции компонентов приложения при тестировании Исследовательское тестирование Системное

    тестирование (end to end / e2e) Тестирование пользовательского интерфейса Контрактное тестирование Интеграционное тестирование Компонентное тестирование Модульное тестирование (unit)
  52. Как об этом пишут другие? 52

  53. 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
  54. martinfowler.com https://martinfowler.com/articles/microservice-testing/ 54

  55. Как тестируют в Google 55 Виды тестов Большие Средние Маленькие

  56. Паттерны и антипаттерны Формы тестов 56

  57. Рожок мороженого https://khushiy.com/2019/02/07/test-pyramid-antipatterns/ 57

  58. Песочные часы https://testing.googleblog.com/2020/11/fixing-test-hourglass.html 58

  59. Пирамида https://martinfowler.com/articles/practical-test-pyramid.html#TheTestPyramid 59

  60. Гексагон или соты https://engineering.atspotify.com/2018/01/11/testing-of-microservices/ 60

  61. Как правильно делать? 61

  62. Дмитрий Колесник Спасибо за внимание! dkolesnik@ozon.ru