Що таке тестування БІЛОЇ коробки? Прийоми, приклад & Типи

Зміст:

Anonim

Тестування White Box

White Box Testing - це техніка тестування програмного забезпечення, в рамках якої внутрішня структура, дизайн та кодування програмного забезпечення тестуються для перевірки потоку вхідних даних та покращення дизайну, зручності використання та безпеки. У тестуванні білої коробки код видно тестувальникам, тому його також називають тестуванням Clear box, тестуванням у відкритих коробках, тестуванням прозорих коробок, тестуванням на основі коду та тестуванням Glass box.

Це одна з двох частин підходу Box Testing до тестування програмного забезпечення. Його аналог, тестування Blackbox, включає тестування з точки зору зовнішнього або кінцевого користувача. З іншого боку, тестування «білої скриньки» в програмній інженерії базується на внутрішній роботі програми та обертається навколо внутрішнього тестування.

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

У цьому підручнику з тестування білого вікна ви дізнаєтесь-

  • Що таке тестування White Box?
  • Що ви перевіряєте під час тестування White Box?
  • Як ви проводите тестування White Box?
  • Приклад тестування WhiteBox
  • Техніка тестування White Box
  • Види тестування білого ящика
  • Інструменти для тестування White Box
  • Переваги тестування білої скриньки
  • Недоліки тестування WhiteBox

Що ви перевіряєте під час тестування White Box?

Тестування білого ящика передбачає тестування програмного коду на наступне:

  • Отвори внутрішньої безпеки
  • Порушені або погано структуровані шляхи в процесах кодування
  • Потік конкретних входів через код
  • Очікуваний результат
  • Функціональність умовних циклів
  • Тестування кожного твердження, об’єкта та функції на індивідуальній основі

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

Клацніть тут, якщо відео недоступне

Як ви проводите тестування White Box?

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

КРОК 1) ЗРОЗУМІЙТЕ КОД ДЖЕРЕЛА

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

Крок 2) СТВОРИТИ ТЕСТОВІ ВИПАДКИ І ВИКОНАВАТИ

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

Приклад тестування WhiteBox

Розглянемо наступний фрагмент коду

Printme (int a, int b) {------------ Printme - це функціяint результат = a + b;Якщо (результат> 0)Друк ("Позитив", результат)ІнакшеДрук ("Негативний", результат)} ----------- Кінець вихідного коду 

Метою тестування WhiteBox у програмній інженерії є перевірка всіх гілок прийняття рішень, циклів, операторів у коді.

Для здійснення тверджень у наведеному вище прикладі тестування білої скриньки будуть тестові приклади WhiteBox

  • A = 1, B = 1
  • A = -1, B = -3

Техніка тестування White Box

Основним методом тестування Білої скриньки є аналіз покриття коду. Аналіз покриття коду усуває прогалини в наборі Test Case. Він визначає області програми, які не виконуються набором тестових кейсів. Після виявлення прогалин ви створюєте тестові кейси для перевірки неперевірених частин коду, підвищуючи тим самим якість програмного продукту

Для проведення аналізу покриття коду доступні автоматизовані інструменти. Нижче наведено декілька методів аналізу охоплення, які може використовувати тестер:

Покриття висловлення : - Ця методика вимагає тестування кожного можливого твердження в коді принаймні один раз під час процесу тестування програмної інженерії.

Покриття філій - Ця техніка перевіряє всі можливі шляхи (if-else та інші умовні цикли) програмного додатку.

Окрім вищезазначеного, існує безліч типів покриття, таких як Покриття стану, Покриття декількох умов, Покриття шляху, Покриття функцій тощо. Кожна техніка має свої переваги та намагається перевірити (охопити) всі частини програмного коду. Використовуючи Statement та Branch покриття, ви, як правило, досягаєте 80-90% охоплення кодом, що є достатнім. Нижче наведено важливі методи тестування WhiteBox:

  • Покриття заяви
  • Висвітлення рішень
  • Покриття філії
  • Покриття стану
  • Покриття за кількома умовами
  • Покриття остаточного автомата
  • Покриття шляху
  • Тестування контрольного потоку
  • Тестування потоку даних

Перегляньте цю статтю, щоб дізнатися більше деталей https://www.guru99.com/code-coverage.html

Види тестування білого ящика

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

  • Одиничне тестування: Це часто перший тип тестування, що проводиться в додатку. Тестування одиниць проводиться на кожному блоці або блоці коду в міру його розробки. Модульне тестування по суті робиться програмістом. Як розробник програмного забезпечення, ви розробляєте кілька рядків коду, одну функцію або об'єкт і перевіряєте його, щоб переконатися, що він працює, перш ніж продовжувати модульне тестування допомагає виявити більшість помилок на початку життєвого циклу програмного забезпечення. Виявлені на цьому етапі помилки дешевші та легкі для виправлення.

  • Тестування на витік пам'яті: Витоки пам’яті є основною причиною повільного запуску програм. Спеціаліст з контролю якості, який має досвід виявлення витоків пам'яті, важливий у випадках, коли у вас повільно запущена програма.

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

  • Тестування на проникнення White Box: Під час цього тестування тестувальник / розробник має повну інформацію про вихідний код програми, детальну інформацію про мережу, задіяні IP-адреси та всю інформацію про сервер, на якій працює програма. Метою є атакувати код з кількох сторін, щоб викрити загрози безпеці
  • Тестування мутації White Box : Тестування мутацій часто використовується для виявлення найкращих методів кодування, що використовуються для розширення програмного рішення.

Інструменти для тестування White Box

Нижче наведено перелік найкращих інструментів тестування білого ящика.

  • Parasoft Jtest
  • Еклемма
  • NUnit
  • PyUnit
  • HTMLUnit
  • CppUnit

Переваги тестування білої скриньки

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

Недоліки тестування WhiteBox

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

Закінчення приміток:

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