По-перше, як і більшість респондентів, наголошують тут, якщо хлопець не бачить цінності в тестуванні, ви не можете багато з цим зробити, і ви вже вказали, що не можете його звільнити. Однак тут невдача - це не варіант, тож як бути з кількома речами, які ви можете зробити?
Якщо ваша організація досить велика, щоб мати понад 6 розробників, я настійно рекомендую створити відділ забезпечення якості (навіть якщо це лише одна людина для початку). В ідеалі ви повинні мати співвідношення 1 тестер до 3-5 розробників. Річ у програмістах - це вони програмісти, а не тестери. Я ще не мав інтерв'ю з програмістом, якого формально навчали правильним методикам якості.
Більшість організацій мають фатальний недолік при призначенні тестових ролей новому прокату, особі, яка найменше впливає на ваш код - в ідеалі старші розробники повинні бути переведені на роль QA, оскільки вони мають досвід роботи в коді , і (сподіваємось) розробили шосте почуття для запахів коду та пунктів відмови, які можуть з'явитися.
Крім того, програміст, який допустив помилку, ймовірно, не збирається знайти дефект, оскільки це, як правило, не синтаксична помилка (ті, що потрапляють у компіляцію), а логічна помилка - і та сама логіка працює, коли вони записують перевірити, як коли вони пишуть код. Не майте людину, яка розробила тест коду, цей код - вони знайдуть менше помилок, ніж хто-небудь ще.
У вашому випадку, якщо ви можете дозволити собі перенаправлені робочі зусилля, зробіть цього нового хлопця першим членом вашої команди QA. Запропонуйте йому прочитати "Тестування програмного забезпечення в реальному світі: вдосконалення процесу", оскільки він, очевидно, потребуватиме певної підготовки у своїй новій ролі. Якщо йому це не сподобається, він відмовиться, і ваша проблема все одно вирішена.
Трохи менш мстивим підходом було б дозволити цій людині робити те, в чому вони хороші (я припускаю, що цю людину прийняли на роботу, оскільки вона насправді компетентна в програмі роботи) і найняти тестера або двох для тестування ( Студенти університету часто мають практикум або "кооперативні" терміни, дуже хотів би експозицію, і вони дешеві)
Побічна примітка: Врешті-решт, вам потрібно, щоб команда з контролю якості звітувала з керівником із контролю якості, або, принаймні, не менеджером з розробників програмного забезпечення, тому що мати звітність команди QA перед менеджером, головна мета якого - зробити продукт - це конфлікт відсотки.
Якщо ваша організація менше 6, або ви не можете піти зі створення нової команди, рекомендую парне програмування (PP). Я не є тотальним перетворенням всіх екстремальних методів програмування, але я безумовно вірую в парне програмування. Однак обидва члени команди програмованого програмування повинні бути відданими, або це просто не працює. Вони повинні дотримуватися двох правил: інспектор повинен повністю зрозуміти, що кодується на екрані, або він повинен попросити кодер пояснити це; кодер може кодувати лише те, що він може пояснити - жодне "ви побачите" чи "повірте мені", або махання рукою не буде допущено.
Я рекомендую ПП лише в тому випадку, якщо ваша команда на це здатна, тому що, як і тестування, жодна радість чи загроза не переконує пару наповнених егою інтровертів працювати разом, якщо їм це не комфортно робити. Однак я вважаю, що між вибором написання детальних функціональних характеристик та переглядом коду проти парного програмування ПП зазвичай виграє.
Якщо ПП не для вас, то TDD - це найкраща ставка, але тільки якщо вона сприймається буквально. Тестова розробка означає, що ви пишете тести ПЕРШИЙ, запускаєте тести, щоб довести, що вони насправді не спрацьовують, а потім пишете найпростіший код, щоб він працював. Зараз у вас є (ви) маєте колекцію тисяч тестів, що також є кодом, і це так само ймовірно, як і виробничий код, що містить помилки. Чесно кажу, я не є великим прихильником TDD, головним чином, саме з цієї причини, але це працює для багатьох розробників, які скоріше писатимуть тестові сценарії, ніж документи тестових справ - деякі тестування краще, ніж жодні. З'єднайте TDD з PP для кращої ймовірності тестового покриття та меншої кількості помилок у сценарії.
Якщо все інше не вдасться, попросіть програмістів еквівалентності банальної лайки - кожен раз, коли програміст порушує збірку, вони повинні класти $ 20, 50, 100 доларів (що б то не було помітно болісно для вашого персоналу) у банку, яка йде до вашої улюбленої ( зареєстровано!) благодійність. Поки вони не заплатять, уникайте їх :)
Усі жарти вбік, найкращий спосіб змусити програміста писати тести - не дозволяйте йому програмувати. Якщо ви хочете програміста, найміть програміста - Якщо ви хочете тестів, найміть тестера. Я починав як молодший програміст 12 років тому, роблячи тестування, і це перетворилося на мою кар’єрну дорогу, і я ні на що не торгував. Міцний відділ якості, який належним чином підтримує та надає повноваження та мандат на вдосконалення програмного забезпечення, настільки ж цінний, як розробники, які пишуть програмне забезпечення в першу чергу.