#testing
Цікаву думку висловлює Wayne Roseberry в своїй книзі "Drawn to Testing Again". Думка настільки проста й очевидна, наскільки можна.
🤯Тестування запобігає помилкам
Час від часу в тестерських спільнотах можна почути фразу
"тестування запобігає помилкам!"
Але коли людина таке каже, вона, по-перше, плутає причину й наслідок. А по-друге - не розуміє, що ця фраза сама по собі є хибною.
Для того, щоб запобігти чомусь, запобігання повинно передувати існуванні самої речі. Тестування, як процес, виявляє помилки (баги) через спостереження. Цей процес описує те, що існувало до самого спостереження.
Тобто спочатку повинна існувати помилка - а потім за допомогою спостереження вона буде виявлена. Коли ми говоримо про те, що тестування запобігає помилкам - ми перекручуємо цей причинно-наслідковий звʼязок.
😏Тестування - причина виправлення баги
Гаразд, але ж можна сказати, що саме тестування стало причиною виправлення помилки!
Тут теж є про що подумати ...
Коли ми тестуємо, ми надаємо інформацію про стан продукту та повідомляємо людям про помилку.
Як тільки ми повідомили цю інформацію - помилка ще існує. Вона не буде виправлена доти, доки менеджер не прийме рішення, що помилка варта того, щоб її пофіксити. Помилка буде існувати доти, доки девелопер не змінить код.
На даний момент ми, як тестувальники, знаходимось аж за два кроки між наданням інформації та виправленням баги. Обидва ці кроки ... можуть й не відбутись.
Крім того:
- команда може вирішити не виправляти помилку взагалі та прийняти цей ризик
- девелопер, що фіксить багу, може зробити нову помилку
😤Тестування - необхідна умова для виправлення баги
Гаразд, але тестування ж є необхідною умовою для рішення й виправлення баги!
Але це - теж є хибним твердженням.
Девелопер може сам знайти та пофіксити багу. Девелопер можу пофіксити багу ... зовсім випадково. Бізнес вимоги можуть змінитись таким чином, що бага перестає бути проблемою.
Все це не означає, що тестування непотрібне. Але те, що тестування не запобігає помилкам - це точно.
А ви як думаєте?