- •Галузева система управління якістю методи оцінки показників якості програмного забезпечення програмно-технічних комплексів критичного призначення Отраслевая система управления качеством
- •1 Сфера застосування
- •2 Нормативні посилання
- •3 Терміни та визначення понять
- •3.2 Безпека програмного забезпечення
- •3.8 Життєвий цикл системи
- •3.9 Інструментальний засіб (case-інструмент)
- •3.10 Категорія критичності програмного забезпечення
- •3.15 Оцінювання якості програмного забезпечення
- •3.16 Показники (характеристики) якості програмного забезпечення
- •3.19 Програмно-технічний комплекс
- •4 Познаки та скорочення
- •3.13 Надійність програмного забезпечення
- •5 Методи оцінювання показників якості програмного забезпечення критичного призначення
- •5.1 Методи оцінювання показників якості програмного забезпечення
- •5.2 Інспекції процесів розроблення програмного забезпечення
- •5.3 Методи тестування програмного забезпечення
- •5.3.1 Загальні положення щодо тестування програмного забезпечення
- •5.3.2 Методи функціонального тестування програмного забезпечення
- •5.3.2.1 Загальні положення щодо функціонального тестування програмного забезпечення
- •5.3.2.2 Тестування транзакцій
- •5.3.2.3 Тестування областей вхідних даних
- •5.3.2.4 Тестування синтаксису
- •5.3.2.5 Тестування логічних умов
- •5.3.2.6 Тестування станів
- •5.3.3 Метод структурного тестування програмного забезпечення
- •5.3.3.1 Загальні положення щодо структурного тестування програмного забезпечення
- •5.3.3.2 Тестування маршрутів
- •5.3.3.3 Тестування циклів
- •5.3.3.4 Тестування обробки даних
- •5.4 Методи статичного аналізу програмного забезпечення
- •5.4.1 Загальні положення щодо статичного аналізу програмного забезпечення
- •5.4.2 Аналіз потоку управління
- •5.4.3 Аналіз потоку даних
- •5.4.4 Метрична оцінка програмного забезпечення
- •5.5 Метод імовірнісної оцінки надійності програмного забезпечення
- •5.5.1 Загальні положення щодо імовірнісної оцінки надійності програмного забезпечення
- •5.5.2 Оброблення статистичних даних про відмови програмного забезпечення
- •5.5.3 Визначення параметрів моделей надійності
- •5.5.3.3 Мнпз, їхні допущення та аналітичні співвідношення
- •5.5.3.4 Модель Джелінського–Моранді
- •5.5.3.5 Модель Гела–Окумото
- •5.5.3.6 Модель базова s-подібна
- •5.5.3.7 Модель Шика–Уолвертона
- •5.5.3.8 Перша геометрична модель Моранди
- •5.5.3.9 Модель Муси–Окумото
- •5.5.3.10 Метод максимуму правдоподібності
- •5.5.3.11 Метод найменших квадратів
- •5.5.3.12 Приклади застосування моделей надійності програмного забезпечення
- •5.5.3.12.2 Оцінка показників надійності за допомогою мнпз, описаних у 5.5.3.4-5.5.3.9.
- •5.5.3.12.3 Модель Джелінського-Моранді
- •5.5.3.12.4 Модель Гела-Окумото
- •5.5.3.12.5 Базова s-подібна модель
- •5.5.3.12.6 Модель Шика-Уолвертона
- •5.5.3.12.7 Перша геометрична модель Моранді
- •5.5.3.12.8 Модель Муси-Окумото
- •5.5.4 Вибір моделі надійності програмного забезпечення
- •5.5.4.3 Критерій Колмогорова-Смирнова
- •5.5.4.4 Критерій 2
- •5.5.4.5 Критерій мінімального сумарного квадратичного відхилення:
- •5.5.5 Прогнозування показників надійності програмного забезпечення
- •5.6 Аналіз видів, наслідків і критичності відмов програмного забезпечення (sfmeca)
- •5.6.1 Загальні положення щодо аналізу видів, наслідків і критичності відмов
- •5.6.2 Основні принципи виконання sfmeca
- •5.6.2.1 Базування sfmeca
- •5.6.2.2 Визначення функціональної структури програмного забезпечення
- •5.6.2.3 Одержання вихідної інформації
- •5.6.2.4 Подання структури програмного забезпечення
- •5.6.2.5 Ідентифікація видів відмов
- •5.6.2.6 Аналіз відмов із загальної причини
- •5.6.2.7 Аналіз критичності
- •5.6.2.8 Зв'язок між sfmeca та іншими методами
- •5.6.3 Процедура виконання sfmeca
- •5.6.3.1 Процедура виконання sfmeca
- •5.6.3.2 Визначення вимог до програмного забезпечення
- •5.6.3.3 Розроблення діаграм, схем та інших математичних моделей і описів
- •5.6.3.4 Вибір рівнів програмного забезпечення і документації
- •5.6.3.5 Ідентифікація видів, причин і впливу відмов
- •5.6.3.6 Ідентифікація методів виявлення відмов та їх ізолювання
- •5.6.3.7 Опис значення відмов та альтернативних запобіжних заходів
- •5.6.3.8 Оцінка критичності та імовірності відмов
- •5.6.3.9 Розроблення рекомендацій і звіту за результатами sfmeca
- •5.7 Аналіз дерева відмов програмного забезпечення (sfta)
- •5.7.1 Загальні положення щодо аналізу дерева відмов програмного забезпечення
- •5.7.2 Процедура виконання sfta
- •5.7.2.1 Процедура виконання sfta
- •5.7.2.2 Визначення області аналізу
- •5.7.2.3 Ознайомлення з проектом, функціями і роботою програмного забезпечення
- •5.7.2.4 Визначення кінцевої події
- •5.7.2.5 Побудова дерева відмов
- •5.7.2.6 Логічний і чисельний аналіз дерева відмов
- •5.7.2.7 Розроблення звіту про результати аналізу
- •5.7.3 Умовні позначки для дерева відмов
- •5.8 Керівництво з адаптації нормативного документа
- •Додаток а
- •Бібліографія
5.3 Методи тестування програмного забезпечення
5.3.1 Загальні положення щодо тестування програмного забезпечення
5.3.1.1 Тестування ПЗ повинно включати функціональне і структурне тестування. Функціональне тестування (Functional Testing), яке також називають тестуванням за принципом «чорної скриньки» (“Black Box” Testing), полягає у перевірці функцій, які виконуються елементами ПЗ, на відповідність вимогам, проекту ПЗ та документації користувача. Структурне тестування (Structural Testing), яке також називають тестуванням за принципом «білої скриньки» або «скляної скриньки» (“White Box” Testing або “Glass Box” Testing), полягає у перевірці внутрішньої структури елементів ПЗ.
5.3.1.2 Виконання функціонального і структурного тестування ПЗ може бути здійснене незалежно одне від одного. Основним видом тестування є функціональне. Функціональне тестування застосовують для ПЗ у цілому, а також для програмних об'єктів будь-якого рівня (процедури, модуля, підсистеми, системи). Структурне тестування доповнює функціональне. Цій вид тестування можливий для рівня не вище рівня програмного модуля.
5.3.1.3 Під час реалізації функціонального і структурного тестування ПЗ повинні бути виконані наступні дії:
а) планування тестування:
1) розроблення плану тестування;
б) розроблення вимог до тестів:
1) визначення складових якості ПЗ, які оцінюються за результатами тестування;
2) визначення складових ПЗ, які тестувались;
3) оцінка необхідних для тестування ресурсів (бюджет, час, персонал);
в) проектування тестів:
1) проектування специфікації тестів;
г) проектування тестових процедур;
1) проектування детальних тестів;
2) проектування інструментального середовища тестування;
3) розроблення тестів;
4) розроблення детальних тестів;
5) розроблення тестових даних;
6) розроблення інструментального середовища тестування;
д) виконання тестування та оцінка його результатів:
1) виконання тестових прикладів;
2) аналіз результатів тестування;
3) розроблення звіту про тестування.
Загальну структуру інструментального середовища тестування ПЗ представлено на рисунку 5.1. Складові частини представленого інструментального середовища можуть бути цілком або частково автоматизовані.
Рисунок 5.1—Структурна схема інструментального середовища тестування ПЗ
5.3.2 Методи функціонального тестування програмного забезпечення
5.3.2.1 Загальні положення щодо функціонального тестування програмного забезпечення
Функціональне тестування ПЗ повинно бути реалізовано у формі наступних методів (див. таблицю 5.2):
тестування транзакцій (переходів);
тестування областей вхідних даних;
тестування синтаксису;
тестування логічних умов;
тестування станів.
Таблиця 5.2—Види функціонального тестування
Види тестування |
Цілі тестування |
Об'єкти тестування |
Тестування транзакцій |
Верифікація реалізації прикладних функцій |
Транзакції (переходи) між режимами роботи системи |
Тестування областей вхідних даних |
Верифікація реалізації функціональних обчислень і умов для областей вхідних даних |
Області значень вхідних даних, включаючи граничні та заборонені значення |
Тестування синтаксису |
Верифікація користувальницького інтерфейсу та повідомлень |
Елементи користувальницького інтерфейсу |
Тестування логічних умов |
Верифікація реалізації логічних умов ПЗ |
Комбінації логічних умов реального світу |
Тестування станів |
Верифікація реалізації станів ПЗ |
Стани та переходи між ними |
