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