Ми не робимо цього в нашій фірмі, але один з моїх друзів каже, що його керівник проекту попросив кожного розробника додати навмисні помилки перед тим, як продукт перейде до якості. Ось як це працює:
- Незадовго до того, як продукт перейде до якості, команда розробників додає деякі навмисні помилки у випадкових місцях у коді. Вони належним чином створюють резервну копію оригінального, робочого коду, щоб переконатися, що ці помилки не постачаються разом із кінцевим продуктом.
- Про це також повідомляють тестери. Тож вони будуть важко перевірятись, бо знають, що є помилки, і що їх виявлення може вважатися ознакою некомпетентності.
- Якщо помилка (навмисна чи інша) виявлена, про них буде повідомлено команду розробників, яку потрібно виправити. Потім команда розробників додає ще одну навмисну помилку у відповідний розділ коду перед тим, як продукт перейде до QA другого рівня. Керівник проекту каже, що тестер повинен думати як розробник, і він / вона повинен очікувати нових помилок у розділах, де були внесені зміни.
Ну, так воно і йде. Вони кажуть, що такий підхід має такі переваги.
- Тестери завжди будуть на ногах, і вони будуть випробовуватись як божевільні. Це допомагає їм також знаходити приховані (ненавмисні) помилки, щоб розробники могли їх виправити.
- Тестери харчуються клопами. Якщо не знайти жодних помилок, це вплине на їх моральний стан. Тож надання їм легкого пошуку допоможе їхньому моральному стану.
Якщо ви ігноруєте сценарій, коли один із цих навмисних помилок постачається разом з кінцевим продуктом, то які інші недоліки ми повинні розглянути, перш ніж навіть думати про прийняття цього підходу?
Деякі роз’яснення:
- Вони належним чином створюють резервну копію оригінального коду в керуванні джерелом.
- Коли тестер виявляє навмисну помилку, команда розробників просто ігнорує її. Якщо тестер виявить ненавмисну (оригінальну) помилку, команда розробника спочатку перевіряє, чи викликана вона якоюсь із навмисних помилок. Тобто команда розробників спочатку намагається відтворити це на початковому робочому коді та намагається виправити це, якщо зможе.
- Просто ігноруйте питання взаємозв'язку між QA та командою розвитку. Я спеціально задав це питання програмістам , а не на робочому місці . Вважайте, що між QA та командою розробників є хороше взаємозв’язок, і вони проводять спільну вечірку після робочого часу. Керівник проекту - це приємний, старий джентльмен, який завжди готовий підтримати обидві команди (Godsend).