Тестування ПЗ
Зміст
9.35M

Основи_проєкту,_учасники_проєктної_команди

1. Тестування ПЗ

Вступ до основ тестування ПЗ ч.3
Микола Бобошко

2. Зміст

• Методи контролю якості «Verification» та «Validation».
• Правила тестування.
• Хто такий тестувальник ПЗ.
• Необхідні навички тестувальника ПЗ.
• Що таке проєкт, його характеристики.
• Життєвий цикл розробки ПЗ (SDLC).
• Учасники проєктної команди, їх ролі та завдання.
• Взаємодія у команді проєкту.
• Проєктна документація. Що таке Project Plan
2

3.

Методи контроля якості
Методи забезпечення якості представляють собою техніки, які гарантують досягнення
певних показників якості при їх застосуванні.
• Як контролювати якість системи?
• Як точно дізнатися, що програма робить саме те, що потрібно, і нічого іншого?
• Як визначити, що вона достатньо надійна, переносима, зручна використанні?
Відповіді на ці питання можна отримати за допомогою процесів:
• Верифікації (Verification).
• Валідації (Validation).
3

4.

Verification
Верифікація - статична практика перевірки документів, дизайну, архітектури, коду. Вона
містить всі дії, які дозволяють досягти високої якості
програмного
забезпечення:
• Walkthroughs в інженерії програмного забезпечення - це форма перевірки колег, під час якої
дизайнер або програміст проводить членів команди розробників та інших зацікавлених сторін
через програмний продукт, і учасники ставлять питання та коментують можливі помилки,
порушення стандартів розробки та інші проблеми.
• Reviews у розробці програмного забезпечення - це тип перегляду програмного забезпечення, в
якому робочий продукт (документ, код або інші) оглядається одним або декількома колегами,
щоб оцінити його технічний вміст та якість.
• Inspection в інженерії програмного забезпечення означає перевірку робочого продукту
колегами, які шукають дефекти, використовуючи чітко визначений процес (інспекція Fagan).
4

5.

Verification
Верифікація завжди відбувається без запуску коду.
Верифікація використовує методи - рецензії, проходження, інспекції та інші.
Верифікація відповідає на питання "Чи робимо ми продукт правильно?"
Верифікація допоможе визначити, чи є програмне забезпечення високої
якості, але вона
не гарантує, що система є корисною. Перевірка
пов'язана з тим, що система добре
спроектована та без помилок.
Верифікація відбувається до валідації.
5

6.

Validation
Валідація - це процес оцінки кінцевого продукту, необхідно перевірити,
чи відповідає програмне забезпечення очікуванням та вимогам клієнта.
Це динамічний механізм перевірки та тестування фактичного продукту.
Валідація завжди включає запуск коду програми.
Валідація відповідає на запитання "Чи робимо ми правильний продукт?"
Валідація перевіряє, чи відповідає програмне забезпечення вимогам та очікуванням
клієнта.
Валідація може знайти помилки, які процес Verification не може вловити.
Валідація відбувається після Verification.
6

7.

Принципи тестування
1.
Тестування демонструє наявність дефектів.
2.
Вичерпне тестування неможливе.
3.
Раннє тестування.
4.
Накопичення дефектів (Правило Парето).
5.
Парадокс пестициду.
6.
Тестування залежить від контексту.
7.
Помилкове уявлення про відсутність помилок.
7

8.

Професія «Тестувальник ПЗ»
Робота тестувальника нагадує роботу слідчого чи детектива! Щоб знайти приховану в
глибині програми помилку, потрібно бути винахідливим!
А саме:
Задавати потрібні запитання.
Розуміти психологію програміста.
Знати техніки тестування.
Розуміти логіку роботи системи.
Вміти спілкуватися з людьми
Вміти передбачати, де саме може ховатися баг.
та багато іншого...
8

9.

Що таке проект?
• Що таке проект для Вас?!
• Які ключові характеристики проекту?
• Навіщо потрібен проект?
9

10.

Що таке проект?
• Проект - Projectus (лат.) – кинутий вперед.
• Проект – це сукупність дій, в яких людські, матеріальні та фінансові ресурси організовані
для виконання унікального набору робіт, визначеного змісту в умовах обмеженої вартості
та часу.
• Проект – це тимчасове підприємство, призначене для створення унікальних продуктів,
послуг та результатів (PMI: PMBOK, 2022).
• PMBOK (Project Management Body of Knowledge) - Енциклопедія знань з управління
проектами, яка побудована на основі функціонального підходу.
• Основа для оцінювання професійних компетенцій проектних менеджерів.
• Джерело створення спільного лексикону в управлінні проектами.
10

11.

Що таке проект?
Характеристики проекту:
Націленість на досягнення конкретної мети.
Координоване виконання взаємопов'язаних дій.
Обмеженість у часі виконання, наявність конкретної дати завершення.
Наявність бюджету (фінансового, матеріального тощо).
Неповторність, унікальність, новизна.
11

12.

Життєвий цикл розробки ПЗ (SDLC)
12

13.

План Проекту
Project Plan (План Проекту):
Project Plan - це документ, що містить детальний опис завдань,
ресурсів, термінів та стратегій виконання проекту. Включає в себе розклад
робіт, бюджет, відповідальних осіб та інші ключові аспекти, необхідні для
успішного завершення проекту. Його мета - забезпечити структурований
план дій для всіх учасників проекту, сприяючи ефективному керівництву та
досягненню поставлених цілей.
13

14.

План Проекту
14

15.

Учасники проектної команди
15

16.

Учасники проектної команди
Замовник (Client)
Позиція: Замовник – це особа чи організація, що
замовляє розробку ПЗ для задоволення своїх потреб.
Обов'язки:
1. Формулювання вимог до продукту.
2. Затвердження етапів проєкту та кінцевого продукту.
3. Надання фідбеку розробникам під час тестування.
4. Участь у плануванні проєкту.
5. Забезпечення фінансування проєкту.
16

17.

Учасники проектної команди
Менеджер проекту (Project Manager)
Позиція: Менеджер проекту відповідає за
планування, виконання та закриття проекту.
Обов'язки:
1. Встановлення цілей і завдань проекту.
2. Координація роботи команди.
3. Контроль термінів виконання проекту.
4. Управління ризиками проекту.
5. Звітування перед замовником.
17

18.

Учасники проектної команди
Тест Менеджер (Test Manager)
Позиція: Тест-менеджер відповідає за планування
тестування, контроль якості та звітування про
результати.
Обов'язки:
1. Розробка стратегії та плану тестування.
2. Координація діяльності тестувальників.
3. Забезпечення покриття тестами всіх вимог.
4. Відстеження виявлених помилок та багів.
5. Звітування про статус тестування.
18

19.

Учасники проектної команди
Бізнес Аналітик (Business Analyst)
Позиція: Бізнес аналітик аналізує вимоги бізнесу та
перетворює їх у технічні специфікації для команди
розробників.
Обов'язки:
1. Збір та аналіз бізнес-вимог.
2. Створення функціональних специфікацій.
3. Комунікація з замовником для уточнення вимог.
4. Підтримка команди розробників.
5. Перевірка відповідності розробленого ПЗ бізнес-вимогам.
19

20.

Учасники проектної команди
Системний Архітектор (System Architect)
Позиція: Системний архітектор проектує архітектуру
системи та забезпечує її відповідність технічним вимогам.
Обов'язки:
1. Розробка технічної архітектури проекту.
2. Вибір технологічного стеку.
3. Оптимізація системи для забезпечення масштабованості
та ефективності.
4. Консультування команди з технічних питань.
5. Забезпечення безпеки системи.
20

21.

Учасники проектної команди
QA/Dev Team Leader (Керівник групи QA/Dev)
Позиція: Керівник групи, керує командою
розробників/тестерів, забезпечуючи технічне
лідерство та наставництво.
Обов'язки:
1. Розподіл завдань серед розробників.
2. Технічне наставництво та підтримка команди.
3. Забезпечення дотримання технічних стандартів.
4. Контроль якості коду.
5. Розв'язання технічних проблем та конфліктів.
21

22.

Учасники проектної команди
Розробники (Developers)
Позиція: Розробники пишуть код та створюють
функціональність програмного забезпечення
відповідно до технічних вимог.
Обов'язки:
1. Написання чистого та ефективного коду.
2. Реалізація нових функцій.
3. Виправлення помилок у коді.
4. Оптимізація існуючого коду.
5. Участь у код-рев'ю.
22

23.

Учасники проектної команди
Тестувальники (Testers)
Позиція: Тестувальники забезпечують виявлення
помилок і перевірку функціональності ПЗ перед його
випуском.
Обов'язки:
1. Розробка та виконання тестових сценаріїв.
2. Документування результатів тестування.
3. Виявлення та реєстрація дефектів.
4. Перевірка виправлень помилок.
5. Співпраця з розробниками для поліпшення якості.
23

24.

Учасники проектної команди
Технічний Письменник (Technical Writer)
Позиція: Технічний письменник створює інструкції,
документацію та допоміжні матеріали для кінцевих
користувачів та розробників.
Обов'язки:
1. Написання технічної документації.
2. Створення довідкових матеріалів та керівництв.
3. Ведення документації проекту.
4. Співпраця з командою для збору інформації.
5. Забезпечення легкості сприйняття матеріалів.
24

25.

Учасники проектної команди
DBA (Database Administrator)
Позиція: Адміністратор баз даних (DBA) - це фахівець,
відповідальний за управління, налаштування, підтримку та
оптимізацію роботи баз даних.
Обов'язки:
1.Встановлення та оновлення систем управління базами
даних (СУБД).
2.Забезпечення безпеки баз даних та захисту даних від
несанкціонованого доступу.
3.Резервне копіювання та відновлення баз даних.
4.Моніторинг продуктивності СУБД та виконання тюнінгу
продуктивності.
5.Підтримка розробників у проектуванні баз даних та
написанні оптимальних запитів.
25

26.

Учасники проектної команди
DevOps Інженер (DevOps Engineer)
Позиція: DevOps інженер - спеціаліст, який працює на перетині
розробки (Dev) та системної адміністрації (Ops), щоб забезпечити
безперебійний цикл розробки та впровадження ПЗ.
Обов'язки:
1.Налаштування та підтримка інфраструктури для розробки та
впровадження ПЗ.
2.Автоматизація процесів розгортання та неперервної інтеграції.
3.Моніторинг роботи систем і швидке реагування на інциденти.
4.Удосконалення процесів для забезпечення масштабованості та
безпеки.
5.Співпраця з командою розробників для оптимізації робочих
процесів.
26

27.

Дякую за увагу!
English     Русский Rules