- •Фактори якості програмного забезпечення.
- •Метрики якості програмного забезпечення Холстеда.
- •Интеллектуальное содержание программы (в условных единицах)
- •Регресійне тестування.
- •Визначення поняття веріфікації програмного забезпечення.
- •Метрики якості програмного забезпечення МакКейба.
- •Цикл попередження появи помилок в програмному забезпеченні.
- •Концепція тестування.
- •Зв’язок задач валідації, верифікації та тестування с життевим циклом програмного забезпечення.
- •Принципи тестування навантаженням.
- •Стадії тестування в процесі розробки програмного забезпечення.
- •Модель управління якістю програмного забезпечення - cmmi.
- •Інтеграційне тестування.
- •Основні поняття в проблемі тестування програмного забезпечення.
- •Модульне тестування.
- •Тестирование методом „білій ящик”.
- •Надійність програмного забезпечення.
- •Поняття системного тестування.
- •Модель комплексного управління якістю програмного забезпечення (на базі iso).
- •Методика аналізу помилки, що повторюється.
- •Роль керівника проекту при використанні системи відстеження помилок.
- •Характеристики „доброго” тесту.
- •Модель вимірювання характеристик якості програмного забезпечення.
- •Поняття класу еквівалентності.
- •Класифікація методів верифікації.
- •Мутаційні критерії вибору тестів.
- •Основні проблеми процесу тестування програмного забезпечення.
- •Ролі в процесі веріфікації програмного забезпечення.
- •Кількісні характеристики програмного забезпечення та його надійності.
- •Функціональні критерії вибору тестів.
- •Класифікація програмних помилок.
- •Призначення та основні компоненти звіту про помилку.
- •Стохастичні критерії вибору тестів.
- •На прикладі системи mantis дайте характеристики системі відстеження помилок.
- •Принципи тестування переходів між станами програми.
- •Ключові засади автоматизації тестування.
- •Особливості інтеграційного тестування для об’єктно-орієнтовного програмування.
- •Структурні критерії вибору тестів.
- •Документування в процесі верифікації.
- •Визначення якості программного забезпечення (iso, ieee).
Фактори якості програмного забезпечення.
ISO выделяет следующие 6 факторов качества:
Функциональность – включает в себя:
- удобство
- точность
- способность к взаимодействию
- безопасность.
2. Надежность -
- зрелость
- способность к восстановлению
- способность к восстановлению после ошибок.
3. Удобство использования –
- понятность
- способность к обучению
- привлекательность
- наличие необходимых ф-ций для реализации требуемой задачи
4. Эффективность –
- использование ресурсов
- поведение во времени
5. Сопровождаемость –
- стабильность
- способность к изменению
- возможность анализировать.
Стабильность и способность к изменению означает, что с-ма должна быть стабильной до и после изменения.
6. Переносимость –
- способность к адаптации
- инсталлируемость
- взаимозаменяемость
- сосуществование (может быть несколько программ на одном компе)
Метрики якості програмного забезпечення Холстеда.
Метрики Холстеда отражают лексический подход к измерению характеристик ПО.
Холстед выдвинул гипотезу о том, что любой алгоритм можно измерить на основе на основе следующих метрических характеристик (оценочных элементов):
n1 - количество различных операторов программы;
n2 - количество различных операндов программы;
N1 - общее количество операторов программы;
N2 - общее количество операндов программы.
На их основе Холстед ввел 10 метрик:
словарь программы (в условных единицах) n = n1+n2,
длина реализации (в условных единицах) N = N1+N2
длина программы (в условных единицах) Ñ = (n1 log2 n1)+(n2log2 n2)
объем программы (в битах) ) V = (N1+N2) log2(n1+n2).
потенциальный объем программы V* = (n2*+2) log2(n2*+2),
где n2* - общее число входных и выходных параметров.
уровень программы (в условных единицах) L = V*/ V (2n2)/(n1 N2),
уровень языка =LV*
Интеллектуальное содержание программы (в условных единицах)
I=LV(2n2/n1 N2)(N1+N2)log2(n1+n2)
работа по программированию (в условных единицах) E = V/L = V2/V*
время на программирование (в условных единицах) T = E/S, где S – число Страуда (5<S<20).
Регресійне тестування.
Регрессионное тестирование предполагает наличие библиотеки регрессионных тестов. В нее включают все доступные тесты, которые кажутся полезным. После каждого цикла тестирования, из данной библиотеки мы удаляем тестовые наборы, которые по нашему мнению не снизят качество тестирования. Рекомендации по удалению: удаляем тесты, которые эквивалентны другим тестам, удаляем тесты, объектом которых – уже исправленные ошибки, комбинируем тесты.
Визначення поняття веріфікації програмного забезпечення.
Верификация – процесс, который определяет, выполняют ли программные компоненты требования, наложенные на них этапами ЖЦ. верификация - процесс, направленный на демонстрацию наличия ошибок и условий их возникновения. верификация, в отличие от отладки - контролируемый и управляемый процесс.
Целью верификации является достижение гарантии того, что верифицируемый объект, требование или программный код реализованы без непредусмотренных функций и удовлетворяет проектной спецификации и стандартам.