Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Вплив архітектури на стратегію тестування
Рі Ріна Ужевко
qanavigator.com.ua
У тестуванні з 2008 року
QA Lead, Resource manager in Epam
Trainer and author courses “QA Navigator leaderships”
● Менторка, тренерка та наставниця
● Голова програмного комітету конференції SQA Days (2012-2019), SQA Days EU,
PM conf
● Авторка курсів по лідерству та тестуванню в Gamedev
● Спікерка конференції (Agile, SECR, SQA Days, Confet&QA тощо)
● Авторка статей у журналі «Tester’s Life»
● Організаторка міні конференцій
● Одна з ведучих подкасту Radio QA
● Брала участь у міжнародних змаганнях за Кубок світу з тестування (Europe'14)
● Веде Youtube та Telegram канали QA Navigator Leadership
Про мене
qanavigator.com.ua
Архітектура продукту
Модель С4 та UML
Як впливає кожен рівень на тестування
01
02
03
qanavigator.com.ua
qanavigator.com.ua
- це визначення структури системи, яка включає в себе компоненти програмного
забезпечення, їхні взаємозв'язки, принципи організації та взаємодії між ними.
● Hardware architecture
● Network architecture
● Database architecture
Архітектура
qanavigator.com.ua
1. документ, який фіксує план проведення тестування системи чи окремого модулю,
який враховує специфіку функціональності та її залежності з іншими
системами/модулями.
2. стратегія забезпечення користувачів якісним продуктом, яка включає в себе стратегію
тестування та інші процеси, які необхідні для цього.
Постійно підтримується і змінюється.
Що таке cтратегія тестування?
qanavigator.com.ua
Testability - це властивість програмного забезпечення, що визначає його здатність до
тестування.
Показники:
1. Модульність
2. Чіткість інтерфейсів
3. Наявність інструментів тестування
4. Масштабованість тестування
6. Зручність відладки
Нащо нам це?
qanavigator.com.ua
● Прозорість коду
● Швидкість тестування
● Швидкість та якість змін в коді
● Залежності коду (і тестування)
● Об’єм тестування
● Якість та підтримка автотестів
● Перфоманс
● Безпека
● Та інше
На що впливає архітектура?
qanavigator.com.ua
● моноліт
● мікросервісна
● клієнт-сервіс
● EDA (event driven architecture)
● схема P2P (Peer-to-Peer)
● SOA (Service Oriented Architecture)
Різновиди архітектури
Модель С4 та /або UML
qanavigator.com.ua
- це набір ієрархічних схем, які використовуються для опису програмної архітектури
Модель С4
qanavigator.com.ua
- зорієнтована на різноманітні аспекти моделювання програмного забезпечення,
включає не лише архітектуру а й бізнес-сценарії, та інші аспекти
- це набір діаграм, і не кожна діаграма відображає архітектуру
UML (Unified Modeling Language)
qanavigator.com.ua
- кожна з них використовується для різних потреб
- кожна може використовуватись окремо, або як доповнення іншої
Параллель:
UML VS C4
Діаграма класів <-> Рівень коду
Діаграма послідовності <-> Рівень компонентів
Діаграма активностей <-> Рівень контейнері
Діаграма варіантів <-> Рівень контексту
qanavigator.com.ua
- описує місце системи в її оточенні та
визначає зовнішні вимоги до неї
Контекст
Що по тестуванню ? Контекст
Не зупиняйтесь на цьому рівні!
- Usability
- UAT
- UI/UX
- End-to-End
- Security
- Perfomance
- Integration
- та інші
qanavigator.com.ua
- це упаковки, які містять
компоненти, а також їх
залежності та середовище
виконання.
- Docker не контейнер!
- Ізольований
- додаток або БД
Контейнери
qanavigator.com.ua
Мінімальний рівень знань для тестувальників
- CI/CD
- BD
- Network architecture
- Test data preparation
- Perfomance
Що по тестуванню? Контейнери
qanavigator.com.ua
- це функціональні частини
програмного забезпечення
- можуть бути різного розміру і
рівня складності - від окремих
функцій до цілих підсистем.
Компоненти
qanavigator.com.ua
Бажаний рівень для тестування
- Component
- Stubs
- Automation
- Integration
- Release management
- Test model created
Що по тестуванню? Компоненти
qanavigator.com.ua
- внутрішня реалізація системи включає в
себе функції, бібліотеки, класи та ін.
Код
qanavigator.com.ua
Не для QA ?!?
- Unit tests
- Automated
- Code cоverage
- Ніякого дублювання тестів
- Домовленість по зонам відповідальності
Що по тестуванню? Код
qanavigator.com.ua
Архітектура С4 +/ UML + Вимоги бізнесу -> Тестова піраміда + Квадранти тестування +
Тестова модель -> Зони відповідальності + врахування різновидів архітектури
= Стратегія тестування
Закріпимо
Контекст
Контейнер
Компонент
Код
qanavigator.com.ua
➔ рівень контейнер
➔ обмеженність масштабування
➔ низький вплив на тестування
Ознаки простої / складної архітектури
qanavigator.com.ua
➔ розподілена архітектура
➔ декілька баз даних
➔ рівень компоненти
➔ різний набір технологій
➔ гнучке масштабування
➔ Багато залежностей
➔ Складність інтеграцій
➔ Великий об’єм регресу
➔ CІ/CD неможливий
➔ Складно внести зміни в код /автотести
➔ Вразливість
Що виявить проблеми:
Component testing, Integration testing, Performance testing, Security testing, Regression testing
Якщо у вас
90% - Архітектура
qanavigator.com.ua
Ваше завдання - > Донести бізнес цінність замовнику
Для цього: будуйте стратегію з урахуванням продукту на всіх рівнях!
Підсумки
qanavigator.com.ua
Дякую за увагу
Запитання?
Мій телеграм -канал Мій сайт Мій youtube канал
Linkedin
Instagram
Rina Uzhevko

More Related Content

РІНА УЖЕВКО «Вплив архітектури на стратегію тестування»

  • 1. Вплив архітектури на стратегію тестування Рі Ріна Ужевко
  • 2. qanavigator.com.ua У тестуванні з 2008 року QA Lead, Resource manager in Epam Trainer and author courses “QA Navigator leaderships” ● Менторка, тренерка та наставниця ● Голова програмного комітету конференції SQA Days (2012-2019), SQA Days EU, PM conf ● Авторка курсів по лідерству та тестуванню в Gamedev ● Спікерка конференції (Agile, SECR, SQA Days, Confet&QA тощо) ● Авторка статей у журналі «Tester’s Life» ● Організаторка міні конференцій ● Одна з ведучих подкасту Radio QA ● Брала участь у міжнародних змаганнях за Кубок світу з тестування (Europe'14) ● Веде Youtube та Telegram канали QA Navigator Leadership Про мене qanavigator.com.ua
  • 3. Архітектура продукту Модель С4 та UML Як впливає кожен рівень на тестування 01 02 03 qanavigator.com.ua qanavigator.com.ua
  • 4. - це визначення структури системи, яка включає в себе компоненти програмного забезпечення, їхні взаємозв'язки, принципи організації та взаємодії між ними. ● Hardware architecture ● Network architecture ● Database architecture Архітектура qanavigator.com.ua
  • 5. 1. документ, який фіксує план проведення тестування системи чи окремого модулю, який враховує специфіку функціональності та її залежності з іншими системами/модулями. 2. стратегія забезпечення користувачів якісним продуктом, яка включає в себе стратегію тестування та інші процеси, які необхідні для цього. Постійно підтримується і змінюється. Що таке cтратегія тестування? qanavigator.com.ua
  • 6. Testability - це властивість програмного забезпечення, що визначає його здатність до тестування. Показники: 1. Модульність 2. Чіткість інтерфейсів 3. Наявність інструментів тестування 4. Масштабованість тестування 6. Зручність відладки Нащо нам це? qanavigator.com.ua
  • 7. ● Прозорість коду ● Швидкість тестування ● Швидкість та якість змін в коді ● Залежності коду (і тестування) ● Об’єм тестування ● Якість та підтримка автотестів ● Перфоманс ● Безпека ● Та інше На що впливає архітектура? qanavigator.com.ua
  • 8. ● моноліт ● мікросервісна ● клієнт-сервіс ● EDA (event driven architecture) ● схема P2P (Peer-to-Peer) ● SOA (Service Oriented Architecture) Різновиди архітектури Модель С4 та /або UML qanavigator.com.ua
  • 9. - це набір ієрархічних схем, які використовуються для опису програмної архітектури Модель С4 qanavigator.com.ua
  • 10. - зорієнтована на різноманітні аспекти моделювання програмного забезпечення, включає не лише архітектуру а й бізнес-сценарії, та інші аспекти - це набір діаграм, і не кожна діаграма відображає архітектуру UML (Unified Modeling Language) qanavigator.com.ua
  • 11. - кожна з них використовується для різних потреб - кожна може використовуватись окремо, або як доповнення іншої Параллель: UML VS C4 Діаграма класів <-> Рівень коду Діаграма послідовності <-> Рівень компонентів Діаграма активностей <-> Рівень контейнері Діаграма варіантів <-> Рівень контексту qanavigator.com.ua
  • 12. - описує місце системи в її оточенні та визначає зовнішні вимоги до неї Контекст
  • 13. Що по тестуванню ? Контекст Не зупиняйтесь на цьому рівні! - Usability - UAT - UI/UX - End-to-End - Security - Perfomance - Integration - та інші qanavigator.com.ua
  • 14. - це упаковки, які містять компоненти, а також їх залежності та середовище виконання. - Docker не контейнер! - Ізольований - додаток або БД Контейнери qanavigator.com.ua
  • 15. Мінімальний рівень знань для тестувальників - CI/CD - BD - Network architecture - Test data preparation - Perfomance Що по тестуванню? Контейнери qanavigator.com.ua
  • 16. - це функціональні частини програмного забезпечення - можуть бути різного розміру і рівня складності - від окремих функцій до цілих підсистем. Компоненти qanavigator.com.ua
  • 17. Бажаний рівень для тестування - Component - Stubs - Automation - Integration - Release management - Test model created Що по тестуванню? Компоненти qanavigator.com.ua
  • 18. - внутрішня реалізація системи включає в себе функції, бібліотеки, класи та ін. Код qanavigator.com.ua
  • 19. Не для QA ?!? - Unit tests - Automated - Code cоverage - Ніякого дублювання тестів - Домовленість по зонам відповідальності Що по тестуванню? Код qanavigator.com.ua
  • 20. Архітектура С4 +/ UML + Вимоги бізнесу -> Тестова піраміда + Квадранти тестування + Тестова модель -> Зони відповідальності + врахування різновидів архітектури = Стратегія тестування Закріпимо Контекст Контейнер Компонент Код qanavigator.com.ua
  • 21. ➔ рівень контейнер ➔ обмеженність масштабування ➔ низький вплив на тестування Ознаки простої / складної архітектури qanavigator.com.ua ➔ розподілена архітектура ➔ декілька баз даних ➔ рівень компоненти ➔ різний набір технологій ➔ гнучке масштабування
  • 22. ➔ Багато залежностей ➔ Складність інтеграцій ➔ Великий об’єм регресу ➔ CІ/CD неможливий ➔ Складно внести зміни в код /автотести ➔ Вразливість Що виявить проблеми: Component testing, Integration testing, Performance testing, Security testing, Regression testing Якщо у вас 90% - Архітектура qanavigator.com.ua
  • 23. Ваше завдання - > Донести бізнес цінність замовнику Для цього: будуйте стратегію з урахуванням продукту на всіх рівнях! Підсумки qanavigator.com.ua
  • 24. Дякую за увагу Запитання? Мій телеграм -канал Мій сайт Мій youtube канал Linkedin Instagram Rina Uzhevko