Дослідження методу тестування програмного забезпечення "Білий ящик"

Характеристика основних стратегій, стадій та етапів методу тестування "Білий ящик". Аналіз забезпечення надійності системи в умовах шкідливих атак і програмних дефектів і збоїв. Розгляд логіки роботи програмного забезпечення для отримання тестових даних.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык украинский
Дата добавления 11.03.2018
Размер файла 366,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Київський національний університет технологій і дизайну

ДОСЛІДЖЕННЯ МЕТОДУ ТЕСТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ «БІЛИЙ ЯЩИК»

Розломій І.О.

Постановка проблеми. В даний час створення програмного забезпечення не можливо уявити без процесу тестування, але, на жаль, йому не завжди приділяють належну увагу. Це пов'язано, в основному, з економічними причинами. Виробники прагнучи зменшити витрати на новий продукт часто просто не виділяють належні кошти і час на проведення повноцінного процесу. У більшості випадків проводиться неповноцінне, так зване, «інтуїтивне» тестування у вигляді створення і розробки проектів в тестованій системі.

Мета будь-якого методу тестування безпеки програмного забезпечення полягає в забезпеченні надійності системи в умовах шкідливих атак і програмних дефектів і збоїв. На виробництві вразливість програмного забезпечення (ПЗ) може призвести до фінансових і тимчасових втрат через зупинку або некоректної роботи системи, тому завчасне її виявлення є актуальним завданням для всіх підприємств.

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

Аналіз останніх досліджень та публікацій. Останнім часом спостерігається неабиякий інтерес до дослідження різноманітних стратегій тестування програмного забезпечення. Значний внесок в області тестування програмного забезпечення внесли такі науковці: К.В. Рубинов, О.І. Бедерди- нова, Л.А. Іванова, С.В. Бирюков та інші. Проте, все ще залишається ряд невирішених питань, які дозволять оптимізувати процес тестування програмного забезпечення.

Мета статті. Головною метою статті є аналіз та дослідження методу тестування ПЗ «Білий ящик». Метою дослідження є також розгляд стратегій, стадій та етапів методу тестування «Білий ящик» та розробка функціональної моделі процесу тестування методом «Білий ящик» відповідно до нотації ГОЕЕО.

Виклад основного матеріалу. Метод тестування «Білий ящик» є найбільш поширеним. Його використання призводить до зниження ризиків успішних шкідливих атак, підвищуючи загальну безпеку системи.

«Білий ящик» -- це техніка тестування, яка дозволяє перевірити внутрішню структуру програми, її логіку і коректність роботи.

Техніка тестування «Білого ящика» передбачає тестування програмного забезпечення, аналізуючи логіку роботи програми для отримання тестових даних.

У цього методу немає мети виявлення синтаксичних помилок, так як дефекти такого роду зазвичай виявляє компілятор. Методи «Білого ящика» спрямовані на локалізацію помилок, які складніше виявити, знайти і зафіксувати. З їх допомогою можна виявити логічні помилки і перевірити ступінь покриття тестами.

Для застосування методу «Білий ящик» потрібна наявність повної інформації про досліджуване ПЗ (вихідний код, інформація про результати проведених тестувань), що дозволяє провести його повний аналіз на предмет дефектів, помилок і вразливостей. Метод тестування може бути реалізований динамічним і статичним способами.

Рис. 1. Контекстна діаграма процесу тестування програмного забезпечення методом «Білий ящик»

При статичному аналізі досліджуються вихідні коди компонентів і документовані можливості ПЗ, а при динамічному здійснюється перевірка поведінки ПЗ в реальних умовах із застосуванням спеціалізованого програмного забезпечення (відладчики, профілювальникі) [1].

Стратегія «Білого ящика» включає в себе наступні методи тестування:

1. Покриття операторів. Критерії покриття операторів передбачає виконання кожного оператора програми щонайменше один раз.

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

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

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

5. Комбінаторне покриття умов. Цей критерій потребує, щоб всі можливі комбінації результатів умов в кожному рішенні, а також кожен оператор виконався принаймні один раз [2].

Серед особливостей структурного тестування можна виділити наступні:

1. Мінімальна вартість усунення дефекту. Локалізація помилки всередині конкретного програмного модуля не призведе до її міграції в інші частини програми і не потребує витрат на її пошук і усунення.

2. Гарантується, що тести, побудовані на базі вихідного коду, забезпечать його повне покриття.

3. Можливість відстеження потоку управління і цілісності даних в ході виконання.

4. Тести залежать від вихідного коду, і тес- тувальник змушений постійно модифікувати їх, слідуючи змін в програмі.

5. Спеціаліст з тестування зобов'язаний чітко розбиратися в перевіряємому коді, що призводить до збільшення витрат ресурсів на тестування.

6. Складність тестування системи в цілому [3].

Функціональна модель процесу тестування методом «Білий ящик» відповідно до нотації ГОЕЕ0 представлена на рис. 1.

Вхідними даними для процесу тестування є: вихідний код і бінарні файли ПЗ; документовані можливості програмного і технічного забезпечень; документація по попереднім тестуванням ПЗ.

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

Документація по попереднім тестуванням містить інформацію, що описує плани і результати проведених тестів, виявлені дефекти і рекомендації щодо усунення вразливостей.

В результаті проведення тестування ПЗ формується документація про результати проведення дослідження.

В якості виконавців виступають замовник і фахівці, які виконують тестування. тестування програмний забезпечення дефект

Механізмами виконання є тестова середовище та спеціалізоване ПЗ, що забезпечує проведення дослідження.

Керуючими впливами є стандарти та методи тестування.

Метод тестування «Білий ящик» включає наступні основні стадії і етапи.

1. Підготовча стадія (планування) складається з етапів:

1) проведення аналізу та оцінки ризиків (складання моделі загроз);

2) розробка стратегії тестування;

3) розробка детального плану тестування;

4) розробка сценаріїв тестів і визначення області покриття кожного тесту;

5) підготовка тестового середовища.

2. Стадія проведення тестування включає:

1) проведення валідації та верифікації тестових сценаріїв;

2) проведення статичного аналізу програмного забезпечення і його компонентів;

3) проведення динамічного аналізу програмного забезпечення і його компонентів;

4) проведення аналізу виявлених помилок, дефектів і вразливостей програмного забезпечення.

3. Стадія формування звітної документації є створення звітної документації про результати проведення досліджень.

Етап аналізу та оцінки ризиків включає аналіз загроз і видів вразливостей, присутніх в кожному компоненті ПЗ, ймовірності їх реалізації та оцінка можливих збитків підприємства при виникненні ризиків, вироблення рекомендацій для зниження виявлених ризиків.

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

На етапі розробки детального плану тестування визначаються і узгоджуються з замовником мети, графік тестування і ступінь покриття тестами програми і її компонентів, способи контролю та вимоги до звітної документації.

На етапі створення тестів визначаються сценарії тестів, що описують критерії покриття програмного коду з урахуванням цілей тестування; початкові умови, вхідні дані, очікувані результати та контрольні точки проведення тестів.

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

Стадія проведення тестування ПЗ полягає в виявленні дефектів і помилок в тестованих компонентах ПЗ і підрозділяється на етапи ва- лідації та верифікації, статичного, динамічного аналізу та аналізу результатів проведення тестових сценаріїв.

Етап валідації та верифікації тестових сценаріїв включає інспекцію тестів на відповідність детальному плану і стандартам і аналіз отриманих результатів.

На етапі проведення статичного аналізу проводиться пошук помилок без виконання тестового ПЗ за допомогою аналізу вихідного коду перевіряються компонентів з використанням спеціалізованого програмного забезпечення.

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

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

На стадії формування звітної документації складається звіт про результати тестування ПЗ, який включає опис сценаріїв проведених тестів, тестові контрольні дані, опис архітектури тестового середовища, ступеня покриття програм сценаріями тестів і статусу отриманих помилок і дефектів, інформацію про документування процесу тестування, список задіяних в ньому фахівців. Для кожної виявленої уразливості вказуються тестовий сценарій, умови її відтворення і методи усунення [4].

Висновки

Таким чином, в статті розглянуто особливості процесу тестування програмного забезпечення, зокрема методу «Білий ящик». Досліджено основні переваги, етапи, стратегії запропонованого методу. На основі проведених досліджень була побудована функціональна модель процесу тестування методом «Білий ящик» за допомогою методології функціонального моделювання і графічного описання процесів ГОЕЕ0.

Список літератури

1. Тамре Л. Введение в тестирование программного обеспечения. - М.: Вильямс, 2003. - 359 с.

2. Василенко Н.В. Модели оценки надежности програмного обеспечения / Н.В. Василенко, В.А. Макаров // Вестник НГУ. - 2004. - № 28. - С. 126-132.

3. Бирюков С.В. Анализ стратегий тестирования програмного обеспечения / С.В. Бирюков // Вестник МГТУ. - 2010. - С. 59-63.

4. Канер С., Фолк Д., Кек Нгуен Е. Тестирование программного обеспечения. - Киев: ДиаСофт, 2000. - 544 с.

Анотація

Стаття присвячена обґрунтуванню методу тестування програмного забезпечення «Білий ящик». Проаналізовані основні стратегії, стадії та етапи методу тестування «Білий ящик». Були представлені особливості структурного тестування. В результаті була розроблена функціональна модель процесу тестування методом «Білий ящик» відповідно до нотації ГОЕБО. Складена детальна характеристика кожного етапу тестування методом «Білий ящик».

Ключові слова: тестування програмного забезпечення, «Білий ящик», структурне тестування, функціональна модель, ГОЕБО.

Размещено на Allbest.ru


Подобные документы

  • Тестування програмного забезпечення як процес його дослідження для отримання інформації про якість. Автоматизація тестування програми Join It - Jigsaw Puzzle. Методика тестування, структура пакету та його модулів. Вимоги до програмного забезпечення.

    дипломная работа [2,4 M], добавлен 24.07.2013

  • Проблеми процесу тестування програмного забезпечення. Розробка алгоритму автоматичної генерації тестів і тестового набору для ручного виконання. Побудова тестів для системи "Банкомат" і для баг-трекінгової системи, представленої графом із циклами.

    дипломная работа [1,2 M], добавлен 26.02.2014

  • Дослідження алгоритму роботи та коду програми. Оцінка методом "чорного ящика". Тестування і налагодження розробленої програми на алгоритмічній мові високого рівня. Оцінювання якості програмного забезпечення за об’єктно-орієнтованими метриками зв’язності.

    курсовая работа [143,1 K], добавлен 11.03.2021

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

    автореферат [52,0 K], добавлен 10.12.2010

  • Види віртуальних тестових машин, їх ключові можливості, сумісність c операційними системами. Процес установки гостьових ОС BackTrack і FreeBSD. Встановлення серверного програмного забезпечення. Тестування веб-сервера і засобів віддаленого управління.

    дипломная работа [3,5 M], добавлен 22.07.2015

  • Основні поняття щодо захисту програмного забезпечення. Класифікація засобів дослідження програмного коду: відладчики, дизасемблери, діскомпілятори, трасировщики та слідкуючі системи. Способи вбудовування захисних механізмів в програмне забезпечення.

    курсовая работа [41,7 K], добавлен 14.11.2010

  • Аналіз методів емпіричної інженерії програмного забезпечення. Призначення та властивості програмного забезпечення та метрик проектів Openproj-1.4-src, TalendOpen Studio 3.2.1 та Рlazma-source 0.1.8, їх статистичний, кореляційний та регресійний аналіз.

    курсовая работа [2,7 M], добавлен 12.12.2010

  • Аналіз системи збору первинної інформації та розробка структури керуючої ЕОМ АСУ ТП. Розробка апаратного забезпечення інформаційних каналів, структури програмного забезпечення. Алгоритми системного програмного забезпечення. Опис програмних модулів.

    дипломная работа [1,9 M], добавлен 19.08.2012

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

    дипломная работа [1,8 M], добавлен 21.02.2015

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

    курсовая работа [1,5 M], добавлен 22.04.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.