Конспект «Тестування ПЗ та забезпечення якості»

24 вересня 2025

Модуль «Моделі, методології та фреймворки в розрізі управління якістю програмного продукту»

Загальна ціль модулю

  • Ми знайомимося з процесами розробки ПЗ з «вертолітного погляду» — від загальних моделей до конкретних методологій та фреймворків.
  • Важливо розуміти: кожна модель впливає на якість продукту, бо визначає, коли і як тестувальник підключається до процесу. Чим раніше він включений — тим більше впливу має на якість кінцевого продукту.

Життєвий цикл розробки ПЗ

SDLC (Software Development Life Cycle) — концепція, яка описує етапи створення ПЗ від ідеї до підтримки.

Основні моделі розробки

  • Waterfall (каскадна модель)
    Лінійна послідовність етапів, майже без повернення назад. Мінус — складно виправляти помилки після запуску.
  • Prototyping model Створюється швидкий прототип (чернетка продукту), щоб замовник і команда могли перевірити функціонал і внести зміни до повноцінної розробки.
  • Iterative & Incremental
    Продукт створюється частинами (ітераціями). Дає більше гнучкості. Раніше знаходжуються баги та недоліки.
  • Спіральна модель поєднує ітеративний підхід з аналізом ризиків: кожен цикл включає планування, розробку, тестування та оцінку ризиків перед наступним кроком. Цикли закінчуються релізами нової версії, чи оновленнями поточної.
  • V-model
    Тестування планується паралельно з розробкою. Кожному етапу відповідає рівень тестування.
  • Agile (гнучкий підхід, своєрідна «філософія» розробки)
    Маленькі ітерації, швидкі результати, постійний зворотний зв’язок. Основний стандарт сьогодні.

Популярні Agile методології та фреймворки

Scrum — фреймворк, де важливі

  • ролі (Product Owner, Scrum Master, Dev Team)
  • події (Sprint, Daily Scrum, Planning, Sprint Review, Sprint Retrospective)
  • артефакти (Product Backlog, Sprint Backlog, Increment)
  • Тестувальник є частиною команди розробки, тестує інкременти у спринтах, тісно співпрацює з розробниками й Product Owner.

Kanban — метод управління роботою, де важлива візуалізація та потік завдань.

  • Принципи: візуалізація завдань на дошці, обмеження Work in Progress (WIP), безперервність процесу.
  • Інструмент: Kanban board (колонки які відображають етапи процесу створення продукту в команді).
  • Фокус: баланс між завантаженням команди та швидкістю виконання, зменшення затримок.
  • Тестувальник контролює якість на своєму етапі у потоці завдань, забезпечує швидкий зворотний зв’язок.

Lean — підхід до організації процесів, орієнтований на створення максимальної цінності з мінімальними втратами.

  • Принципи: цінність для клієнта, усунення втрат, оптимізація потоку створення цінності, безперервне вдосконалення.
  • Інструменти: Value Stream Mapping, Kaizen, Just-in-Time.
  • Фокус: мінімізувати «зайве» (час, ресурси, помилки), покращувати якість і ефективність.
  • Тестувальник допомагає виявляти «втрати» у процесах, підкреслює помилки та їх причини, знижує дефекти, забезпечує якість продукту мінімальними зусиллями.

Моделі та роль тестувальника 

Розуміння моделі = розуміння, де і як тестування вбудовується у процес.

  • Waterfall - тестувальник підключається наприкінці, перевіряє готовий продукт; обмежений вплив на якість.
  • Prototyping model – тестувальник перевіряє прототип, збирає відгуки користувачів, фіксує невідповідності та допомагає уточнити вимоги, щоб уникнути помилок у майбутньому продукті.
  • Спіральна модель – тестувальник бере участь у кожному витку спіралі: оцінює ризики, тестує прототипи, дає зворотний зв’язок перед переходом до наступного циклу.
  • Iterative – тестувальник перевіряє кожну нову частину продукту; поступово накопичує сценарії тестування.
  • V-model – тестувальник бере участь із самого початку, планує тести паралельно з розробкою; кожен етап має свій рівень тестування.
  • У Agile — тестування інтегроване в команду, постійне, тестувальник бере участь у всьому процесі.