Коли слід припинити розвиток і забезпечити якість?


9

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

У нас були проблеми в минулому, коли повні фрагменти функціональності не працюють, або код надається просто не відповідно до специфікації.

Мої запитання: на якому етапі розробники повинні припинити кодування, передане команді QA? Чи занадто багато просити розробників переглянути свій код у відповідності до специфікації, перш ніж здавати команду з контролю якості?

Відповіді:


5

Це не повинно!

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

Замість того, щоб думати про все як про замикаючий процес, спробуйте зробити це більш циклічним. Зашифруйте деяку функціональність і протестуйте її. Зашифруйте ще трохи і протестуйте його (а старі речі все ще працюють). Цей більш текучий процес полегшує важкий корабель, намагаючись перевантажити все. Ви все ще можете мати концепцію заморожування коду (просто виправляйте помилки), коли ви наблизитесь до граничного терміну, але суть полягає в тому, щоб перевірити рано і часто.


тож відповідь на проблему розробників, що перетворюються на кричущі коди баггі, є ... QA потрібно перевіряти частіше? Я це люблю.
Кевін

@Kevin: Схоже, в їхній теперішній системі є й інші проблеми, які потрібно вирішити, але я намагався відповісти на це питання.
unholysampler

4

Ну, якщо цілі розділи коду передаються до QA у неробочому стані, можливо, вам слід поглянути на додавання до свого процесу тестування одиниці / інтеграції. Не зловживайте своїми QA людьми, довідавшись, що ви не змогли підключити чи перевірити інтеграцію коду.


0

Це тонка лінія, тому що якщо код поставляється відповідно до специфікації, то для мене це означає, що помилок немає (і QA не потребує!). Те, що код звичайно не доставляється до специфікацій, є причиною, чому ми робимо QA в першу чергу.

Але я насправді не думаю, що про це ти говориш. Що ви маєте на увазі, що команда розробників здається трохи лінивою зі своїм кодуванням, і є великі очевидні речі, які, здається, не працюють. Постановка наперед, що для кожної з функцій A, B і C (у специфікації) повинні бути представлені одиничні тести, а потім перегляд коду та тестів, які незалежно переглядаються (командою або керівником), має допомогти полегшити подібну проблему. .


0

Я б заперечував, що принаймні розробники повинні були перевірити "щасливий шлях". Якщо вони вводять очікувані дані, то це робиться так, як каже специфікація. Розробників, які так багато не роблять, слід сумніватися.

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

Однак, якщо припустити, що це специфічно не зазначено в специфікації, якщо розробник обмежує ім'я лише великими і малими літерами, але забуває, що деякі імена мають апострофи, або дозволяє дати 29 лютого 2011 року - це трохи зрозуміліше . Якщо тільки вони не роблять однакову помилку час від часу.

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

У веб-розробці QA має спробувати різні браузери та спробувати знайти плагіни, які можуть вплинути на код. Вони повинні вимкнути Javascript і CSS і побачити, з чим вони можуть піти. Така річ. Якщо ви розраховуєте, що розробники це робитимуть, ви витрачаєте на це занадто багато грошей.


0

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

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

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

(Якщо у вас є професійні тестери, вони повинні бути частиною команди, і вони повинні бути залучені на кожному етапі.)


0

У нас є процес скринінгу для проектів, де ми просимо розробників надати детальну інформацію / демонстрацію свого коду до того, як він увійде в QA. Ми включаємо не тільки тестувальників якості, але й власників (-ів) коду, обслуговування клієнтів та маркетинг / дизайн. Це, як правило, орієнтується на розробників принаймні на прості випадки використання, а іноді в результаті обговорення між різними командами призводить до зміни специфікацій та затримки вступу до QA. Коли ми можемо, ми залучаємо QA набагато раніше до цього процесу, що допомагає виправляти помилки, поки код ще теплий - але ми все одно робимо покрокову інструкцію до початку «офіційного» QA.

Іноді я кажу, що код не слід подавати до QA, якщо ви засмучуєтесь, якщо він помилково перейшов до виробництва замість якості. Код з великою дисфункціональністю не належить до якості (за винятком конкретних обставин)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.