Тестування методом чорної скриньки
Тестування методом «чорної скриньки» — це метод тестування програмного забезпечення, при якому перевіряється робота програми без знання її внутрішньої побудови та схеми роботи. Іншими словами, не маючи доступу до коду програми. Цей метод тестування може бути застосований практично до будь-якого рівня тестування програмного забезпечення: модульного, інтеграційного, системного або приймального тестування. Іноді цей метод називають тестуванням на основі специфікації.[1]
Під «чорною скринькою» слід розуміти об'єкт дослідження, внутрішній устрій якого невідомо. Поняття «чорна скринька» було запропоновано У. Р. Ешбі. У кібернетиці воно дозволяє вивчати поведінку систем, тобто їх реакцій на різноманітні зовнішні впливи і в той же час абстрагуватися від їх внутрішнього устрою.
При цьому виді тестування конкретні знання коду програми, внутрішньої структури та знань програмування загалом не потрібні.[2] Тестувальник знає, що саме має робити програмне забезпечення, але не знає, як саме вона це робить. Наприклад, тестувальник знає, що на певні вхідні дані програма повертає певний незмінний результат, але не знає про те, як саме програмне забезпечення створює вихідні дані.[3]
Всі тестові кейси будуються на основі специфікацій та вимог, тобто того, що програма повинна робити. Тестові приклади, як правило, походять від зовнішніх описів програмного забезпечення, включаючи технічні характеристики, вимоги та параметри конструкції. Незважаючи на те, що використовувані тести мають переважно функціональний характер, можуть бути використані і нефункціональні тести.
Розробник тестів обирає як дійсні, так і недійсні вхідні дані та визначає правильний результат, часто за допомогою тестового оракула або попереднього результату, які є придатними і без знання внутрішньої структури об'єкта тестування.
Для «чорної скриньки» типові методи розбробки тестів включають:[4]
- Тестування по таблиці рішень
- Попарне тестування
- Тестування з розбиттям на еквівалентність
- Аналіз граничних значень
- Граф причин-наслідків
- Вгадування помилок (error guessing)
- Тестування станів переходу
- Тестування сценаріїв використання
- Перевірка синтаксису
- Комбіновані техніки
При тестуванні на проникнення метод чорної скриньки відноситься до ситуації, коли етичний хакер не знає про систему, на яку здійснюється атака. Метою тесту на проникнення в чорну скриньку є імітація зовнішнього злому або кібератаки.
- Тест ABX
- Приймальна перевірка
- Сліпий експеримент
- Випробування меж
- Нечітке тестування
- Тестування сірої коробки
- Проект Metasploit
- Перевірка розумності
- Тестування диму
- Тестування продуктивності програмного забезпечення
- Тестування програмного забезпечення
- Стрес-тестування
- Автоматизація тестів
- Блокове тестування
- Сканер безпеки вебдодатків
- Білий капелюх хакер
- Тестування білої скриньки
- ↑ Jerry Gao; H.-S. J. Tsao; Ye Wu (2003). Testing and Quality Assurance for Component-based Software. Artech House. с. 170–. ISBN 978-1-58053-735-3.
- ↑ Milind G. Limaye (2009). Software Testing. Tata McGraw-Hill Education. с. 216. ISBN 978-0-07-013990-9.
- ↑ Patton, Ron (2005). Software Testing (вид. 2nd). Indianapolis: Sams Publishing. ISBN 978-0672327988.
- ↑ Forgács, István; Kovács, Attila (2019). Практичне проектування тестів: Вибір традиційних та автоматизованих методів проектування тестів. ISBN 1780174721.
- BCS SIGIST (Група інтересів спеціалістів Британського комп'ютерного товариства з тестування програмного забезпечення): Стандарт для тестування програмних компонентів, робочий проект 3.4, 27. Квітень 2001 року.