- •Нижегородский государственный университет им. Н.И. Лобачевского
- •Методы проектирования надежного программного обеспечения
- •Краткое содержание
- •Надежность программного обеспечения
- •Часть I. Надежность ПО
- •Понятие ошибки ПО
- •Понятие надежности
- •Методы оценки надежности
- •Причины и источники ошибок ПО
- •Методы проектирования надежного программного обеспечения
- •Методы проектирования надежного программного обеспечения
- •Методы проектирования надежного программного обеспечения
- •Методы предупреждения ошибок
- •Обнаружение ошибок
- •Обеспечение устойчивости к ошибкам
- •Тестирование
- •Часть II. Тестирование ПО
- •Понятие тестирования
- •Принципы тестирования…
- •Принципы тестирования
- •Порядок процесса тестирования
- •Тестирование программы как "черного ящика"
- •Тестирование программы как "черного ящика"
- •Метод эквивалентного разбиения
- •Метод эквивалентного разбиения
- •Метод эквивалентного разбиения
- •Метод эквивалентного разбиения
- •Метод анализа граничных условий
- •Тестирование программы как "белого ящика"
- •Тестирование программы как "белого ящика"
- •Критерии покрытия логики
- •Критерии покрытия логики
- •Критерии покрытия логики
- •Критерии покрытия логики
- •Критерии покрытия логики
- •Какого "цвета" тестирование выбрать?
- •Спектр подходов к проектированию тестов
- •Этапы тестирования
- •Два подхода к тестированию модулей
- •Восходящее тестирование
- •Нисходящее тестирование
- •Тестирование функций
- •Комплексное тестирование
- •Alpha- и beta- тестирование
- •Статистическая надежность
- •Комбинаторная надежность
- •Расчет величины риска, вызванного возможностью ошибок в ПО
Порядок процесса тестирования
Процесс тестирования проходит следующие стадии:
Постановка задачи |
|
Проектирование |
для теста |
|
тестов |
|
|
|
Тестирование |
|
Написание |
тестов |
|
тестов |
|
|
|
|
Выполнение |
|
Обработка |
|
|
|
|
результатов |
|
||
|
тестов |
|
|
|
|
|
|
|
тестирования |
|
|
|
|
|
|
|
|
|
|
|
|
||
ИТЛаб ВМК НН |
Надежность и тестиро |
22-<N> |
|||
ГУ, 15 |
вание ПО |
|
|
||
Тестирование программы как "черного ящика"
Входные
данные
Программная
система
Результаты 
Данные, вызывающие неправильное поведение программы
Не учитываются преобразования
Выходные данные, указывающие на наличие ошибок
ИТЛаб ВМК НН |
Надежность и тестиро |
23-<N> |
ГУ, 15 |
вание ПО |
|
Тестирование программы как "черного ящика"
Недостаток данной стратегии:
Требуется полный перебор всех значений входных данных
Решение проблемы:
Метод эквивалентного разбиения
Метод анализа граничных условий
ИТЛаб ВМК НН |
Надежность и тестиро |
24-<N> |
ГУ, 15 |
вание ПО |
|
Метод эквивалентного разбиения
-Множество тестов разбивается на конечное число подмножеств (классов эквивалентности);
-Каждый тест является представителем некоторого класса;
-Каждый тест эквивалентен любому другому тесту того же класса.
Два этапа проектирования тестов:
-выделение классов эквивалентности по внешним спецификациям;
-построение множества тестов.
ИТЛаб ВМК НН |
Надежность и тестиро |
25-<N> |
ГУ, 15 |
вание ПО |
|
Метод эквивалентного разбиения
Этап I. Выделение классов эквивалентности по внешним спецификациям
Входные
данные
Допустимые для |
|
Недопустимые для |
программы значения. |
|
|
|
программы значения. |
|
|
|
|
Соответствуют |
|
Соответствуют |
|
“неправильным” классам |
|
“правильным” классам |
|
|
|
эквивалентности (НКЭ) |
|
эквивалентности (ПКЭ) |
|
|
|
|
|
|
|
|
ИТЛаб ВМК НН |
Надежность и тестиро |
26-<N> |
ГУ, 15 |
вание ПО |
|
Метод эквивалентного разбиения
Этап II. Построение множества тестов
Входные
данные
Допустимые для программы значения.
ТЕСТ 
ПКЭ 
ПКЭ ПКЭ 
ПКЭ
Недопустимые для программы значения.
ТЕСТ 
НКЭ 
НКЭ НКЭ 
НКЭ
ИТЛаб ВМК НН |
Надежность и тестиро |
27-<N> |
ГУ, 15 |
вание ПО |
|
Метод эквивалентного разбиения
Этап II. Построение множества тестов
1.Проектируются тесты для ПКЭ
-каждый тест покрывает как можно больше еще не покрытых ПКЭ;
-все ПКЭ должны быть покрыты.
2.Проектируются тесты для НКЭ
-каждый тест покрывает один и только один НКЭ;
-все НКЭ должны быть покрыты.
ИТЛаб ВМК НН |
Надежность и тестиро |
28-<N> |
ГУ, 15 |
вание ПО |
|
Метод анализа граничных условий
Граничные условия - ситуации, возникающие непосредственно на границе определенного в спецификации входного или выходного условия, выше или ниже ее.
-границы области допустимых значений входных данных;
-минимального и максимального значений входных условий;
-первый и последний элементы множества (если входные и выходные данные программы представляют собой упорядоченные множества).
ИТЛаб ВМК НН |
Надежность и тестиро |
29-<N> |
ГУ, 15 |
вание ПО |
|
Тестирование программы как "белого ящика"
Не учитываются входные данные
проверяет
логику
программы
Не учитываются выходные данные
ИТЛаб ВМК НН |
Надежность и тестиро |
30-<N> |
ГУ, 15 |
вание ПО |
|
Тестирование программы как "белого ящика"
Недостаток данной стратегии:
Требует перебора всех возможных путей на графе передач управления программы.
Решение проблемы:?
ИТЛаб ВМК НН |
Надежность и тестиро |
31-<N> |
ГУ, 15 |
вание ПО |
|
