База знань
White/black/grey box-тестування
Для того, щоб краще розуміти підходи до тестування програмного забезпечення, потрібно, звичайно ж, знати, які види і типи тестування в принципі бувають. Давайте почнемо з розгляду основних типів тестування, які визначають високорівневу класифікацію тестів.
Найвищим рівнем в ієрархії підходів до тестування буде поняття типу, яке може охоплювати відразу кілька суміжних технік тестування. Тобто, одному типу тестування може відповідати кілька його видів. Розглянемо, для початку кілька типів тестування, які відрізняються знанням внутрішнього устрою об’єкта тестування.
Black Box
Summary: Ми не знаємо, як влаштована система, що тестується.
Тестування методом «чорного ящика», також відоме як тестування, засноване на специфікації або тестування поведінки – техніка тестування, заснована на роботі виключно з зовнішніми інтерфейсами тестованої системи.
Згідно ISTQB:
тестування чорного ящика – це:
Чому саме «чорний ящик»? Програма, що тестується, для тестувальника – як чорний непрозорий ящик, змісту якого він не бачить. Метою цієї техніки є пошук помилок в таких категоріях:
Таким чином, ми не маємо уявлення про структуру та внутрішній пристрій системи. Потрібно концентруватися на тому, що програма робить, а не на те, як вона це робить.
Приклад:
Тестувальник проводить тестування веб-сайту, не знаючи особливостей його реалізації, використовуючи тільки передбачені розробником поля введення та кнопки. Джерело очікуваного результату – специфікація.
Оскільки це тип тестування, за визначенням він може включати інші його види. Тестування чорного ящика може бути як функціональним, так і нефункціональним. Функціональне тестування передбачає перевірку роботи функцій системи, а нефункціональне – відповідно, загальні характеристики нашої програми.
Техніка чорного ящика застосовна на всіх рівнях тестування (від модульного до прийомочного), для яких існує специфікація. Наприклад, при здійсненні системного або інтеграційного тестування, вимоги або функціональна специфікація будуть основою для написання тест-кейсів.
Техніки тест-дизайну, засновані на використання чорного ящика, включають:
Переваги:
Недоліки:
Протилежністю техніки чорного ящика є тестування методом білого ящика, мова про який піде нижче.
White Box
Summary: Нам відомі всі деталі реалізації програми, що тестується.
Тестування методом білого ящика (також: прозорого, відкритого, скляного ящика; засноване на коді або структурне тестування) – метод тестування програмного забезпечення, який передбачає, що внутрішня структура/пристрій/реалізація системи відомі тестувальнику. Ми вибираємо вхідні значення, грунтуючись на знанні коду, який буде їх обробляти. Точно так само ми знаємо, яким повинен бути результат цієї обробки. Знання всіх особливостей тестованої програми та її реалізації – обов’язкові для цієї техніки. Тестування білого ящика – поглиблення у код системи, за межі її зовнішніх інтерфейсів.
Згідно ISTQB:
тестування білого ящика – це:
Чому «білий ящик»? Програма, що тестується, для тестувальника – прозорий ящик, вміст якого він чудово бачить.
Приклад:
Тестувальник, який, як правило, є програмістом, вивчає реалізацію коду поля введення на веб-сторінці, визначає всі передбачені (як правильні, так і неправильні) і не передбачені користувальницькі вводи, і порівнює фактичний результат виконання програми з очікуваним. При цьому очікуваний результат визначається саме тим, як повинен працювати код програми.
Тестування методом білого ящика схоже на роботу механіка, який вивчає двигун машини, щоб зрозуміти, чому вона не заводиться.
Техніка білого ящика застосовна на різних рівнях тестування – від модульного до системного, але головним чином застосовується саме для реалізації модульного тестування компонента його автором.
Переваги:
Недоліки:
– Для виконання тестування білого ящика необхідно велика кількість спеціальних знань;
– При використанні автоматизації тестування на цьому рівні, підтримка тестових скриптів може виявитися достатньо накладною, якщо програма часто змінюється.
Порівняння Black Box та White Box
Grey Box
Summary: Нам відомі тільки деякі особливості реалізації тестованої системи.
Тестування методом сірого ящика – метод тестування програмного забезпечення, який передбачає, комбінацію White Box і Black Box підходів. Тобто, внутрішній устрій програми нам відомо лише частково. Передбачається, наприклад, доступ до внутрішньої структури та алгоритмів роботи ПЗ для написання максимально ефективних тест-кейсів, але саме тестування проводиться за допомогою техніки чорного ящика, тобто, з позиції користувача.
Цю техніку тестування також називають методом напівпрозорого ящика: щось ми бачимо, а щось – ні.
Приклад:
Тестувальник вивчає код програми з тим, щоб краще розуміти принципи її роботи і вивчити можливі шляхи її виконання. Таке знання допоможе написати тест-кейс, який напевно буде перевіряти певну функціональність.
Техніка сірого ящика може застосовуватися на різних рівнях тестування – від модульного до системного, але головним чином застосовується на інтеграційному рівні для перевірки взаємодії різних модулів програми.
Зв'язатися з нами
Адреса: г. Київ, 03058, а/с 24
E-mail: info@qalight.com.ua