- •Фактори якості програмного забезпечення.
- •Метрики якості програмного забезпечення Холстеда.
- •Интеллектуальное содержание программы (в условных единицах)
- •Регресійне тестування.
- •Визначення поняття веріфікації програмного забезпечення.
- •Метрики якості програмного забезпечення МакКейба.
- •Цикл попередження появи помилок в програмному забезпеченні.
- •Концепція тестування.
- •Зв’язок задач валідації, верифікації та тестування с життевим циклом програмного забезпечення.
- •Принципи тестування навантаженням.
- •Стадії тестування в процесі розробки програмного забезпечення.
- •Модель управління якістю програмного забезпечення - cmmi.
- •Інтеграційне тестування.
- •Основні поняття в проблемі тестування програмного забезпечення.
- •Модульне тестування.
- •Тестирование методом „білій ящик”.
- •Надійність програмного забезпечення.
- •Поняття системного тестування.
- •Модель комплексного управління якістю програмного забезпечення (на базі iso).
- •Методика аналізу помилки, що повторюється.
- •Роль керівника проекту при використанні системи відстеження помилок.
- •Характеристики „доброго” тесту.
- •Модель вимірювання характеристик якості програмного забезпечення.
- •Поняття класу еквівалентності.
- •Класифікація методів верифікації.
- •Мутаційні критерії вибору тестів.
- •Основні проблеми процесу тестування програмного забезпечення.
- •Ролі в процесі веріфікації програмного забезпечення.
- •Кількісні характеристики програмного забезпечення та його надійності.
- •Функціональні критерії вибору тестів.
- •Класифікація програмних помилок.
- •Призначення та основні компоненти звіту про помилку.
- •Стохастичні критерії вибору тестів.
- •На прикладі системи mantis дайте характеристики системі відстеження помилок.
- •Принципи тестування переходів між станами програми.
- •Ключові засади автоматизації тестування.
- •Особливості інтеграційного тестування для об’єктно-орієнтовного програмування.
- •Структурні критерії вибору тестів.
- •Документування в процесі верифікації.
- •Визначення якості программного забезпечення (iso, ieee).
Поняття класу еквівалентності.
Определение: Если от выполнения 2-х тестов ожидается один и тот же результат, они считаются эквивалентными, группа тестов представляет собой класс эквивалентности, если выполняется следующие условия:
Все тесты предназначены для выявления одной и той же ошибки.
Если один из тестов выявит ошибку, то скорее всего все остальные тоже.
Если один из тестов не выявит ошибку, то все остальные, скорее всего тоже.
Для получения класса эквивалентности рекомендуется:
Тесты включают значения одних и тех же входных данных.
Для их проведение выполняются одни и те же операции программы.
В результате всех тестов формируются одни и те же значения выходных данных.
Либо не один из тестов не активирует заданный модуль(функции, процедуры) либо этот модуль активирует все тесты
Рассмотрим рекомендации, как искать классы эквивалентности
Не забывать о тестах, которые охватывают заведомо не верные или не допустимые входные данные.
Опишите перечень классов в виде таблицы следующего содержания
-
Входные/выходные события
Допустимые классы эквивалентности
Не допустимые классы эквивалентности
Ввод числа
Числа в интервале от 1-99
Меньше 1; больше 99; буквы и другие не числовые символы
Определите диапазоны числовых значений
Для полей или параметров, которые принимают фиксированные значения, выяснить какие из значений допустимы.
Проанализируйте возможные результаты выбора из списка и меню.
Проанализируйте переменные значение, которых должны быть равны.
Поищите переменные, значения которых зависят во времени.
Выявите переменные, которые совместно участвуют в определенных вычислениях.
Проанализируйте на какие действия программа отвечает эквивалентными событиями.
Продумайте варианты операционного окружения.
Следующий этап – найти границы класса эквивалентности.
Для каждого класса эквивалентности достаточно провести один – два теста. И лучшими из них будут те, которые проверяют значения, лежащие на границах класса.
Класифікація методів верифікації.
Мутаційні критерії вибору тестів.
Предполагается, что профессиональные программисты пишут сразу почти правильные программы, которые содержат мелкие. Предлагается подход, позволяющий на основе мелких ошибок оценить общее число ошибок, оставшихся в программе.
Подход базируется на следующих понятиях:
Мутации - мелкие ошибки в программе.
Мутанты - программы, отличающиеся друг от друга мутациями .
Метод мутационного тестирования:
1- в разрабатываемую программу P вносят мутации, т.е. искусственно создают программы-мутанты P1, P2...
2 – на одном и том же тестовом наборе прогоняют Р и её мутантов. Если на этом тестовом наборе показана правильность работы Р, а все мутанты показали программные ошибки, то программа считается оттестированной.
Основні проблеми процесу тестування програмного забезпечення.
Определить достаточное количество тестовых наборов для подтверждений истинности программы.
Вывод:
1.Невозможно протестировать программу на всех выходах.
2.Невозможно протестировать программу на всех путях.
3.Основные функции тестировщика отображать конечнон количество тестов,чтобы проверить истенность выполнения программы.
Задача о выборе конечного количества тестов не разрешима.