Чи повинні розробники, тестери та бізнес-користувачі мати єдиний тестовий сценарій?


11

У процесі розробки я зазвичай маю власні тестові сценарії, які б документували дані, сценарії та етапи виконання, які я планую перевірити; це мій план тестування розробників. Коли функціональність розгорнута для тестування, тестери перевіряють її за допомогою власного тестового сценарію, який вони написали. Потім в UAT бізнес-користувач тестує, використовуючи власний план тестування.

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

Чи варто консолідувати тестові сценарії з самого початку? Таким чином, використовуючи один уніфікований тестовий сценарій, або це важко зробити це заздалегідь?

Відповіді:


19

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

Я вважаю, що найкращий спосіб - дозволити кожній групі керувати власними тестами, оскільки це забезпечує кращу охоплення. Однак кожна команда повинна розпочати тестування якомога швидше. Це означає, що UAT запускається, як тільки щось може бути використане Користувачами, тест запускається, як тільки готова частина, для якої у них є тест, і т. Д. Це запобігає пізньому пошуку різних тестових випадків. Це може означати деяке переналагодження ваших моделей роботи, оскільки часто UAT і Test очікують працювати над повним продуктом і потребують тренувань щодо тестування частково повних результатів. Це може бути дорожче, якщо робочий процес не буде розірвано, а розробники "Complete" не означають завершення.

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

Редагувати: Оригінальне посилання на питання якості було видалено, тому ця відповідь тепер з’являється пізніше.


2
+1 - чудова відповідь. Дії, які відбуваються під час різних типів тестування, є досить різними, що один об'єднаний сценарій насправді не має сенсу. Крім того, розробники зазвичай хочуть тестовий скрипт, який повністю автоматизований, щоб вони могли швидко запускати його як у своїх пісочницях, так і на сервері CI; це не дуже добре відповідає тому, що хочуть робити QA та UAT.
Давуд ібн Карім

"QA не є тестом". Я не можу цього проголосувати достатньо.
Бернхард Хофманн

2

Ми використовуємо UAT з самого початку.

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

Робота УАТ з самого початку також має додаткову перевагу. Це дійсно очищує будь-яку неоднозначність між очікуванням замовника та вашим власним.


Якщо ви говорите, що використовуєте тестовий сценарій UAT з самого початку, чи означає це, що він повинен надходити від бізнес-користувача? Я хочу сказати, що користувач вже створив план тестування на цьому етапі і що цей план доступний розробнику для використання у складі його тестування розробників?
Карлос Хайме К. Де Леон

@ CarlosJaimeC.DeLeon, так, це від бізнес-користувача. Ми виявляємо, що це працює добре, тому що більшість клієнтів, як правило, мають нечітке уявлення про те, що вони хочуть, і це допомагає чітко розібратися, а також надає посібник для розробників і тестерів. Крім того, коли ми, як заявили в УАТ, вони більше розуміють, коли ми просимо часу, чи хочуть вони змін: P
Пермас

1

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


1

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

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


1

У ідеальному світі розробники повинні мати одиничні тести (xUnit), тестери - автоматизовані тести інтеграції (Selenium), а для бізнес-користувачів - тести прийняття (FIT). Вони можуть мати доступ один до одного на тести.


1

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

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