
- •Галузева система управління якістю методи оцінки показників якості програмного забезпечення програмно-технічних комплексів критичного призначення Отраслевая система управления качеством
- •1 Сфера застосування
- •2 Нормативні посилання
- •3 Терміни та визначення понять
- •3.2 Безпека програмного забезпечення
- •3.8 Життєвий цикл системи
- •3.9 Інструментальний засіб (case-інструмент)
- •3.10 Категорія критичності програмного забезпечення
- •3.13 Надійність програмного забезпечення
- •3.15 Оцінювання якості програмного забезпечення
- •3.16 Показники (характеристики) якості програмного забезпечення
- •3.19 Програмно-технічний комплекс
- •4 Познаки та скорочення
- •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.2.6 Тестування станів
5.3.2.6.1 Виконання тестування станів є доцільним у випадках, коли необхідно провести перевірку значної кількості таких програмних об'єктів, як комунікаційні протоколи, послідовності відмов і відновлень, конкуруючі процеси. Для розроблення тестів використовують діаграми станів (див. рисунок 5.5). Цю діаграму складено на основі прикладу, розглянутого у 5.3.2.3.8. П'ять можливих станів позначено прямокутниками, шість переходів між станами позначено стрілками. Тригери зміни станів, які відповідають вхідним даним або подіям, зазначено над верхніми стрілками, вихідні керуючі дії ПЗ зазначено над нижніми стрілками. Діаграму станів може бути також представлено в іншій нотації, наприклад, у вигляді таблиці рішень (див. таблицю 5.3).
Рисунок 5.5—Приклад діаграми станів
5.3.2.6.2 Діаграма станів повинна бути верифікована на відповідність проекту ПЗ та на коректність структури. Такий аналіз може виявити помилки проекту. У ході тестування станів помилки ПЗ можуть бути знайдені у випадку виявлення некоректної структури діаграми станів або у випадку коректної діаграми станів, яка неправильно моделює досліджувану систему. Помилки структури діаграми станів виявляють у ході аналізу моделі та включають стани, які не можуть бути досягнуті, або стани, з яких ПЗ не може вийти. Помилки моделі досліджуваної системи виявляють у ході тестування на відповідність вимогам до ПЗ та включають пропущені стани, помилки у описі ініціюючих (тригерних) подій, помилки у послідовності переходів між станами.
5.3.2.6.3 Тестове покриття повинне забезпечувати проходження усіх вершин і зв'язків діаграми. Тести повинні перевіряти послідовності вхідних подій, переходи між станами, послідовності вихідних подій.
5.3.2.6.4 Використання діаграми станів для генерації тестів є доцільним у наступних умовах:
для опису вимог до ПЗ використовують таблиці станів-переходів;
кількість можливих транзакцій у системі обмежена;
стан виходів ПЗ залежить від послідовності вхідних подій;
існує фіксований стан системи, щодо якого здійснюється регулювання;
необхідна перевірка протоколів взаємодії;
необхідна перевірка драйверів пристроїв;
необхідна перевірка використання системних ресурсів.
5.3.3 Метод структурного тестування програмного забезпечення
5.3.3.1 Загальні положення щодо структурного тестування програмного забезпечення
Структурне тестування ПЗ може бути реалізоване наступними методами (див. таблицю 5.4):
тестуванням маршрутів;
тестуванням циклів;
тестуванням оброблення даних.
Таблиця 5.4—Види структурного тестування
Види тестування |
Цілі тестування |
Об'єкти тестування |
Тестування маршрутів |
Верифікація потоку управління всередині програмних модулів, забезпечення повноти покриття програмних областей і маршрутів |
Програмні галузі та маршрути |
Тестування циклів |
Верифікація виконання циклів |
Програмні цикли та їхні граничні значення |
Тестування оброблення даних |
Верифікація використання даних |
Програмні дані |