- •Вп нуБіП україни
- •Тема 1. Життєвий цикл програмних продуктів та архітектура, теорія і методи програмування. 7
- •Тема 7. Corba - технологія . 70
- •Тема 12. Тестування та налагодження програмних застосувань. 120
- •Поняття життєвого циклу програмного продукту.
- •Основні процеси життєвого циклу програмного продукту.
- •1.3. Допоміжні основні процеси (що підтримують) процеси життєвого циклу програмного продукту
- •1.4. Організаційні процеси життєвого циклу програмного продукту
- •1.5. Взаємозв'язок між процесами життєвого циклу програмного продукту
- •Лекція № 2
- •2.2. Визначення вимог до програмних продуктів.
- •2.3. Функціональні вимоги. Експлуатаційні вимоги.
- •2.3. Функціональна специфікація програмного засобу.
- •2.4. Вибір архітектури програмного забезпечення. Структура і формат даних.
- •2.5. Вертифікація -статичні, напівстатичні і динамічні структури. Класифікація структур даних.
- •2.6. Прості структури даних.
- •2.7. Статичні структури даних. Напівстатичні структури даних.
- •2.8. Динамічні структури даних
- •Лекція № 3
- •3.1. Загальна характеристика і компоненти проектування.
- •3.2. Еволюція розробки програмного продукту.
- •3.3. Структурне програмування. Об'єктно-орієнтоване проектування.
- •3.4. Збирані метрики, використовувані методи, стандарти і шаблони.
- •Лекція № 4
- •Зародження об' єктної моделі.
- •4.2. Об' єктно - орієнтований аналіз, дизайн і проектування.
- •4.3. Парадигми програмування.
- •4.4. Нові концепції програмування.
- •4.5. Об'єктно-орієнтоване програмування.
- •4.6. Уніфікована мова моделювання. Мови і платформи розробки.
- •4.7. Засоби розробки програмного забезпечення. Оптимальний порядок вивчення топ.
- •4.8. Об'єктно-орієнтований підхід. Характеристики об'єктно-орієнтованих мов
- •Лекція № 5
- •5.1. Особливості моделі клієнт сервер в sql Server.
- •5.2. Архітектура sql Server. Огляд компонентів і можливостей sql Server 7.0
- •5.3. Transact - sql. Додатки командного рядка. Додатки з графічним інтерфейсом
- •5.4. Архітектура баз даних. Реляційні особливості sql Server
- •Лекція № 6
- •План лекції
- •Самостійна робота
- •Зміст лекції
- •6.1. Вступ до компонентного програмування.
- •6.2. Основні поняття com технологій.
- •6.3. Інтерфейс com - об' єктів.
- •6.4. Ідентифікатори, використовувані в сом технології
- •Лекція № 7
- •7.1. Технологія corba.
- •7.2. Середовище Delphi. (смирнов 67)
- •7.3. Corba технології при програмуванні в середовищі Delphi.
- •7.4. Елементи ActiveX, що управляють.
- •Лекція № 8
- •8.1. Деякі теоретичні відомості про uml - уніфіковану мову моделювання.
- •8.2. Призначення мови uml.
- •8.3. Загальна структура мови uml.
- •8.4. Загальні відомості про пакети в мові uml. Основні пакети метамоделі мови uml.
- •8.5. Специфіка опису метамоделі мови uml.
- •8.6. Особливості зображення діаграм мови uml
- •Лекція № 9
- •9.1. Саsе - технології та саsе -засоби проектування.
- •9.2.Класифікація case -засобів.
- •9.3.Етапи створення інформаційних систем.
- •9.4.Моделі життєвого циклу програмного забезпечення іс
- •9.5.Особливості проектування інформаційних систем
- •Лекція № 10
- •10.1.Основні поняття про надійність програмних продуктів і методи її забезпечення.
- •10.2. Методи забезпечення надійності на різних етапах життєвого циклу розробки програмного продукту.
- •10.3. Інструменти, що забезпечують надійність програмних продуктів. План забезпечення надійності.
- •10.4. Основні поняття і показники надійності програмних засобів.
- •10.5. Дестабілізуючі чинники і методи забезпечення надійності функціонування програмних засобів.
- •Лекція № 11
- •11.1. Нормативні документи по стандартизації і відіа стандартів.
- •11.2. Стандарти в області програмного забезпечення.
- •11.3. Загальна характеристика стану в області документування програмних засобів.
- •11.4. Єдина система програмної документації гост 19.101-77 еспд.
- •11.5. Види програм і програмних документів.
- •11.6.Стадії розробки. Загальні вимоги до програмних документів. Технічне завдання.
- •11.7.Опис програми. Записка пояснення.
- •11.8.Керівництво системного програміста. Вимоги до змісту і оформлення.
- •11.9.Керівництво програміста. Керівництво оператора. Опис мови.
- •Лекція № 12
- •12.1. Основні визначення. Економіка тестування.
- •12.2. Тестування програми як "чорного ящика". Тестування програми як "білого ящика".
- •12.3. Аксіоми (принципи) тестування.
- •12.4. Філософія тестування.
- •12.5. Тестування модулів.
- •12.6.Покрокове тестування. Висхідне тестування. Низхідне тестування.
- •12.7.Метод "великого стрибка". Метод сандвіча. Модифікований метод сандвіча.
- •12.8.Комплексне тестування. Проектування комплексного тіста. Виконання комплексного тіста.
- •Лекція № 13
- •13.2. Серия стандартов isо 9000
- •13.4. Процес сертифікації програм на базі інформації про їх використання.
- •13.5. Супровід програм.
- •13.6.Види програмних документів. Записка пояснення.
- •13.7.Посібник користувача.
- •13.8.Керівництво системного програміста.
- •13.9. Атестація програмних засобів.
12.2. Тестування програми як "чорного ящика". Тестування програми як "білого ящика".
Тестування програми як "чорного ящика"
Одним із способів вивчення поставленого питання є дослідження стратегії тестування, званою стратегією "чорного ящика", тестуванням з управлінням за даними або тестуванням з управлінням по входу-виходу. При використанні цієї стратегії програма розглядається як "чорний ящик". Іншими словами, таке тестування має на меті з'ясування обставин, в яких поведінка програми не відповідає специфікації. Тестові ж дані використовуються тільки відповідно до специфікації програми (т. е. без урахування знань про її внутрішню структуру).
При такому підході виявлення усіх помилок в програмі є критерієм вичерпного вхідного тестування. Останнє може бути досягнуте, якщо як тестові набори використовувати усі можливі набори вхідних даних.
Якщо таке випробування представляється складним, то ще складніше створити вичерпний тест для великої програми. Образно кажучи, число тестів можна оцінити "числом більшим, ніж нескінченність".
Побудова вичерпного вхідного тіста неможлива. Це підтверджується двома аргументами: по-перше, не можна створити тест, що гарантує відсутність помилок; по-друге, розробка таких тестів суперечить економічним вимогам. Оскільки вичерпне тестування виключається, нашою метою повинна статі максимізація результативності капіталовкладень в тестування (іншими словами, максимізація числа помилок, що виявляються одним тестом). Для цього мі можемо розглядати внутрішню структуру програми і робити деякі розумні, але, звичайно, що не мають повної гарантії достовірності припущення.
Тестування програми як "білого ящика"
Стратегія "білого ящика", або стратегія тестування, керованого логікою програми, дозволяє досліджувати внутрішню структуру програми. Тій, що в цьому випадку тестує отримує тестові дані шляхом аналізу логіки програми (на шкода, тут часто не використовується специфікація програми).
Порівнянний спосіб побудови тестів при цій стратегії з вичерпним вхідним тестуванням стратегії "чорного ящика". Необізнаному може здатися, що досить побудувати такий набір тестів, в якому кожен оператор виконується хоч би один раз; неважко показати, що це невірно. Не вдаючись до деталей, вкажемо лише, що вичерпному вхідному тестуванню може бути поставлене у відповідність вичерпне тестування маршрутів. Мається на увазі, що програма перевірена повністю, якщо за допомогою тестів вдається здійснити виконання програми по усіх можливих маршрутах її потоку (графа) передач управління.
Останнє твердження має два слабкі пункти. Перший з них полягає в тому, що число маршрутів, що не повторюють один одного, в програмі - астрономічне. Другий слабкий пункт твердження полягає в тому, що, хоча вичерпне тестування маршрутів є повним тестом і хоча кожен маршрут програми може бути перевірений, сама програма міститиме помилки. Це пояснюється таким чином.
По-другу, програма може бути невірною внаслідок того, що пропущені деякі маршрути. Вичерпне тестування маршрутів не виявить їх відсутності.
По-перше, вичерпне тестування маршрутів не може дати гарантії того, що програма відповідає опису. Наприклад, замість необхідної програми сортування за збільшенням випадково була написана програма сортування по убуванню. У цьому випадку цінність тестування маршрутів невелика, оскільки після тестування в програмі опиниться одна помилка, т. е. програма невірна.
По- третє, вичерпне тестування маршрутів не може виявити помилок, поява яких залежить від оброблюваних даних.
