- •Поняття пз
- •Поняття трпз
- •К ласифікація методів проектування пп
- •Класичний життєвий цикл
- •Макетування
- •Стратегії конструювання пз
- •Інкрементна модель конструювання пз
- •Кодування.
- •Тестування.
- •Модель швидкої розробки додатків rad
- •Спіральна модель конструювання пз
- •Компонентно-орієнтована модель конструювання пз
- •Важковагові та полегшені процеси
- •Xp процес
- •4 Базові дії:
- •Кодування.
- •Тестування.
- •Робота з замовником.
- •Проектування.
- •Моделі якості процесів конструювання пз
- •Процес керування проектом
- •Планування проектних задач
- •Розмірно-орієнтовані метрики (ром)
- •Функціонально-орієнтовані метрики (фом)
- •Коефіцієнти Fi
- •Виконання оцінки проекту на основі loc та фп метрик
- •Конструктивна модель вартості
- •Модель композиції додатку
- •Модель раннього етапу проектування
- •Модель етапу послідовної архітектури
- •Класичні методи аналізу
- •1. Послідовна
- •3. Ітерація
- •Надійні динамічні системи
- •Основи проектування програмних систем
- •Супровід.
- •Проектування
- •Кодування
- •Тестування
- •Декомпозиція підсистем на модулі
- •Модульність
- •Інформаційна закритість
- •Зв'язність модуля
- •Визначення зв'язності модуля
- •Зчеплення модулів
- •Класичні методи проектування
- •1. Метод структурного проектування
- •2. Проектування для потоку даних типу «запит»
- •Основні поняття та принципи тестування
- •Структурне тестування
- •1. Спосіб тестування базового шляху.
- •2. Спосіб тестування умов
- •3. Тестування циклів
- •Функціональне тестування
- •1. Спосіб розбиття по еквівалентності
- •2. Спосіб аналізу граничних значень
- •3. Спосіб діаграм причин-наслідків
- •3Ауважння:
- •Організація процесу тестування пз
- •1. Методика тестування програмних систем
- •2. Тестування елементів
- •3. Тестування інтеграції
- •Спадне тестування інтеграції
- •Зростаюче тecтування інтеграції
- •Порiвияиня спадного I зростаючого тестування інтеграції
- •4. Тестування правильності
- •5. Системне тестування
- •Основні принципи об’єктно-орієнтованої методології розробки програмної системи (оом пс)
- •Об’єкти та класи
- •ОоАналіз
- •1999Р. Березень-липень uml 1.3
- •Діаграма варіантів використання (use case diagram)
- •Діаграма класів (Class diagram)
- •Послідовна
- •Паралельна
- •2. Асоціації:
- •Діаграма станів (Statechart diagram)
- •Діаграма діяльності (Activity diagram)
- •Діаграма послідовності (Sequence diagram)
- •Діаграма кооперації (Collaboration diagram)
- •Діаграма компонентів (Component diagram)
- •Діаграма розгортування (Deployment diagram)
- •Особливості реалізації мови uml у середовищі Rational Rose
- •Головне меню
- •Вікно діаграми
- •Стандартна пі
- •Уніфікований процес компанії Rational Rose
- •3 Неправильних підходи до розробки пз
- •Водоспадний процес
- •Спрощений процес системного проектування
- •Автоматичний підхід та швидке макетування
2. Спосіб тестування умов
Є декілька методик:
Тестування гілок та операторів відношень.
Тестування області визначення.
Послідовність кроків способу тестування гілок та операторів відношень:
Будується обмеження умов;
Виявляються обмеження результату по кожній простій умові;
Будується обмежуюча множина;
Для кожного елементу обмеженої множини розробляється тестовий варіант.
3. Тестування циклів
Розрізняють 4 типи циклів:
Прості цикли. Для перевірки простих циклів з кількістю повторень n може використовуватися один з наступних наборів тестів: прогін всього циклу; тільки один прогін циклу; два прогони циклу; m прогонів циклу, де m<n; n-1, n, n+1 прогонів циклу.
Вкладені цикли. Із збільшенням рівня вкладеності циклів кількість можливих шляхів різко зростає. Це приводить до кількості тестів, що не реалізовується.
Об'єднані цикли. Якщо кожний з циклів незалежний від інших, то використовується техніка тестування простих циклів. За наявності залежності використовується методика для вкладених циклів.
Неструктуровані цикли. Тестуванню не підлягають. Цей тип циклів повинен бути перероблений за допомогою структурованих програмних конструкцій.
Кроки тестування.
1. Вибирається внутрішній цикл. Встановлюються мінімальні значення параметрів решти всіх циклів.
2. Для внутрішнього циклу проводяться тести простого циклу. Додаються тести для виключених значень і значень, що виходять за межі робочого діапазону.
3. Переходять в наступний по порядку охоплюючий цикл. Виконують його тестування. При цьому зберігаються мінімальні значення параметрів для всіх зовнішніх (охоплюючих) циклів і типові значення для всіх вкладених циклів.
4. Робота продовжується до тих пір, поки не будуть протестовані всі цикли.
Функціональне тестування
Тестування «чорного ящика» забезпечує пошук наступних категорій помилок:
1. Некоректних або отсутствующих функцій;
2. Помилок інтерфейсу;
3. Помилок в зовнішніх структурах даних або в доступі до зовнішньої бази даних;
4. Помилок характеристик (необхідна місткість пам'яті і т. д.);
5. Помилок ініціалізації і завершення.
Техніка «чорного ящика» орієнтована на рішення наступних задач:
Скорочення необхідної кількості тестових варіантів (із-за перевірки не статичних, а динамічних аспектів системи);
Виявлення класів помилок, а не окремих помилок.
1. Спосіб розбиття по еквівалентності
Вхідна область даних програми ділиться на класи еквівалентності. Для кожного класу еквівалентності розробляється один тестовий варіант.
Клас еквівалентності — набір даних із однаковими властивостями. Клас еквівалентності включає множину значень, які допустимі і недопустимі за умовами введення. Умови можуть задавати – конкретне значення, діапазон значень, множину конкретних величин, логічну умову.
Правила формування класів:
1. Якщо умову введення задає діапазон n...m, то визначаються один допустимий і два неприпустимі класи еквівалентності:
V_Class={n...m} — допустимий клас еквівалентності;
Inv_С1аss1={x|для будь-якого х:х<n} — I неприпустимий клас еквівалентності;
Inv_С1аss2={y|для будь-якого у:у>m} — II неприпустимий клас еквівалентності.
2. Якщо умову введення задає конкретне значення а, то визначається один допустимий і два неприпустимі класи еквівалентності:
V_Class={a};
Inv_Class1 ={х|для будь-якого х:х<а};
Inv_С1аss2={y|для будь-якого у:у>а}.
3. Якщо умову введення задає безліч значень {а, b, c}, то визначаються один допустимий і один неприпустимий клас еквівалентності:
V_Class={а, b, c};
Inv_С1аss={x|для будь-якого х: (х≠а)&(х ≠ b)&(х ≠ c)}.
4. Якщо умова введення задає булевий значення, наприклад true, то визначаються один допустимий і один неприпустимий клас еквівалентності:
V_Class={true};
Inv_Class={false}.
Після побудови класів еквівалентності розробляються тестові варіанти. Тестовий варіант вибирається так, щоб перевірити відразу найбільшу кількість властивостей
класу еквівалентності.