Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Всі відповіді СП.docx
Скачиваний:
10
Добавлен:
28.01.2023
Размер:
217.28 Кб
Скачать
    1. Структурне тестування програмного забезпечення.

Тестування – процес виконання програми для виявлення помилок. Кроки процесу задаються тестами. Кожний тест визначає:

• свій набір вихідних даних і умов для запуску програми;

• набір очікуваних результатів роботи програми.

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

Тестування не виявляє дефектів, указує лише на їх наявність.

Існують два принципи тестування програм:

• функціональне тестування (тестування «чорного ящика»);

• структурне тестування (тестування «білого ящика»).

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

У разі тестування методом білого ящика повністю доступна інформація про внутрішню побудову програми. Під час тестування виявляється правильність функціонування внутрішніх елементів програми і зв’язків між ними. Об’єктом тестування тут є не зовнішнє, а внутрішнє поводження програми. Перевіряється коректність побудови всіх елементів програми і правильність їх взаємодії. Зазвичай аналізуються керувальні зв’язки елементів, рідше – інформаційні. Тестування за принципом «білого ящика» характеризується ступенем виконання чи покриття логіки (вихідний текст) програми. Розглянемо особливості цього принципу тестування. Звичайне тестування «білого ящика» ґрунтується на аналізі керувальної структури програми. Програма вважається перевіреною, якщо проведено вичерпне тестування маршрутів її графа керування.

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

• кількість незалежних маршрутів у базовій множині програми;

• верхню оцінку кількості тестів, що гарантує однократне виконання всіх операторів.

Щоб протестувати кожну умову у програмі, існує окреме сімейство способів тестування – «Тестування умов». Мета цієї сім’ї способів тестування – будувати тестові варіанти для перевірки логічних умов програми. При цьому бажано охопити операторів усіх гілок програми. Якщо набір тестів для програми А ефективний для виявлення помилок в умовах, що утримуються в А, то ймовірно, що цей набір також ефективний для виявлення інших помилок в А. Крім того, якщо методика тестування ефективна для виявлення помилок в умові, то ймовірно, 340 що ця методика буде ефективною для виявлення помилок у програмі.

Існує декілька методик тестування умов: тестування гілок і тестування області визначення.