покриття всіх гілок потрібно всіх додаткових точок входу в процедуру (що задаються операторами ENTRY) і всіх ON - одиниць. p> Використання критерію покриття умов може викликати підбір тестів, що забезпечують перехід в програмі, який пропускається при використанні критерію С1 (наприклад, в програмі на мові Паскаль, що використовує конструкцію циклу WHILE х AND y DO ... , Застосування критерію покриття умов вимагає перевірки обох варіантів виходу з циклу: NOT x і NOT y).
З іншого боку покриття умов може не забезпечувати покриття всіх переходів. Наприклад, конструкція IF A AND B THEN ... вимагає по критерію покриття умов двох тестів (наприклад, A = true, B = false і A = false, B = true), при яких може не виконуватися оператор, розташований в then - гілки оператора if. p> Практично єдиним засобом, що надається сучасними системами програмування, є можливість визначення частоти виконання різних операторів програми (її профілізації). Але з допомогою цього інструменту підтримки тестування можна перевірити виконання тільки найслабшого з критеріїв повноти - покриття всіх операторів.
Правда, за допомогою цього ж інструмента можна перевірити і виконання критерію С1. Але для цього заздалегідь текст програми повинен бути перетворений таким чином, щоб всі конструкції умовного вибору (IF і CASE
10
або SWITCH) містили гілки ELSE або DEFAULT, хоча б і порожні. У цьому випадку всі гілки алгоритму, не виконувалися на даному тесті будуть "видимі" з таблиці частоти виконання операторів перетвореної програми. p> Актуальною залишається задача створення інструментальних засобів, що дозволяють:
1) нагромаджувати інформації про покриті і непокритих гілках для всіх використаних тестів;
2) виділяти розробнику ще вкриті при тестуванні дільниці програми, полегшуючи вибір наступних тестів;
3) підтримувати більш потужні критерії повноти структурного тестування. <В
Спільне тестування модулів. <В
Відомі два підходи до спільного тестування модулів: покрокове і монолітне тестування. p> При монолітному тестуванні спочатку по окремості тестуються всі модулі програмного комплексу, а потім всі вони об'єднуються в робочу програму для комплексного тестування.
При покроковому тестуванні кожний модуль для свого тестування підключається до набору вже перевірених модулів.
У першому випадку для автономного тестування кожного модуля потрібний модуль - драйвер (тобто допоміжний модуль, що імітує виклик модуля, що тестується) і один або декілька модулів - заглушок (тобто допоміжних модулів, що імітують роботу модулів, що викликаються з тестованого). При покроковому тестуванні модулі перевіряються не ізольовано один від одного, тому потрібні або тільки драйвери, або тільки заглушки. <В
А
В
B C D
В
E F
рис. 1
12
При порівня...