Statement testing

Statement testing — це один із базових підходів до тестування програмного забезпечення, який належить до категорії white-box testing (тестування з доступом до коду). Його мета — перевірити, чи всі оператори (інструкції) у програмному коді були виконані хоча б один раз під час тестування.

Основна ідея

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

Приклад:

def is_positive(n):
    if n > 0:
        return True
    else:
        return False

Щоб покрити всі інструкції:

  • Нам потрібно перевірити випадок, коли n > 0 — виконається return True
  • І випадок, коли n <= 0 — виконається return False

Якщо протестувати лише з n = 5, то буде виконано лише return True, і покриття буде неповним.

Вимірювання

Результат statement testing часто виражається у відсотках покриття коду — statement coverage:

Statement Coverage = (Кількість виконаних інструкцій / Загальна кількість інструкцій) × 100%

Переваги:

  • Простий у реалізації.
  • Допомагає виявити “мертвий код” (який ніколи не виконується).

Недоліки:

  • Не гарантує покриття всіх умов або гілок (наприклад, не перевіряє всі варіанти if/else або циклів).
  • Може пропустити помилки, якщо інструкція виконується, але не в усіх логічних сценаріях.

Порівняння з іншими видами:

Тип тестуванняЩо перевіряє
Statement TestingЧи виконана кожна інструкція
Branch TestingЧи виконана кожна гілка (if/else)
Path TestingЧи пройдені всі можливі шляхи
Condition TestingЧи перевірені всі умови логіки

Підсумок

Statement testing — це базовий рівень структурного тестування, що забезпечує мінімальний рівень впевненості в тому, що кожна частина коду хоча б раз була виконана, але не гарантує вичерпного тестування логіки.

Leave a Reply

Your email address will not be published. Required fields are marked *