Про відмінності між Тестуванням, Контролем Якості та Забезпеченням Якості.

03.07.2015

Забезпечення Якості запобігає появі помилок, це безперервний процес повязаний із активністю, яка спрямована на покращення виробництва продукту/послуг.

 

Контроль Якості - це набір активностей, які виконуються з метою виявлення помилок під час реалізації проекту з метою впевнення, що кінцевий результат відповідає очікуваному. 

 

Тестування виявляє помилки у системі, але не запобігає появі помилок.

 

Прочитали визначення. А тепер, для кращого розуміння, поговоримо про застосування цих понять у житті. :) 

 

Для початку, визначимо основні фази реалізації проекту (виробництва продуктів/послуг), від зародження ідеї до реалізації.

 

1. Ідея

2. Дизайн

3. Розробка

4. Реалізація

 

Виникає запитання: як зробити так, щоб реалізувати проект успішно? 

 

Наведемо три можливих випадки, на початку реалізації проекту. Перший - ми це робимо вперше. Другий - у нас є досвід. Третій - ми професіонали. 

 

Приступаємо до роботи. У нас є Ціль - це продукт. Як реалізувати якісний продукт?

 

Випадок "Перший" - ми це робимо вперше. 

 

Розбиваємо фази на максимум можливих. 

 

-зародження, формування, записування ідеї

-функціональна та графічна деталізація 

-розробка прототипу

-розробка продукту

-тестування продукту

-покращення продукту

-реалізація продукту

 

У даному випадку, тільки на фазі Тестування продукту, перевіряється якість вже розробленого продукту. Як нам відомо, Тестування виявляє присутність помилок, але не запобігає їхній появі. Саме це ми і спостерігаємо, у випадку "Першому". 

 

Випадок "Другий" - у нас є досвід реалізації подібного проекту.

 

Ми памятаємо, що після тестування у "Першому" випадку було надто багато помилок, і виправлення їх та перетестовування зайняло більше часу ніж було на це виділено. Вагоме число помилок було повязаних із вимогами до продукту. Уточнення вимог також забрало багато часу. Довготривалі суперечки між тест інженерами і програмістами нічого не вирішували, тільки чітка відповідь замовника могла вирішити важливе для проекту запитання "бути чи не бути цій функції у системі". Це тільки декілька мінусів реалізації проекту вперше, без досвіду. 

 

Враховуючи отриманий досід переглядаємо фази і доповнюємо їх. 

 

-зародження, формування, записування ідеї

--перечитування та затвердження вимог замовником

-функціональна, нефункціональна та графічна деталізація 

--аналіз та тестування вимог

--аналіз архітектури та методів розробки продукту

--планування реалізації проекту

--планування тестування 

--формування списку очікуваних результатів

-розробка прототипу

--аналіз та тестування прототипу

-розробка продукту

--перевірка якості коду

--підготовка до тестування

-тестування продукту

--перевірка, чи продукт відповідає вимогам, чи виконується бізнес логіка

--аналіз отриманих результатів

-покращення продукту

-реалізація продукту

 

Якість буде значно кращою, та ще не такою ідеальною, як очікувалось. 

Включили контроль якості продукту, через перевірку вимог, планування, перевірку коду, порівняння отриманих результатів з очікуваними. Також тестуємо продукт з метою виявлення помилок у системі, яка вже є кращою і стабільнішою ніж система розроблена у випадку Першому.

 

Випадок "Третій" - ми професіонали.

 

Виходячи з результатів реалізації проекту у "Другому" випадку, ми стали кращими, та все ще натикались на мінуси. Спостерігалися простої команд, через недоінформованість. Замовник затягував із затвердженням вимог. Невистачало спеціалістів відповідної кваліфікації. Несподівано замовник змінював вимоги до проекту. Та багато іншого...

 

Враховуючи отриманий досід знову переглядаємо фази і доповнюємо їх. 

 

-зародження, формування, записування ідеї

---підбір систем для кругообігу документації, коду, помилок

--перечитування та затвердження вимог замовником

-функціональна, нефункціональна та графічна деталізація 

---чітке документування кожної вимоги, ведення історії вимог

--аналіз та тестування вимог

---затвердження покращених вимог 

---вибір методології менеджменту

---розробка процесу реалізації проекту

--аналіз архітектури та методів розробки продукту

--планування реалізації проекту

--планування тестування 

---перегляд ризиків та запобігання їх появі

--формування списку очікуваних результатів

-розробка прототипу

--аналіз та тестування прототипу

---організація роботи команд

-розробка продукту

--перевірка якості коду

---контроль версії продукту

--підготовка до тестування

-тестування продукту

--перевірка, чи продукт відповідає вимогам, чи виконується бізнес логіка

--аналіз отриманих результатів

---порівнювання очікуваних результатів з отриманими

-покращення продукту

-реалізація продукту

---аналіз застосованого процесу та його покращення

 

Цього разу продукт реалізували вчасно, рівень якості був таким як очікували. Ми використали забезпечення якості. Незважаючи на додаткові непорозуміння, які виникали в процесі роботи над проектом, замовник отримав очікуваний продукт відповідного рівня якості. Замовник задоволений і бажає реалізовувати з нами наступні ідеї.

 

У Першому випадку продукт тільки тестували. У Другому - контролювали якість та тестували. У Третьому - покращуючи, передбачаючи, плануючи, контролюючи, та тестуючи, Забезпечили Якість Продукту.

 

Автор: (C) Marianna Nechypor, 2013