1 Модуль 4. Особливості тестування програм та систем Лекції 10-11 Загальний обсяг 4 год. Вступ до програмної інженерії.

Презентация:



Advertisements
Похожие презентации
Модель Виконали: студенти групи маг МІ-3 Волошин Андрій.
Advertisements

Модель – це опис істотних для поставленої задачі властивостей і закономірностей поведінки обєктів, що забезпечує її розвязання. Основними моделями є:
База даних (БД) це структурована сукупність взаємопов'язаних даних певної предметної області (реальних об'єктів, процесів, явищ тощо). це структурована.
Основи алгоритмізації і програмування. Тема 2. Моделі та моделювання (3 год) Етапи розв'язування задач на комп'ютері.
Лекція 1. Інформаційні системи в управлінні економікою. 1.Поняття інформаційної системи. 2.Класифікація інформаційних систем. 3.Структура інформаційної.
Дипломний проект Виконав: студент гр. П Ярошенко Я.І. Керівник дипломного проекту Сібрін Ю.І. Розробка програми Продаж друкованої продукції.
Дискретні структури Лекція 3 Елементи комбінаторики 3.1. Основні загальні правила комбінаторики 3.2. Основні види комбінацій 3.3. Біном Ньютона 3.4. Трикутник.
Дипломний проект Виконав: студент гр. П Карачевцев О.М. Керівник дипломного проекту Висоцька О.І. Електронне замовлення обідів.
Загальні відомості про системне, службове та прикладне програмне забезпечення. Класифікація, основні функції та складові операційних систем. Поняття про.
ОБЧИСЛЮВАЛЬНА СКЛАДНІСТЬ АЛГОРИТМІВ І ПРОГРАМ НА ПРИКЛАДІ ЗАДАЧІ ПРО ЩАСЛИВІ КВИТКИ.
Базові структури алгоритмів Інформатика-11 Тема-2.
Робота учня 11-Б класу Ізяславського НВК ЗОШ І-ІІІ ст. 2, ліцей Макарука Богдана Михайловича Керівник: Гульчак Інна Василівна.
Бази даних Поняття про моделі даних. Види моделей даних Бази даних.
Основи алгоритмізації та програмування Надання значень величинам. Вказівки присвоєння та введення.
Перевірка знань за темою Алгоритми Що таке алгоритми ? Наведіть приклади. Що ви знаєте про історію виникнення алгоритмів ? Що таке система команд виконавця.
Розгалуження в алгоритмах і програмах Алгоритми з розгалуженням.
Кожен оточуючий нас обєкт має свої властивості. Обєкт – цілісна частина навколишнього світу. Наприклад, стіл має такі властивості, як розміри, форму,
Ізяславський НВК 2, Гульчак І.В. Компютерні програми і мови програмування. Етапи розвязування задач з використанням компютера.
І.Л.Володіна, В.В.Володін «Інформатика. 11 клас» Академічний рівень Рівень Стандарт.
Урок 27 5 клас. АЛГОРИТМИ З РОЗГАЛУЖЕННЯМИ.
Транксрипт:

1 Модуль 4. Особливості тестування програм та систем Лекції Загальний обсяг 4 год. Вступ до програмної інженерії

2 Основні питання Методи тестування Методи тестування Етапи процесів тестування Етапи процесів тестування Тестування дефектів та помилок Тестування дефектів та помилок Тестування інтегрованості Тестування інтегрованості Особливості тестування об'єктно -орієнтованих систем Особливості тестування об'єктно -орієнтованих систем

3 Основні поняття процесів тестування. Тестування спосіб налагодження програми, який полягає в опрацюванні програмою контрольних наборів тестів з відомими результатами Тестування спосіб налагодження програми, який полягає в опрацюванні програмою контрольних наборів тестів з відомими результатами Тестування включає два види робіт: встановлення наявності помилок; встановлення місця розміщення помилок та їх усунення – налагодження. Тестування включає два види робіт: встановлення наявності помилок; встановлення місця розміщення помилок та їх усунення – налагодження. Тестування включає розробку планів і тестів перевірки правильності функціонування вихідного коду Тестування включає розробку планів і тестів перевірки правильності функціонування вихідного коду Тестування становить від 30 до 50% трудомісткості створення коду. Тестування становить від 30 до 50% трудомісткості створення коду. Функціональне тестування - перевірка правильності функціонування результатів проектування Функціональне тестування - перевірка правильності функціонування результатів проектування Альфа-тестування – для прийняття замовником проекту Альфа-тестування – для прийняття замовником проекту Бетта-тестування – тестування великою кількістю споживачів Бетта-тестування – тестування великою кількістю споживачів

4 Етапи процесів тестування Етапи процесів тестування Тестування дефектів та помилок Тестування дефектів та помилок Тестування інтегрованості Тестування інтегрованості Особливості тестування об'єктно -орієнтованих систем Особливості тестування об'єктно -орієнтованих систем

5 Етапи процесів тестування Тестування компонент Тестування компонент Для перевірки правильності функціонування окремих компонент Для перевірки правильності функціонування окремих компонент Тестування модулів Тестування модулів Взаємо залежні компоненти: класи об'єктів; абстрактні типи даних; процедури та функції Взаємо залежні компоненти: класи об'єктів; абстрактні типи даних; процедури та функції Тестування підсистем Тестування підсистем Основна проблема – неузгодженість модульних інтерфейсів в різних режимах функціонування Основна проблема – неузгодженість модульних інтерфейсів в різних режимах функціонування Тестування системи Тестування системи Перевірка сумісності підсистемних інтерфейсів, відповідності системної специфікації до функціональних та нефункціональних показників, оцінка інтегративних характеристик Перевірка сумісності підсистемних інтерфейсів, відповідності системної специфікації до функціональних та нефункціональних показників, оцінка інтегративних характеристик Альфа-тестування Альфа-тестування Тестування із застосуванням даних замовника, а не розробника, виявляються помилки допущені на етапі формування системних вимог. Тестування із застосуванням даних замовника, а не розробника, виявляються помилки допущені на етапі формування системних вимог.

6 Етапи процесів тестування Етапи процесів тестування Тестування дефектів та помилок Тестування дефектів та помилок Тестування інтегрованості Тестування інтегрованості Особливості тестування об'єктно -орієнтованих систем Особливості тестування об'єктно -орієнтованих систем

7 Особливості тестування функціонально та об'єктно-орієнтованих моделей ПЗ У функціонально-орієнтованих системах чітко розділено програмні елементи –функції та модулі У функціонально-орієнтованих системах чітко розділено програмні елементи –функції та модулі Можливість реалізації низхідного та висхідного складання Можливість реалізації низхідного та висхідного складання В об'єктно - орієнтованих не існує чіткої ієрархії об'єктів В об'єктно - орієнтованих не існує чіткої ієрархії об'єктів Неможливість реалізації низхідного та висхідного складання Неможливість реалізації низхідного та висхідного складання Не існує межі між тестуванням компонент та тестуванням результату складання Не існує межі між тестуванням компонент та тестуванням результату складання

8 Особливості тестування дефектів Мета – виявлення прихованих дефектів до передачі замовнику Мета – виявлення прихованих дефектів до передачі замовнику Запускається такий тест, який виявляє дефекти Запускається такий тест, який виявляє дефекти Загальна схема: Загальна схема: Розробка тестових сценаріїв Розробка тестових сценаріїв Підготовка тестових даних Підготовка тестових даних Виконання програми з тестовими даними Виконання програми з тестовими даними Порівняння результатів тесту із даними тестового сценарію Порівняння результатів тесту із даними тестового сценарію Підготовка звіту про тестування Підготовка звіту про тестування Проблема- не можливість використання нескінченної кількості сценаріїв Проблема- не можливість використання нескінченної кількості сценаріїв ЇЇ розв'язок - обмежена кількість сценаріїв для тестування певних засобів та функцій: ЇЇ розв'язок - обмежена кількість сценаріїв для тестування певних засобів та функцій: Усі функції доступні через меню Усі функції доступні через меню Комбінації функцій доступні через меню Комбінації функцій доступні через меню Тестування функцій із правильним та неправильним введенням даних Тестування функцій із правильним та неправильним введенням даних

9 Основні методи тестування дефектів Метод чорної скриньки. Метод чорної скриньки. Функціональне тестування передбачає попередній аналіз функцій: Функціональне тестування передбачає попередній аналіз функцій: Ідентифікацію функціональних вимог Ідентифікацію функціональних вимог Ідентифікацію зовнішніх функцій у реалізації ПЗ і побудова їх послідовності відповідно до використання в ПЗ Ідентифікацію зовнішніх функцій у реалізації ПЗ і побудова їх послідовності відповідно до використання в ПЗ Ідентифікація області зміни вхідних змінних для кожної функції Ідентифікація області зміни вхідних змінних для кожної функції Побудова тестових наборів і сценаріїв тестування Побудова тестових наборів і сценаріїв тестування Виявлення функціональних вимог і за допомогою тестових наборів і тестування помилок у програмі та у взаємодії із середовищем Виявлення функціональних вимог і за допомогою тестових наборів і тестування помилок у програмі та у взаємодії із середовищем Систематичний метод вибору вхідних даних Систематичний метод вибору вхідних даних Задання області еквівалентності Задання області еквівалентності Структурне тестування Структурне тестування Метод білої скриньки Метод білої скриньки Тестування гілок Тестування гілок

10 Метод чорної скриньки Основне завдання знайти данні при яких функція виконується не вірно ПРОГРАМНА СИСТЕМА Вхідні тестові данні із підмножиною, які призводять до неправильного функціонування системи Результати тестування із вихідними даним, що показують дефекти

11 Систематичний метод вибору вхідних даних Спосіб розбиття вхідних даних на класи, які мають спільні властивості Спосіб розбиття вхідних даних на класи, які мають спільні властивості Додатні чи від'ємні числа Додатні чи від'ємні числа Стрічки без пробілів Стрічки без пробілів Поведінка програми для отриманого класу є однаковим, тобто еквівалентним, тому класи утворюють області еквівалентності Поведінка програми для отриманого класу є однаковим, тобто еквівалентним, тому класи утворюють області еквівалентності Систематичний метод передбачає визначення для вхідних даних усіх областей еквівалентності Систематичний метод передбачає визначення для вхідних даних усіх областей еквівалентності Суть методу: Суть методу: Вибір області еквівалентності Вибір області еквівалентності Для кожної області вибираються тестові дані: на межах областей еквівалентності та всередині області Для кожної області вибираються тестові дані: на межах областей еквівалентності та всередині області Приклад областей еквівалентності Приклад областей еквівалентності Менше 100 Між 100 та 1000 Більше

12 Правила визначення областей еквівалентності Послідовність тестових даних може включати один елемент Послідовність тестових даних може включати один елемент Переважно програмісти передбачають, що послідовності включають багато елементів і для одного елементу програма може виявитись не працездатною Переважно програмісти передбачають, що послідовності включають багато елементів і для одного елементу програма може виявитись не працездатною Необхідно в різних тестах використовувати різні послідовності із різною кількістю елементів Необхідно в різних тестах використовувати різні послідовності із різною кількістю елементів Це зменшує імовірність випадкової видачі правильних результатів програмою з дефектами Це зменшує імовірність випадкової видачі правильних результатів програмою з дефектами Обов'язковими є послідовності тестових даних, які використовуються для перевірки функції пошуку певних ключових елементів із першим, середнім та останнім положенням ключового елементу у послідовності Обов'язковими є послідовності тестових даних, які використовуються для перевірки функції пошуку певних ключових елементів із першим, середнім та останнім положенням ключового елементу у послідовності

13 Структурне тестування Метод білої скриньки – створення тестів на основі структури системи та її реалізації Метод білої скриньки – створення тестів на основі структури системи та її реалізації Застосовується для структурно простих компонент - підпрограми, чи методів асоційованих до об'єктів Застосовується для структурно простих компонент - підпрограми, чи методів асоційованих до об'єктів Вичерпне тестування усіх маршрутів потоків передач керування дозволяє виявити усі помилки у програмі Вичерпне тестування усіх маршрутів потоків передач керування дозволяє виявити усі помилки у програмі Недолік - повний комбінаторний перебір маршрутів Недолік - повний комбінаторний перебір маршрутів Тестувальник аналізує програмний код і для отримання тестових даних використовує знання про структуру компоненти Тестувальник аналізує програмний код і для отримання тестових даних використовує знання про структуру компоненти Аналіз коду (алгоритму) дозволяє: Аналіз коду (алгоритму) дозволяє: Визначити необхідну кількість тестів щоб усі оператори виконались хоча б один раз Визначити необхідну кількість тестів щоб усі оператори виконались хоча б один раз Визначити області еквівалентності Визначити області еквівалентності Визначити набір тестів для проходження кожної гілки Визначити набір тестів для проходження кожної гілки

14 Тестування гілок Це метод структурного тестування при якому виконуються усі незалежні гілки компоненти чи програми Це метод структурного тестування при якому виконуються усі незалежні гілки компоненти чи програми Якщо виконуються усі незалежні гілки, то і оператори виконуються хоча б один раз Якщо виконуються усі незалежні гілки, то і оператори виконуються хоча б один раз Усі умовні оператори тестуються із істинними та неістинними умовами Усі умовні оператори тестуються із істинними та неістинними умовами Тестування гілок не забезпечує тестування комбінації цих гілок Тестування гілок не забезпечує тестування комбінації цих гілок Метод базується на графі потоків управління програми Метод базується на графі потоків управління програми Граф потоків управління складається із: Граф потоків управління складається із: вузлів, що відповідають розгалуженням розв'язків вузлів, що відповідають розгалуженням розв'язків дуг, які відображають потік управління дуг, які відображають потік управління Відсутність операторів безумовного переходу суттєво спрощує побудову графу Відсутність операторів безумовного переходу суттєво спрощує побудову графу

15 Правила побудови графа для тестування гілок Послідовні оператори: присвоєння, введення- виведення, виклику процедур ігноруються Послідовні оператори: присвоєння, введення- виведення, виклику процедур ігноруються Кожне розгалуження операторів умовного переходу case чи if-then-else задається окремою гілкою Кожне розгалуження операторів умовного переходу case чи if-then-else задається окремою гілкою Цикли задаються стрілками, кінці яких замкнуті на вузлі із умовою циклу Цикли задаються стрілками, кінці яких замкнуті на вузлі із умовою циклу Метою структурного тестування – перевірка, що гілка переходить хоча б по одній новій дузі графа потоків, тобто виконується при задані нових умов Метою структурного тестування – перевірка, що гілка переходить хоча б по одній новій дузі графа потоків, тобто виконується при задані нових умов Кількість незалежних віток визначається цикломатичним числом: кількість дуг - кількість вузлів +2 Кількість незалежних віток визначається цикломатичним числом: кількість дуг - кількість вузлів +2 Мінімальна кількість тестів, необхідних для перевірки усіх гілок програми дорівнює цикломатичному числу Мінімальна кількість тестів, необхідних для перевірки усіх гілок програми дорівнює цикломатичному числу Структурний метод перевірки програми у спосіб тестування гілок непридатний, коли у програмі велика кількість циклів, відповідно велика кількість комбінацій гілок Структурний метод перевірки програми у спосіб тестування гілок непридатний, коли у програмі велика кількість циклів, відповідно велика кількість комбінацій гілок

16 Етапи процесів тестування Тестування дефектів та помилок Тестування інтегрованості Особливості тестування об'єктно - орієнтованих систем Етапи процесів тестування Етапи процесів тестування Тестування дефектів та помилок Тестування дефектів та помилок Тестування інтегрованості Тестування інтегрованості Особливості тестування об'єктно - орієнтованих систем Особливості тестування об'єктно - орієнтованих систем

17 Особливості тестування результатів складання Процес інтегрування включає складання системи із компонент та її тестування Процес інтегрування включає складання системи із компонент та її тестування Метою тестування є усунення помилок при взаємодії компонент Метою тестування є усунення помилок при взаємодії компонент Основна проблема локалізації виявлених помилок та їх джерел внаслідок складної взаємодії компонент Основна проблема локалізації виявлених помилок та їх джерел внаслідок складної взаємодії компонент Покроковий метод складання та тестування спрощує задачу локалізації Покроковий метод складання та тестування спрощує задачу локалізації Складається і тестується мінімальна конфігурація системи Складається і тестується мінімальна конфігурація системи Мінімальна конфігурація доповнюється і тестується Мінімальна конфігурація доповнюється і тестується Покроковий метод неефективний у випадку сильної зв'язаності компонент та наявних властивостей емерджентності та синергізму Покроковий метод неефективний у випадку сильної зв'язаності компонент та наявних властивостей емерджентності та синергізму Методи тестування інтегрованості Методи тестування інтегрованості Низхідне та висхідне тестування Низхідне та висхідне тестування Тестування інтерфейсів Тестування інтерфейсів Тестування із навантаженням Тестування із навантаженням

18 Низхідне та висхідне тестування Низхідна інтеграція – компоненти високого рівня складаються та тестуються до завершення їх проектування та реалізації Низхідна інтеграція – компоненти високого рівня складаються та тестуються до завершення їх проектування та реалізації Висхідна інтеграція – перед розробкою компонент високого рівня інтегруються і тестуються компоненти нижнього рівня Висхідна інтеграція – перед розробкою компонент високого рівня інтегруються і тестуються компоненти нижнього рівня Низхідне тестування дозволяє виявити помилки в архітектурі - структурні помилки на початкових етапах процесу розробки Низхідне тестування дозволяє виявити помилки в архітектурі - структурні помилки на початкових етапах процесу розробки Низхідне тестування складно реалізувати, оскільки необхідно моделювати заглушки нижніх рівнів Низхідне тестування складно реалізувати, оскільки необхідно моделювати заглушки нижніх рівнів Заглушка - компонент із однаковим інтерфейсом реального компонента, але обмеженими функціональними можливостями Заглушка - компонент із однаковим інтерфейсом реального компонента, але обмеженими функціональними можливостями Висхідне тестування вимагає використання компонент нижніх рівнів розробити тестові драйвери Висхідне тестування вимагає використання компонент нижніх рівнів розробити тестові драйвери Тестові драйвери – емулятори оточення компонента в процесі тестування Тестові драйвери – емулятори оточення компонента в процесі тестування Найчастіше використовуються комбінації висхідного та низхідного тестування, яке вимагає створення заглушок та тестових драйверів Найчастіше використовуються комбінації висхідного та низхідного тестування, яке вимагає створення заглушок та тестових драйверів

19 Ілюстрація низхідного тестування Низхідне тестування результатів складання Низхідне тестування результатів складання Рівень1 Заглушки рівня 2 Послідовність тестування Рівень 1 Рівень2 Заглушки рівня 3

20 Ілюстрація висхідного тестування Висхідне тестування результатів складання Висхідне тестування результатів складання Рівень K-1 Послідовність тестування Рівень k-1 Рівень k Тестові драйвери

21 Тестування інтерфейсів Тестування інтерфейсів виконується у випадку інтеграції модулів та підсистем у систему Тестування інтерфейсів виконується у випадку інтеграції модулів та підсистем у систему Кожен модуль має інтерфейс, який викликається іншими компонентами системи Кожен модуль має інтерфейс, який викликається іншими компонентами системи Тестування інтерфейсів є складним, оскільки: Тестування інтерфейсів є складним, оскільки: Деякі помилки проявляються тільки у певних умовах Деякі помилки проявляються тільки у певних умовах Проблема взаємодії помилок у різних модулях та об'єктах Проблема взаємодії помилок у різних модулях та об'єктах Основні типи інтерфейсів Основні типи інтерфейсів Параметричні – посилання на дані та функції передаються у вигляді параметрів від одної компоненти на іншу Параметричні – посилання на дані та функції передаються у вигляді параметрів від одної компоненти на іншу Інтерфейси спільної пам'яті – Інтерфейси, в яких певний блок пам'яті використовується спільно різними підсистемами Інтерфейси спільної пам'яті – Інтерфейси, в яких певний блок пам'яті використовується спільно різними підсистемами Процедурні – Інтерфейси, в яких одна підсистема інкапсулює набір процедур, що викликаються із інших процедур (об'єкти та абстрактні типи даних) Процедурні – Інтерфейси, в яких одна підсистема інкапсулює набір процедур, що викликаються із інших процедур (об'єкти та абстрактні типи даних) Передачі повідомлень – інтерфейси, в яких одна підсистема запитує сервіс в іншої через передачу її повідомлення. Відгук системи вміщає результати виконання сервісу (клієнт/сервер) Передачі повідомлень – інтерфейси, в яких одна підсистема запитує сервіс в іншої через передачу її повідомлення. Відгук системи вміщає результати виконання сервісу (клієнт/сервер)

22 Помилки в інтерфейсах Неправильне використання інтерфейсів Неправильне використання інтерфейсів Помилка виникає при виклику однією компонентою їншою Помилка виникає при виклику однією компонентою їншою Параметричні інтерфейси: параметри із невірним типом, послідовність параметрів неспівпадає. Параметричні інтерфейси: параметри із невірним типом, послідовність параметрів неспівпадає. Неправильне розуміння інтерфейсів Неправильне розуміння інтерфейсів У компоненті яка викликає іншу компоненту закладена невірна специфікація інтерфейсу даної компоненти, що призводить до непередбаченої поведінки цієї компоненти У компоненті яка викликає іншу компоненту закладена невірна специфікація інтерфейсу даної компоненти, що призводить до непередбаченої поведінки цієї компоненти Модуль для бінарного пошуку викликається для пошуку елемента в неупорядкованому масиві Модуль для бінарного пошуку викликається для пошуку елемента в неупорядкованому масиві Помилки синхронізації Помилки синхронізації В системах реального часу В системах реального часу Підсистема генератор та підсистема споживач даних працюють із різною швидкодією Підсистема генератор та підсистема споживач даних працюють із різною швидкодією

23 Загальні правила тестування інтерфейсів Переглянути код, який буде тестуватися і скласти список усіх викликів до зовнішніх компонент Переглянути код, який буде тестуватися і скласти список усіх викликів до зовнішніх компонент Тестові набори даних, мають бути такими, щоб передані параметри набували межових значень, що дозволить виявити невідповідності в інтерфейсах Тестові набори даних, мають бути такими, щоб передані параметри набували межових значень, що дозволить виявити невідповідності в інтерфейсах Якщо між інтерфейсами передаються покажчики, інтерфейс тестується із нульовим значенням цих покажчиків Якщо між інтерфейсами передаються покажчики, інтерфейс тестується із нульовим значенням цих покажчиків У випадку виклику компоненти через процедурний інтерфейс необхідно використати тести, що викликають збій компоненти, повязаний із неправильним розумінням специфікації компонент У випадку виклику компоненти через процедурний інтерфейс необхідно використати тести, що викликають збій компоненти, повязаний із неправильним розумінням специфікації компонент В системах передачі повідомлень збільшуйте кількість повідомлень більше ніж робоча кількість, щоб виявити проблеми синхронізації В системах передачі повідомлень збільшуйте кількість повідомлень більше ніж робоча кількість, щоб виявити проблеми синхронізації У випадку взаємодії компонентів через спільну память, зміна порядку активації компонент дозволяє виявити помилки пов'язані із строго заданим програмістом порядком активації компонент У випадку взаємодії компонентів через спільну память, зміна порядку активації компонент дозволяє виявити помилки пов'язані із строго заданим програмістом порядком активації компонент

24 Етапи процесів тестування Етапи процесів тестування Тестування дефектів та помилок Тестування дефектів та помилок Тестування інтегрованості Тестування інтегрованості Особливості тестування об'єктно - орієнтованих систем Особливості тестування об'єктно - орієнтованих систем Рівні тестування об'єктно-орієнтованих систем Рівні тестування об'єктно-орієнтованих систем Тестування окремих класів об'єктів Тестування окремих класів об'єктів Тестування інтеграції об'єктів Тестування інтеграції об'єктів

25 Рівні тестування об'єктно-орієнтованих систем Тестування окремих методів, асоційованих із об'єктами: методи чорної та білої скриньок, оскільки методи можна розглядати як функції Тестування окремих методів, асоційованих із об'єктами: методи чорної та білої скриньок, оскільки методи можна розглядати як функції Тестування окремих класів об'єктів: метод чорної скриньки із використанням класу еквівалентності Тестування окремих класів об'єктів: метод чорної скриньки із використанням класу еквівалентності Тестування кластерів об'єктів: методи сценаріїв Тестування кластерів об'єктів: методи сценаріїв Низхідне та висхідне тестування є непридатним для тестування груп об'єктів Низхідне та висхідне тестування є непридатним для тестування груп об'єктів Тестування системи: аналогічно як і для інших об'єктів Тестування системи: аналогічно як і для інших об'єктів

26 Тестування окремих класів об'єктів Особливості: Особливості: Тестування окремих методів, асоційованих із об'єктом Тестування окремих методів, асоційованих із об'єктом Перевірка усіх атрибутів, асоційованих із об'єктом Перевірка усіх атрибутів, асоційованих із об'єктом Перевірка усіх можливих станів об'єкта Перевірка усіх можливих станів об'єкта Використання унаслідковування ускладнює розробку тестів для класу об'єктів Використання унаслідковування ускладнює розробку тестів для класу об'єктів Клас надає методи унаслідновувані від підкласів, то необхідно протестувати усі підкласи із унаслідкованими методами Клас надає методи унаслідновувані від підкласів, то необхідно протестувати усі підкласи із унаслідкованими методами Класи еквівалентності: тестові дані із одного класу еквівалентності тестують одні і ті ж властивості об'єктів Класи еквівалентності: тестові дані із одного класу еквівалентності тестують одні і ті ж властивості об'єктів

27 Тестування інтеграції об'єктів Групи класів, які надають набір сервізів тестуються разом, як кластер Групи класів, які надають набір сервізів тестуються разом, як кластер Створення кластерів базується на виділенні методів та сервізів, які реалізуються кластером Створення кластерів базується на виділенні методів та сервізів, які реалізуються кластером Використовують три підходи тестування кластерів: Використовують три підходи тестування кластерів: Тестування сценаріїв – режимів роботи та варіантів їх використання Тестування сценаріїв – режимів роботи та варіантів їх використання Тестування потоків Тестування потоків Перевірка відгуків на введення даних чи групи вхідних подій Перевірка відгуків на введення даних чи групи вхідних подій Тестування взаємодій між об'єктами Тестування взаємодій між об'єктами Проміжний рівень тестування системи, що базується на визначенні шляхів метод – повідомлення, що відслідковують послідовність взаємодій між об'єктами Проміжний рівень тестування системи, що базується на визначенні шляхів метод – повідомлення, що відслідковують послідовність взаємодій між об'єктами

28 Підсумки Тестування системи передбачає у першу чергу тестування її частин, які використовуються у найбільшій мірі Тестування системи передбачає у першу чергу тестування її частин, які використовуються у найбільшій мірі Області еквівалентності вхідних даних представляють сценарії тестування, оскільки тестові дані на межах областей еквівалентності забезпечують результативне тестування Області еквівалентності вхідних даних представляють сценарії тестування, оскільки тестові дані на межах областей еквівалентності забезпечують результативне тестування Тестування методом чорної скриньки не вимагає аналізу коду Тестування методом чорної скриньки не вимагає аналізу коду Тестування результату складання системи вимагає дослідження взаємодії між компонентами та інтерфейсами компонент Тестування результату складання системи вимагає дослідження взаємодії між компонентами та інтерфейсами компонент Помилки інтерпретації специфікацій вимог призводять до дефектів інтерфейсів Помилки інтерпретації специфікацій вимог призводять до дефектів інтерфейсів Тестування об'єктів слід проводити у такий спосіб, щоб перевірити усі методи асоційовані з класами, визначити і оцінити усі властивості об'єктів та протестувати об'єкт у всіх можливих станах. Тестування об'єктів слід проводити у такий спосіб, щоб перевірити усі методи асоційовані з класами, визначити і оцінити усі властивості об'єктів та протестувати об'єкт у всіх можливих станах.