Чи повинні тестери затверджувати випуски чи просто звітувати про тести?


20

Чи має сенс надавати авторизацію тестувальникам? Чи повинна тестова група

  1. Просто тестуйте функції, проблеми тощо, і просто повідомте про пропуск / відмову, залишаючи це іншим діяти за цими результатами, або
  2. Чи мають повноваження проводити самі випуски на основі цих результатів?

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


2
Будь ласка, перефразуйте своє запитання, щоб воно не було опитуванням. Яку проблему ви намагаєтеся вирішити?
М. Дадлі

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

Відмінний момент, @MichaelT. У моїй організації тестування - це скоріше роль, а не посадова інструкція, а оцінювання є більш спеціальним та зовсім не кількісним. Успішне розгортання може спричинити позитивні відгуки, але помилки у виробництві не будуть специфічними негативами, як ні для кого іншого в команді.
Ернест Фрідман-Хілл

5
Якщо у вас є проблема, що тестувальники відмовляються схвалювати випуски на основі питань, які не планується вирішувати, ніж у вас проблема з комунікацією (вони не знають, проблеми не планується вирішувати) або проблема людей (вони роблять себе важливими; чи звільнити - це врешті-решт ділове рішення).
Ян Худек

Відповіді:


27

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

В кінцевому рахунку QA! = Бізнес і бізнес повинні вирішити, чи вони в порядку з розгортанням коду в поточному стані, або вигода переважає вниз або інше. Це часто роблять клієнти або зацікавлені сторони безпосередньо перед розгортанням і часто називаються Прийняттям користувача.

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

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


Хто вирішує, чи запросите ви замовника провести тест на прийняття на збірку 1234 або це недостатньо добре для тестування прийняття?
Барт ван Інген Шенау

3
@BartvanIngenSchenau: Власник продукту / менеджер проекту повинен мати останнє слово. Тому що навіть тести на прийняття часто будуть вибухати, якщо це буде потрібно (чи хочете ви, щоб функція X зараз, навіть якщо ми не можемо Y попрацювати з нею, чи ви хочете почекати ще 2 місяці, поки ми не виправити це?) Та власник продукту веде переговори про це.
Ян Худек

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

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

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

6

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

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

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


6

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

Тестери та розробники - це перш за все технічні люди, тому вони, швидше за все, приймають свої рішення переважно технічними підставами. Але проблеми, які необхідно зважувати під час випуску, стосуються як технічних, так і ділових проблем. Очевидно, що замовник не буде задоволений, якщо ви доставите з помилкою товар, але замовник буде однаково незадоволений, якщо ви будете продовжувати відкладати випуск, оскільки все ще є відкриті проблеми.

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


1
Я проголосував за це, оскільки я принципово не згоден з кількома пунктами та припущеннями, які ви висловлюєте. Я не погоджуюся з тим, що QA не повинна мати повноважень щодо вето на випуск, оскільки багато груп QA також функціонують у ролі Прийняття користувача. Крім того, я не погоджуюся з припущенням, що випробувачі - це технічні люди. Не завжди так, не кожна група, яка випускає програмне забезпечення, може дозволити собі повноцінну команду з забезпечення якості, тому ця роль може припадати на бізнес-аналітиків, які можуть бути зовсім не технічними.
maple_shaft

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

5

Рішення про "звільнення" або "не звільняти" є в кінці дня бізнес-рішенням, коли потрібно проводити суворий аналіз ризику / винагороди.

Будь-яка організація божевільна просити тестувальну групу взяти на себе цю відповідальність, або тестова група погодитися на цю відповідальність.

Роль тестової групи полягає у наданні аналізу якості програмного забезпечення, його готовності до випуску та будь-яких ризиків, визначених як внесок у бізнес-рішення щодо випуску чи не випуску.

Як зазначають інші, _ комусь _ (і я вважаю, що це людина) потрібні повноваження, щоб прийняти рішення про "звільнення" або "не звільняти". Ця ж особа може делегувати це рішення за конкретних умов (тобто відсутні помилки P1 або P2)


3

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

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

На мій досвід, тестовій команді слід надати вето на випуск програмного забезпечення, але це вето має бути перезаписане власником продукту, але лише після обговорення з провідними тестерами.

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


1
Це реальна проблема, але я не впевнений, чи це обов'язково проблема ОП. Моя інтерпретація полягає в тому, що тестувачі якось інтерпретують нові вимоги, які спочатку не були визначені.
maple_shaft

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

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

У моєму випадку це більше інтерпретація @maple_shaft; не стільки огидним у пошуку способів зламати програмне забезпечення, скільки в повідомленні про невиконання явно непідтримуваних справ.
Ернест Фрідман-Хілл

1
@ ErnestFriedman-Hill Це здається, що ви описуєте негативні вимоги, і це те, чого не вистачає у ваших документах щодо функціональних вимог. Негативна вимога - це явна заява про те, що система НЕ буде робити, і може бути такою ж прийнятною, як і звичайні вимоги. Якщо вони оголошені, то їхні тестові випадки проти негативних вимог не є дійсними.
maple_shaft
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.