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

23)Граничне та внутрішнє тестування циклу.

Проблемою тестування «біла скринька» є тестування циклічних структур в силу необхідності їх багаторазового повторення. Для спрощення даної процедури було запропоновано 2 наступних критерія: - граничне тестування циклу – відповідно до даного критерію має бути виконаний вхід в кожен цикл, проте виконання ітерацій не вимагається; - внутрішнє тестування циклу - відповідно до даного критерію має бути виконаний вхід в кожен цикл і як мінімум одна ітерація. У порівнянні цих критеріїв можна підсумувати, що виконання 2-го критерію забезпечує виконання критерію граничного тестування циклів але загалом з тим вимагає більшої кількості тестів.

24) Загальні відомості про тестування потоків даних програми

Група критеріїв для даного методу побудована принципах доссяжності і доступу до змінних. y=f(x(1),...,x(n)) – використовує змінні для обчислювального процесу. При цьому даний вираз є визначенням змінної y. Будемо вважати, що вираз P(x(1),...,x(n)) використовує змінні як предикати (p-use) Шлях p=(nin,...,nm) вважається таким, що не містить визначення змінної x якщо в ньому немає def x Для вершини ni та змінної х такої що x є def(ni) Вираз dcu(x,ni) позначає набір всих вершин nj таких, що x є c-uses(nj) s і шлях від ni до nj не містить def(x). Для вершини ni та змінної x такої що x є def(ni) вираз dpu(x,ni) ,буде позначати набір всих ребер (nj,nk) таких, що х є p-use(nj,nk). Шлях від nj до nk не містить def(x) Шлях визначення-використання (du-шлях): 1) Шлях p=(ni+1,...,nj,nk) щ містить змінні x у вершині ni а також c-use(x) ni,...,nk крім ni і nkB 2) Шлях p(nj,nk) що не містить def(x) але містить p-use(x) і всі вершини ni...nk попарно відмінні.

25) Критерії тестування потоків даних програми

1) all-defs – забезпечує перевірку ініціалізації змінних але не дає гарантії їхнього правильного використання в обчислювальому процесі. Даний критерій вимагає створення набору тестів. 2) all-puses – вимагає створення набору тестів які б містили для кожної вершини n(i) і кожної змінної х як мінімум один шлях. 3) all-cuses Ці два критерії гарантують перевірку того факту, що використовувані змінні в предикатних виразах та обчисленнях були ініціалізовані. 4)all cuses / some p-uses – даний критерій дає змогу відповісти на питання чи використані всі ініціалізовані змінні в обчисленнях або хоча б у предикатних виразах

5) all p-uses / some c-uses - перевіряється входження шуканої змінної в предикатні вирази, а якщо таких не виявлено то в обчисленнях 6) all-uses – даний критерій є узагальненням для останніх двох критеріїв 7) all du_path – даний критерій забезпечує найбільшу повноту покриття. Він враховує всі можливі використання зазначеної змінної

26) Загальні відомості про мутаційне тестування

Мутаційні тестування (мутаційний аналіз або мутація програм) - це метод тестування програмного забезпечення, який включає невеликі зміни коду програми. Якщо набір тестів не в змозі виявити такі зміни, то він розглядається як недостатній. Ці зміни називаються мутаціями і грунтуються на мутаційних операторах, які або імітують типові помилки програмістів або вимагають створення корисних тестів. Простіше кажучи, мутаційне тестування призначене для оцінки якості тестового набору. У програму вноситься невелика зміна, яке має проявитися при тестуванні. Якщо воно ніяк не впливає на результати тестів, то це означає, що тести підібрані невдало. Мутаційні тестування проводиться шляхом вибору мутаційних операторів та застосування їх одного за іншим до кожного фрагменту вихідного коду програми. Результат одного застосування мутаційного оператора до програми називається мутантом. Якщо набір тестів здатний виявити зміну (тобто один з тестів не проходить), то мутант називається вбитим. Як правило, мутант відрізняється від вихідної програми невеликим числом мутацій. У вихідній програмі можуть піддаватися мутаціям ділянки коду пов'язані з дефектами (змінюються значення змінних, модифікуються індекси та межі циклів, вносяться мутації в умови). Таким чином, з первісної програми шляхом внесення n числа мутацій отримують k мутантів, n >= k. Якщо сформоване безліч тестових наборів виявляє всі мутації у всіх мутантів, то воно відповідає мутаційному критерію. Якщо тестування вихідної програми на заданій множині тестових наборів не виявило помилок, то програма оголошується коректною. У разі мутаційного тестування важливо створити таке число мутантів, яке б охоплювало всі можливі ділянки прояви помилок.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]