Вище, гарантують, что КОЖЕН Різновид взаємодії между компонентами (Актівізації, Виклики и т.д.) перевірено прінаймні один раз. Однак, Функціонування компонентно-базованого програмного забезпечення передбачає взаємодію сукупності ЕЛЕМЕНТІВ, причом у порядок взаємодії может буті ВАЖЛИВО. Тому були розроблені КРИТЕРІЇ для послідовностей. p> Для того, щоб обробіті інформацію про порядок взаємодії Було введено Поняття відношення залежності: актівізація Іnv2 пов'язана відношенням залежності з актівізацією Іnv1, ЯКЩО існує шлях (executіon path), при якому актівізація Іnv1 віклікає актівізацію Іnv2. Будемо Говорити, что Іnv2 пов'язане з Іnv1 послідовністю актівізацій, яка реалізує відношення залежності между цімі двома актівізаціямі.
Крітерій покриття перелогових: шкірний послідовність актівізацій, яка реалізує Кожне відношення залежності, винна буті протестували хочай б один раз.
Досягнення полного покриття даного крітерію на практіці Вкрай ускладнено через велику кількість необхідніх тестів. Тому Пропонується практичний способ розв'язання даної проблеми на Основі Використання UML діаграм. Відповідно до цього підходу враховуються Тільки Фактичні UML-послідовності в діаграмах взаємодії, а їхні підпослідовності окремо НЕ розглядаються. Тому Було розроблено ще два КРИТЕРІЇ. p> Крітерій покриття послідовностей вікліків операцій: шкірний послідовність Повідомлень mk (*) У Кожній діаграмі взаємодій UML винна буті протестували хочай б один раз. p> Крітерій покриття послідовностей вікліків операцій НЕ враховує контексту. Щоб врахуваті цею Чинник, послідовності Повідомлень з діаграм взаємодії Варто доповніті інформацією про відповідні стани в діаграмах станів компонентів.
Крітерій покриття послідовностей актівізацій: шкірний послідовність актівізацій mk = (tg1, l1, tg2, l2) k (*) у Кожній діаграмі взаємодії винна буті протестували хочай б один раз. p> цею крітерій є компромісом между крітеріямі покриття перелогових и покриття послідовностей вікліків операцій. У ньом врахованій контекст даніх, розглядаються Фактичні послідовності актівізацій, альо НЕ досліджується окремо Кожна підпослідовність, что дозволяє полегшіті реалізацію цього крітерію на практіці.
Особлива увага має буті пріділена паралельних Виконання послідовностей Повідомлень. Для цього Розроблення крітерій покриття паралельних потоків: для кожної діаграмі взаємодії CD, шкірних функціонально можлива комбінація Виконання Повідомлень у паралельних потоках має буті протестували хочай б один раз.
Для шкірного з запропонованіх крітеріїв розроблені метрики, Які дозволяють чисельного оцініті ступінь досяжності крітерію. p> У розділі представлені ОЦІНКИ кількості тестів, необхідніх для покриття шкірного з Розглянуто крітеріїв. Смороду дозволяють оцініті ВАРТІСТЬ тестування на ранніх етапах програмування, а отже вібрато крітерій, Якого можна досягті практично, віходячі з наявних у наявності ФІНАНСОВИХ ресурсів и годині. Визначи метрику відповідності между повідомленнями и переходами (виклика ї актівізаціямі), яка дозволяє здобудуть більш точні ОЦІНКИ необхідної кількості тестів и может використовуват для ПІДТРИМКИ решение при віборі компонента з функціонально Йому еквівалентніх.
аналіз запропонованіх у работе крітеріїв дозволивши сформулюваті задачі оптімізації процеса тестування, Які враховують обмеження ФІНАНСОВИХ витрат, годині на Розробка та Забезпечують необхідній рівень якості ПЗ, что тестується. Смороду належати до класу задач лінійного булевого програмування З ОБМЕЖЕНОЮ групового Вибори. У залежності від характеру параметрів наведено стохастичную та детерміновану постановки завдань, вказані умови зведення стохастичної задачі до детермінованої, та показані шляхи Вирішення Останньоі. p> Розглянемо детерміновану постановку задачі оптімізації Вибори тестового покриття.
Коженая тест характерізується вартістю, годиною, необхіднім на его проведення та елементом функціональності, Який ВІН тестує.
Нехай p> а . p> Введемо бульову змінну:
В
Тоді завдання оптімізації вартості, при обмеженності на годину проведення тестування буде маті вигляд:
В
де K - кількість віділеніх груп об'єктів тестування, Jk - множини ЕЛЕМЕНТІВ функціональності, Які мают буті протестовані для k-ої групи об'єктів тестирование.
Обмеження: p> 1. На годину (ВРАХОВУЮЧИ можлівість паралельного тестування):
,
де ТK-год, виділений на тестування кожної з груп об'єктів
2. Групового Вибори (тести для різніх тіпів ЕЛЕМЕНТІВ функціональності різніх груп об'єктів НЕ перетінаються, и пільг в вібрато один тест для шкірного елементами):
, Г†,
ЯКЩО ,, - множини всех ЕЛЕМЕНТІВ функціональності.
Дослідження, проведені в Розділах 2 та 3 становляит основу для создания інструментарію для ПІДТРИМКИ оцінювання та забезпечення надійності ПЗ. p> Четвертий Розділ присвячено практичн...