Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпори - Модуль 2.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
600.88 Кб
Скачать

Тестування, орієнтоване на дефекти (Fault-based techniques)

Як це не дивно звучить на рівні назви такої техніки тестування, вони, дійсно, орієнтовані на помилки. Точніше – на специфічні категорії помилок.

Припущення помилок (Error guessing)

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

Тестування мутацій (Mutation testing)

Мутація – невелика зміна тестованої програми, подія за рахунок приватних синтаксичних змін коди (зокрема, рефакторинга). Відповідні тести запускаються для оригінального і всіх варіантів тестованої програми, що “мутують”.

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

Техніки, що базуються на умовах використання

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

Техніки, що базуються на природі додатку

Описана техніка може застосовуватися до будь-яких типів програмних систем. В той же час, залежно від технологічної або архітектурної природи застосувань, можуть також застосовувати специфічну техніку, важливу саме для заданого типу застосування. Серед таких технік:

  • Об'єктно-орієнтоване тестування

  • Компонентно-орієнтоване тестування

  • Web-орієнтоване тестування

  • Тестування на відповідність протоколам

  • Тестування систем реального часу

Функціональні види тестування

Функціональні тести базуються на функціях і особливостях, а також взаємодії з іншими системами, і можуть бути представлені на всіх рівнях тестування: компонентному або модульному (Component/Unit testing), інтеграційному (Integration testing), системному (System testing) і приймальному (Acceptance testing). Функціональні види тестування розглядають зовнішню поведінку системи. Далі перераховані одні з найпоширеніших видів функціональних тестів:

  • Функціональне тестування (Functional testing)

  • Тестування безпеки (Security and Access Control Testing)

  • Тестування взаємодії (Interoperability Testing)

Нефункціональні види тестування

Нефункціональне тестування описує тести, необхідні для визначення характеристик програмного забезпечення, які можуть бути зміряні різними величинами. В цілому, це тестування того, "Як" система працює. Далі перераховані основні види нефункціональних тестів:

  • Всі види тестування продуктивності:

    • тестування навантаження (Performance and Load Testing)

    • стресове тестування (Stress Testing)

    • тестування стабільності або надійності (Stability / Reliability Testing)

    • об'ємне тестування (Volume Testing)

  • Тестування установки (Installation testing)

  • Тестування зручності користування (Usability Testing)

  • Тестування на відмову і відновлення (Failover and Recovery Testing)

  • Конфігураційне тестування (Configuration Testing)

83