Введение в нефункциональное тестирование

Введение в нефункциональное тестирование

Введение в нефункциональное тестирование

Михаил Ямковый
Старший QA-аналитик НФТ-команды, Exactpro

Мастер-класс
15 мая 2020

Live Streaming: https://youtu.be/IJ9tmX9SHyI

--
Подписывайтесь на Exactpro в социальных сетях:

LinkedIn https://www.linkedin.com/company/exactpro-systems-llc
Twitter https://twitter.com/exactpro
Facebook https://www.facebook.com/exactpro/
Instagram https://www.instagram.com/exactpro/

Подписывайтесь на YouTube канал Exactpro https://www.youtube.com/c/exactprosystems
https://www.youtube.com/c/ExactproVlog

5206c19df417b8876825b5561344c1a0?s=128

Exactpro

May 15, 2020
Tweet

Transcript

  1. 1 Build Software to Test Software exactpro.com

  2. 2 Build Software to Test Software exactpro.com Михаил Ямковый, Senior

    Software Engineer в Exactpro • Выпускник ИАТЭ НИЯУ "МИФИ" (2015), прикладная математика • Занимаюсь тестированием и разработкой ПО London Sydney Toronto
  3. 3 Build Software to Test Software exactpro.com Нефункциональное тестирование –

    это не функциональное тестирование ☺ Это проверка качественных характеристик системы, таких как: производительность, отказоустойчивость, масштабируемость, удобство пользования и т.д.
  4. 4 Build Software to Test Software exactpro.com «ЧТО» Функциональное тестирование

    – отвечает на вопрос
  5. 5 Build Software to Test Software exactpro.com Аппарат для изготовления

    гамбургеров
  6. 6 Build Software to Test Software exactpro.com

  7. 7 Build Software to Test Software exactpro.com Нефункциональное тестирование –

    отвечает на вопрос «КАК»
  8. 8 Build Software to Test Software exactpro.com Вариант 1: •

    Хотим, чтобы система была очень быстрой; • Хотим, чтобы система была устойчивой к отказам оборудования и некорректному поведению пользователей. Вариант 2: А вы скажите, на что система способна, и мы там решим, подходит нам она или нет. Технические требования:
  9. 9 Build Software to Test Software exactpro.com

  10. 10 Build Software to Test Software exactpro.com Financial infrastructures •

    Exchanges • Broker systems • Clearing agencies • Ticker plants • Surveillance systems
  11. 11 Build Software to Test Software exactpro.com • Hardware: ◦

    Серверы ◦ Сетевое окружение • Software: ◦ Главная система ◦ Система мониторинга Основные элементы технологической платформы
  12. 12 Build Software to Test Software exactpro.com Challenging Non-Functional Requirements

    Daily capacity Peak rates Average round-trip latency Availability 3000 trx 2.5 cm < 1 mm 200+ mln transactions 100k+ transactions per second < 100 microseconds 100%
  13. 13 Build Software to Test Software exactpro.com Order profile •

    Для тестирования производительности необходима реалистичная нагрузка • Однако нефункциональное тестирование не ограничивается имитацией нагрузки из продакшена Performance
  14. 14 Build Software to Test Software exactpro.com Latency • Round

    trip time (RTT) • Задержки между компонентами системы • Для каких транзакций необходимо измерять задержку? Performance
  15. 15 Build Software to Test Software exactpro.com Frequency Distribution

  16. 16 Build Software to Test Software exactpro.com Time Series FIX

    Average Round trip latency FIX Maximum Round trip latency
  17. 17 Build Software to Test Software exactpro.com Percentiles Round Trip

    Latency Percentile avg max 100 82 518 99.99 82 408 99.9 81 139 99 80 103
  18. 18 Build Software to Test Software exactpro.com Bursts Performance

  19. 19 Build Software to Test Software exactpro.com Bursts Performance

  20. 20 Build Software to Test Software exactpro.com System Limits Performance

  21. 21 Build Software to Test Software exactpro.com Slow consumers Performance

  22. 22 Build Software to Test Software exactpro.com Rapid users protection

    Throttling Performance
  23. 23 Build Software to Test Software exactpro.com Capacity Performance

  24. 24 Build Software to Test Software exactpro.com Horizontal Scalability

  25. 25 Build Software to Test Software exactpro.com Vertical Scalability

  26. 26 Build Software to Test Software exactpro.com Portability

  27. 27 Build Software to Test Software exactpro.com Failover Resiliency

  28. 28 Build Software to Test Software exactpro.com “Принцип неопределенности” Как

    не “наследить” в тестовой среде: • Иметь отдельный сервер для тестовых нужд • Использовать low footprint инструменты для мониторинга, созданные специально для нефункционального тестирования
  29. 29 Build Software to Test Software exactpro.com High level view

    on real-time monitoring ... Management Server QA Server Server 1 Server 2 Server N Router Daemon_M Daemon_S1 Daemon_S2 Daemon_SN Daemon_I TM Daemon_S Collecting system info, logs parsing, commands execution Collecting system info, logs parsing, commands execution Load control and test scripts execution Communication between daemons and controllers TestManager: Automated execution of test scenarios, collecting and processing test information Daemon_M Daemon_I Router TM Data Processor Data Processor Transform, collect and store data for future use Data visualisation and reporting Data storage
  30. 30 Build Software to Test Software exactpro.com Real-time NFT Monitoring

  31. 31 Build Software to Test Software exactpro.com Common problems Non-functional

    testing discovers Performance degradation Memory leak Race condition / deadlock Process crash (Segmentation fault, stack overflow etc)
  32. 32 Build Software to Test Software exactpro.com Common problems Non-functional

    testing discovers Memory leak
  33. 33 Build Software to Test Software exactpro.com Common problems Non-functional

    testing discovers Memory leak
  34. 34 Build Software to Test Software exactpro.com Race condition Common

    problems Non-functional testing discovers
  35. 35 Build Software to Test Software exactpro.com Race condition /

    Deadlock Common problems Non-functional testing discovers
  36. 36 Build Software to Test Software exactpro.com Спасибо!