- •Вп нуБіП україни
- •Тема 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
Тема 12. Тестування та налагодження програмних застосувань.
План лекції
1. Основні визначення. Економіка тестування.
2. Тестування програми як "чорного ящика". Тестування програми як "білого ящика".
3. Аксіоми (принципи) тестування.
4. Філософія тестування. Тестування модулів.
Самостійна робота
5.Покрокове тестування. Висхідне тестування. Низхідне тестування.
6.Метод "великого стрибка". Метод сандвіча. Модифікований метод сандвіча.
7.Комплексне тестування. Проектування комплексного тіста. Виконання комплексного тіста.
Зміст лекції
Багато організацій, що займаються створенням програмного забезпечення, до 50% засобів, виділених на розробку програм, витрачають на тестування, що складає мільярди доларів по всьому світу в цілому. Та усе ж, незважаючи на величезні капіталовкладення, знань про суть тестування явно не вистачає, і більшість програмних продуктів неприйнятна, ненадійно навіть після "Грунтовного тестування".
Тестування виявляється досить незвичайним процесом (вісь чому воно і вважається важким), оскільки це процес руйнівний. Адже мета перевіряючого (тестовика) - змусити програму збитися. Він задоволений, якщо це йому вдається; якщо ж програма на його тісті не збивається, він не задоволений.
""Тестування - процес, що підтверджує правильність програми і що демонструє, що помилок в програмі немає". Основний недолік подібного визначення полягає в тому, що воно абсолютно неправильно; фактично це майже визначення антоніма слова "тестування". Тому визначення описує нездійсненне завдання, а оскільки тестування частенько усе ж виконується з успіхом, принаймні з деяким успіхом, то таке визначення логічно некоректно. Правильне визначення тестування таке:
Тестування - процес виконання програми з наміром знайти помилки.
12.1. Основні визначення. Економіка тестування.
Хоча в тестуванні можна виділити декілька різних процесів, такі терміни, як "тестування", "відладка", "доказ", "контроль" і "випробування", часто використовуються як синоніми і, на шкода, для різних людей мають різний сенс. Нашу класифікацію різних форм тестування мі почнемо з того, що дамо ці визначення, злегка їх доповнивши і розширивши їх список.
Тестування (testing) - процес виконання програми (чи частини програми) з наміром (чи метою) знайти помилки.
Доказ (proof) - спроба знайти помилки в програмі безвідносно до зовнішнього для програми середовища. Більшість методів доказу припускають формулювання тверджень про поведінку програми і потім вивід і доказ математичних теорем про правильність програми. Докази можуть розглядатися як форма тестування, хоча сморід і не припускають прямого виконання програми. Багато дослідників вважають доказ альтернативою тестуванню - погляд багато в чому помилковий.
Контроль (verification) - спроба знайти помилки, виконуючи програму в тестовій, або модельованою, середовищу.
Випробування (validation) - спроба знайти помилки, виконуючи програму в заданому реальному середовищі.
Атестація (certification) - авторитетне підтвердження правильності програми. При тестуванні з метою атестації виконується порівняння з деяким заздалегідь визначеним стандартом.
Відладка (debugging) не є різновидом тестування. Хоча слова "відладка" і "тестування" часто використовуються як синоніми, під ними маються на увазі різні відіа діяльності. Тестування - діяльність, спрямована на виявлення помилок; відладка спрямована на встановлення точної природи відомої помилки, а потім - на виправлення цієї помилки. Ці два відіа діяльності пов'язано - результати тестування є початковими даними для відладки.
Ці визначення представляють один погляд на тестування - з боці середовища, на яку воно спирається. Інший ряд визначень, приведень нижче, охоплює другу сторону тестування : типи помилок, які передбачається виявити, і стандарти, з якими зіставляються тестовані програми.
Модуля Тестування, або автономне тестування (module testing, unit testing), - контроль окремого програмного модуля, зазвичай в ізольованому середовищі (т. е. ізольовано від усіх інших модулів). Тестування модуля іноді включає також математичний доказ.
Тестування сполучень (integration testing) - контроль сполучень між частинами системи (модулями, компонентами, підсистемами).
Тестування зовнішніх функцій (external function testing) - контроль зовнішньої поведінки системи, визначеної зовнішніми специфікаціями.
Комплексне тестування (system testing) - контроль і/або випробування системи по відношенню до початкових цілей. Комплексне тестування є процесом контролю, якщо воно виконується в модельованому середовищі, і процесом випробування, якщо виконується в середовищі реальному, життєвому.
Тестування прийнятності (acceptance testing) - перевірка відповідності програми вимогам користувача.
Тестування налаштування (installation testing) - перевірка відповідності шкірного конкретного варіанту установки системи з метою виявити будь- які помилки, що виникли в процесі налаштування системи.