У дуже маленькій команді, де тестування чорного поля та білого поля проводиться тією ж людиною, що повинен зробити тестер першим?
У дуже маленькій команді, де тестування чорного поля та білого поля проводиться тією ж людиною, що повинен зробити тестер першим?
Відповіді:
Те, що повинно бути найправильнішим.
Серйозно, тестування білого поля (тобто тестування внутрішніх кодів) в ідеалі повинно проводитися за допомогою тестування одиниць розробником, який написав код. Експертні тести будуть накопичуватися з часом, і частина процесу збирання, щоб ми не витрачали час поганого тестера на код, який ми знаємо, не працює як слід. Тестування підрозділів стає тим важливішим, чим менша ваша команда - особливо тому, що у вас немає армії тестерів, щоб вирішити проблеми.
Тестування в чорному ящику (тобто тестування через інтерфейс користувача / системи), як правило, робиться більшістю тестувальників.
Усі тестування повинні бути визначені пріоритетними щодо того, наскільки важливою є функція для готового продукту. Якщо місією є надання інструменту для виконання X, а продукт не робить X, це велика проблема.
Тестування чорної скриньки для перевірки функцій. Тестування у білій коробці за необхідності, якщо речі порушені. Якщо всі тести на чорному боксі пройдуть і покриття хороше, тестування білого поля не потрібне.
Чорна коробка.
Компоненти білого поля зазвичай залежать від компонентів чорної скриньки, тому я хотів би спробувати спочатку чорну скриньку, а потім перейти до білого поля.
Ви спочатку займаєтесь тестуванням білого мислення як кодера / розробника, щоб переконатися, що все буде добре. Тоді ви робите тестування чорної скриньки, як правило, намагаючись думати, ніби ви кінцевий користувач, не замислюючись про внутрішню структуру програми. Іноді вам потрібно думати як кодер / розробник, навіть якщо ви робите чорне тестування, тому що ви можете тестувати внутрішній модуль, написаний іншою людиною, і у вас немає доступу до коду.
Якщо ви хочете мати хороший тестовий цикл, у вас повинні бути різні люди, які роблять І те, і інше :
Розробник, орієнтований головним чином на тестування білого поля, знає, що змінилося в коді останнім часом, які області є складнішими (і, отже, ймовірними), і т.д.
З іншого боку, тест QA, орієнтований на тестування чорних скриньок, може легше підійти до тестування, як кінцевий користувач. Без будь-яких внутрішніх знань про код, вони можуть скористатися новим підходом і не є упередженими знаннями про те, як реалізуються різні частини рішення. Вони знайдуть помилки, які, можливо, забував розробник, або регресії від змін коду, які випадково порушили інші області програми.
Щоб відповісти на ваше запитання, слід спочатку провести тестування з білого поля. Але вам дійсно потрібно, щоб інша людина робила тестування чорного поля, якщо ви хочете, щоб це було ефективним.
Мені подобається починати з тестування чорної скриньки, а потім використовувати інформацію про покриття коду або налагоджувач, щоб зрозуміти, що я роблю, і проаналізувати, що відбувається.
Але реальна відповідь - це залежить . Я, швидше за все, занурююся в код раніше (або навіть спочатку), якщо я роблю тестування API, але набагато пізніше, якщо моя мета - розглянути якісь великі сценарії від кінця до кінця.
Я б сказав, що тестування Black Box спочатку просто тому, що як прихильник TDD, тести пишуться раніше, ніж код (або поле) існує в будь-якому випадку :)
Тестування White Box (наскільки я розумію) корисніше для налагодження мислення.
Тестування чорної скриньки, оскільки ви пишете тести до того, як код існує. Тестувальник повинен розробляти трудомісткі автоматичні тести паралельно з кодом написання розробника, щоб бути ефективним для невеликої команди.
Якщо код вже написаний, я б запропонував вам витратити деякий час на ескіз тестового покриття з точки зору чорної скриньки, щоб переконатися, що у вас є деякий час мозкового штурму, перш ніж затиснути мозок фактичним кодом. Однак ви можете перейти до білого поля і подивитися на код, перш ніж ви зайшли занадто далеко разом із фактичним тестуванням, щоб відчути ризикові райони та визначити пріоритетними тими тестами, які ви задумали раніше (і доповнити їх новими тестами, продуманими розглядаючи частини коду, які здаються складними або сумнівними).
Ні. Я намагаюся писати хороші тести, використовуючи правильний BICEP , пам’ятаючи ПРАВИЛЬНІ граничні умови, незалежно від того, в якому порядку вони приходять на думку. Це обидва абревіатури, запропоновані в Тестуванні прагматичних одиниць .
Моя мета - зосередитись на написанні хороших тестів, а не того, який колір слід написати першим.
Спочатку робіть тестування білого поля .
По-друге, для тестування Black Box
> Тестування чорної скриньки
I. Тестер повинен перевірити функціональність програми, наприклад текстове поле, перемикач, список списків, кнопка команд, ... тощо. ,,
II. Тестер повинен перевірити нефункціональність програми, наприклад, логотип, зображення, написання, тощо.,
ІІІ. Тестер повинен перевірити весь потік програми.
Примітка. Щоб перевірити позитивні та негативні умови.