black box testing an depth tutorial with examples
У цьому навчальному посібнику, використовуючи мій досвід роботи у галузі тестування програмного забезпечення, давайте ознайомимось із видами та методами тестування «чорної скриньки», а також з його процесом, перевагами, недоліками та деякими інструментами автоматизації для тестування, крім тестування вручну.
Ми також дізнаємося про відмінності між тестуванням White Box та тестуванням Black Box.
Перелік підручників із «Методів тестування чорної скриньки»:
Підручник No1: Що таке тестування Black Box
Підручник No2: Що таке тестування White Box
Підручник No3: Спрощене функціональне тестування
Підручник No4: Що таке тестування випадків використання
Підручник No5 : Техніка випробування ортогональних масивів
Прийоми
Підручник No6: Аналіз граничних значень та розподіл еквівалентності
Підручник No7: Тестування таблиці рішень
Підручник No8: Державне перехідне тестування
Підручник No9 : Відгадування помилок
Підручник No10: Графічні методи тестування
Майже всі ми щодня проводимо тестування Black Box!
Незалежно від того, навчились ми чи ні, ми всі багато разів проводили тестування на чорну скриньку у своєму повсякденному житті !!
З самої назви ви, мабуть, можете зрозуміти, що вона передбачає взаємодію з системою, що ви тестуєте як таємницю. Це означає, що ви недостатньо обізнані про внутрішню роботу системи, але ви знаєте, як вона повинна поводитися.
Якщо взяти приклад щоб протестувати свою машину чи велосипед, ми завжди їдемо на ній, щоб переконатись, що вона поводиться незвично. Подивитися? Ми вже провели тестування Black Box.
Що ви дізнаєтесь:
- Що таке тестування чорної скриньки?
- Види тестування чорних ящиків
- Інструменти для тестування чорної скриньки
- Техніка тестування чорної скриньки
- Як робити поетапно?
- Переваги та недоліки
- Різниця між тестуванням білої скриньки та тестуванням чорної скриньки
- Висновок
- Рекомендована література
Що таке тестування чорної скриньки?
Тестування Black Box також відоме як поведінкове, непрозоре, закрите, специфікаційне або тестування на очі.
Це метод тестування програмного забезпечення, який аналізує функціональність програмного забезпечення / програми, не знаючи багато про внутрішню структуру / дизайн елемента, що тестується, і порівнює вхідне значення з вихідним значенням.
різниця між c c ++ та java - -
Основна увага при тестуванні Black Box робиться на функціональність системи в цілому. Термін «Тестування поведінки» також використовується для тестування чорної скриньки. Дизайн поведінкових тестів дещо відрізняється від дизайну тестів із чорною скринькою, оскільки використання внутрішніх знань не є суворо забороненим, але все одно не рекомендується.
Кожен метод тестування має свої переваги та недоліки. Є деякі помилки, які неможливо знайти за допомогою єдиної техніки чорного ящика або лише білої скриньки.
Більшість додатків перевіряються методом Black Box. Нам потрібно охопити більшість тестових випадків, щоб більшість помилок були виявлені Чорна скринька метод.
Це тестування відбувається протягом усього періоду розробки програмного забезпечення та життєвого циклу тестування, тобто на етапах тестування модулів, інтеграції, системи, приймання та регресії.
Це може бути як функціональним, так і нефункціональним.
Види тестування чорних ящиків
Практично існує декілька типів тестування чорних ящиків, але якщо ми розглянемо основний його варіант, то нижче згадані два основних.
# 1) Функціональне тестування
Цей тип стосується функціональних вимог або специфікацій програми. Тут перевіряються різні дії або функції системи шляхом надання вхідних даних та порівняння фактичного виходу з очікуваним результатом.
Наприклад ,коли ми тестуємо випадаючий список, ми клацаємо на ньому та переконуємось, що він розширюється та всі очікувані значення відображаються у списку.
Кілька основних видів функціонального тестування:
- Тестування диму
- Перевірка розумності
- Інтеграційне тестування
- Тестування системи
- Регресійне тестування
- Тестування прийняття користувача
=> Докладніше про Функціональне тестування .
# 2) Нефункціональне тестування
Окрім функціональних можливостей вимог, існує також кілька нефункціональних аспектів, які потрібно протестувати для покращення якості та продуктивності програми.
Кілька основних видів нефункціонального тестування включають:
- Тестування юзабіліті
- Тестування навантаження
- Тестування продуктивності
- Тестування сумісності
- Стрес-тестування
- Тестування масштабованості
=> Докладніше про Нефункціональне тестування .
Інструменти для тестування чорної скриньки
Інструменти тестування Black Box - це в основному інструменти запису та відтворення. Ці інструменти використовуються для тестування регресії, щоб перевірити, чи не створила нова збірка помилку у попередній функціональності працюючої програми.
Ці інструменти запису та відтворення записують тестові приклади у вигляді деяких сценаріїв, таких як TSL, сценарій VB, Javascript, Perl тощо.
Техніка тестування чорної скриньки
Для систематичного тестування набору функцій необхідно розробити тестові кейси. Тестери можуть створювати тестові кейси з документа специфікації вимог, використовуючи такі методи тестування Black Box.
- Розбиття на еквівалентність
- Аналіз граничних значень
- Тестування таблиці рішень
- Державне перехідне тестування
- Відгадування помилок
- Графічні методи тестування
- Тестування порівняння
Давайте розберемося в кожній техніці детально.
# 1) Розбиття на еквівалентність
Цей метод також відомий як розділення класів еквівалентності (ECP). У цій техніці вхідні значення для системи або програми поділяються на різні класи або групи залежно від її подібності в результаті.
найкраще безкоштовне програвання DVD для копіювання Windows
Отже, замість використання кожного вхідного значення ми можемо використовувати будь-яке одне значення з групи / класу для перевірки результату. Таким чином, ми можемо підтримувати охоплення тестом, в той час як ми можемо скоротити багато переробок, а головне витрачений час.
Наприклад:
Як показано на зображенні вище, текстове поле 'ВІК' приймає лише цифри від 18 до 60. Буде три набори класів або груп.
Два недійсні класи будуть:
а) Менше або дорівнює 17.
б) Більше або дорівнює 61.
Одним дійсним класом буде будь-що від 18 до 60.
Таким чином, ми скоротили тестові кейси лише до 3 тестових кейсів на основі сформованих класів, тим самим охоплюючи всі можливості. Отже, тестування з будь-яким значенням з кожного набору класу достатньо для перевірки вищезазначеного сценарію.
=> Рекомендована література - Що таке розділення еквівалентності?
# 2) Аналіз граничних значень
З самої назви ми можемо зрозуміти, що в цій техніці ми зосереджуємось на значеннях на межах, оскільки виявляється, що багато додатків мають велику кількість проблем на межах.
Границя означає значення біля границі, коли поведінка системи змінюється. При аналізі граничних значень перевіряються як діючі, так і недійсні входи для перевірки проблем.
Наприклад:
Якщо ми хочемо протестувати поле, де слід приймати значення від 1 до 100, тоді ми вибираємо граничні значення: 1-1, 1, 1 + 1, 100-1, 100 і 100 + 1. Замість того, щоб використовувати всі значення від 1 до 100, ми просто використовуємо 0, 1, 2, 99, 100 і 101.
# 3) Тестування таблиці рішень
Як випливає з самої назви, скрізь, де існують логічні відносини, такі як:
Якщо
{
(Умова = Істинно)
потім дія1;
}
else дія2; / * (умова = хибне) * /
Потім тестер визначить два виходи (action1 та action2) для двох умов (True та False). Отже, на основі ймовірних сценаріїв складається таблиця рішень для підготовки набору тестових кейсів.
Наприклад:
Візьмемо приклад банку XYZ, який передбачає процентну ставку для громадян похилого віку чоловіків у розмірі 10%, а для решти людей - 9%.
У цьому прикладі умови C1 має два значення як true і false, умова C2 також має два значення як true і false. Тоді кількість загальних можливих комбінацій становила б чотири. Таким чином ми можемо отримувати тестові кейси за допомогою таблиці рішень.
Запитання та відповіді для інтерв’ю щодо селену
# 4) Державне тестування перехідного періоду
Перевірка стану переходу - це техніка, яка використовується для перевірки різних станів системи, що тестується. Стан системи змінюється залежно від умов або подій. Події викликають стани, які стають сценаріями, і тестувальник повинен їх перевірити.
Систематична діаграма переходу стану дає чітке уявлення про зміни стану, але вона ефективна для більш простих застосувань. Складніші проекти можуть призвести до складніших діаграм переходів, що робить їх менш ефективними.
Наприклад:
# 5) Відгадування помилок
Це класичний приклад тестування на основі досвіду.
У цій техніці тестувальник може використовувати свій досвід щодо поведінки програми та функціональних можливостей, щоб вгадати області, схильні до помилок. Багато дефектів можна знайти за допомогою відгадування помилок, де більшість розробників зазвичай роблять помилки.
Кілька типових помилок, з якими розробники зазвичай забувають виправити:
- Ділимо на нуль.
- Обробка нульових значень у текстових полях.
- Прийняття кнопки 'Надіслати' без будь-якого значення.
- Завантаження файлу без вкладення.
- Завантаження файлу розміром менше або більше, ніж обмежений розмір.
# 6) Методи тестування на основі графіків
Кожна програма є накопиченням деяких об’єктів. Всі такі об'єкти ідентифіковані та підготовлений графік. На цьому графіку об'єктів ідентифікуються кожні взаємозв'язки об'єктів і відповідно записуються тестові кейси для виявлення помилок.
# 7) Тестування порівняння
Для тестування за цим методом використовуються різні незалежні версії одного програмного забезпечення.
Як робити поетапно?
Загалом, коли для тестування проекту / програми дотримується систематичний процес, якість зберігається і корисна в довгостроковій перспективі для подальших раундів тестування.
- Найпершим кроком є розуміння специфікації вимог програми. Повинна бути належним чином задокументована SRS (специфікація вимог до програмного забезпечення).
- Використовуючи вищезазначені методи тестування «чорної скриньки», такі як аналіз граничних значень, розділення еквівалентності тощо, набори дійсних та недійсних входів ідентифікуються з бажаними результатами та на основі цього розробляються тестові кейси.
- Розроблені тестові кейси виконуються для перевірки їх успішності чи відмови, перевіряючи фактичні результати з очікуваними результатами.
- Невдалі тестові випадки розглядаються як дефекти / помилки та адресуються команді розробників, щоб виправити їх.
- Далі на основі виправлених дефектів тестувальник повторно перевіряє дефекти, щоб перевірити, повторюються вони чи ні.
Переваги та недоліки
Переваги
- Тестер не повинен мати технічного досвіду. Важливо тестувати, опинившись на місці користувача, і думати з точки зору користувача.
- Тестування можна розпочати після розробки проекту / програми. І тестувальники, і розробники працюють незалежно, не втручаючись у простір один одного.
- Це ефективніше для великих та складних додатків.
- Дефекти та невідповідності можна виявити на ранній стадії тестування.
Недоліки
- Без будь-яких технічних знань чи знань з програмування існує ймовірність ігнорування можливих умов сценарію, що перевіряється.
- У встановлений час є можливості менше тестувати та пропускати всі можливі входи та тестування їх результатів.
- Повне випробування неможливе для великих та складних проектів.
Різниця між тестуванням білої скриньки та тестуванням чорної скриньки
Нижче наведено кілька відмінностей між ними обома:
Тестування чорної скриньки | Тестування White Box |
---|---|
Це метод тестування, не маючи знань про фактичний код або внутрішню структуру програми | Це метод тестування, що має знання про фактичний код та внутрішню структуру програми |
Це тестування вищого рівня, таке як функціональне тестування. | Цей тип тестування проводиться на нижчому рівні тестування, наприклад, модульне тестування, інтеграційне тестування |
Він концентрується на функціональності системи, що тестується | Він концентрується на власне кодовій програмі та її синтаксисі |
Тестування чорного ящика вимагає специфікації вимог для тестування | Для тестування White Box потрібні проектні документи зі схемами потоків даних, блок-схемами тощо. |
Тестування чорної скриньки проводиться тестувальниками | Тестування білої скриньки проводиться розробниками або тестувальниками, що мають знання програмування. |
Висновок
Це деякі основні моменти щодо тестування Чорної скриньки та огляду її методів та методів.
Оскільки неможливо перевірити все із залученням людей із 100-відсотковою точністю, якщо ефективніше використовувати вищезазначені методи та методи, це однозначно покращить якість системи.
На закінчення, це дуже корисний метод для перевірки працездатності системи та виявлення більшості дефектів.
Сподіваюся, ви б отримали глибокі знання техніки тестування чорної скриньки.
Рекомендована література
- Основні відмінності між тестуванням чорної скриньки та тестуванням білої скриньки
- Найкращі засоби тестування програмного забезпечення 2021 р. (Інструменти автоматизації тестування якості)
- Функціональне тестування проти нефункціонального тестування
- Посібник із парного тестування чи тестування для всіх пар із інструментами та прикладами
- Тестування White Box: Повний посібник із методами, прикладами та інструментами
- Підручник з об’ємного тестування: Приклади та інструменти об’ємного тестування
- Підручник з тестування конфігурації з прикладами
- Завантажити тестувальник електронних книг