- •Нижегородский государственный университет им. Н.И. Лобачевского
- •Методы проектирования надежного программного обеспечения
- •Краткое содержание
- •Надежность программного обеспечения
- •Часть I. Надежность ПО
- •Понятие ошибки ПО
- •Понятие надежности
- •Методы оценки надежности
- •Причины и источники ошибок ПО
- •Методы проектирования надежного программного обеспечения
- •Методы проектирования надежного программного обеспечения
- •Методы проектирования надежного программного обеспечения
- •Методы предупреждения ошибок
- •Обнаружение ошибок
- •Обеспечение устойчивости к ошибкам
- •Тестирование
- •Часть II. Тестирование ПО
- •Понятие тестирования
- •Принципы тестирования…
- •Принципы тестирования
- •Порядок процесса тестирования
- •Тестирование программы как "черного ящика"
- •Тестирование программы как "черного ящика"
- •Метод эквивалентного разбиения
- •Метод эквивалентного разбиения
- •Метод эквивалентного разбиения
- •Метод эквивалентного разбиения
- •Метод анализа граничных условий
- •Тестирование программы как "белого ящика"
- •Тестирование программы как "белого ящика"
- •Критерии покрытия логики
- •Критерии покрытия логики
- •Критерии покрытия логики
- •Критерии покрытия логики
- •Критерии покрытия логики
- •Какого "цвета" тестирование выбрать?
- •Спектр подходов к проектированию тестов
- •Этапы тестирования
- •Два подхода к тестированию модулей
- •Восходящее тестирование
- •Нисходящее тестирование
- •Тестирование функций
- •Комплексное тестирование
- •Alpha- и beta- тестирование
- •Статистическая надежность
- •Комбинаторная надежность
- •Расчет величины риска, вызванного возможностью ошибок в ПО
Методы проектирования надежного программного обеспечения
Методы проектирования надежного программного обеспечения можно разбить на следующие группы:
предупреждение ошибок
обнаружение ошибок
устойчивость к ошибкам
методы, направленные на разработку дополнительных функций программного обеспечения, помогающих выявить ошибки
ИТЛаб ВМК НН |
Надежность и тестиро |
12-<N> |
ГУ, 15 |
вание ПО |
|
Методы проектирования надежного программного обеспечения
Методы проектирования надежного программного обеспечения можно разбить на следующие группы:
предупреждение ошибок
обнаружение ошибок
устойчивость к ошибкам
дополнительные функции ПО, предназначенные для исправления ошибок и их последствий и обеспечивающие функционирование системы при наличии ошибок
ИТЛаб ВМК НН |
Надежность и тестиро |
13-<N> |
ГУ, 15 |
вание ПО |
|
Методы предупреждения ошибок
методы, позволяющие справиться со сложностью системы;
методы достижения большей точности при переводе информации;
методы улучшения обмена информацией;
методы обнаружения и устранения ошибок на каждом шаге проектирования, не откладывая их на этап тестирования.
ИТЛаб ВМК НН |
Надежность и тестиро |
14-<N> |
ГУ, 15 |
вание ПО |
|
Обнаружение ошибок
Важным этапом |
жизненного цикла |
программного |
обеспечения, |
определяющим качество и надёжность системы, является тестирование.
ИТЛаб ВМК НН |
Надежность и тестиро |
15-<N> |
ГУ, 15 |
вание ПО |
|
Обеспечение устойчивости к ошибкам
Направлено на минимизацию ущерба, вызванного появлением ошибок, и включает в себя:
-обработку сбоев аппаратуры; -повторное выполнение операций; -динамическое изменение конфигурации;
-сокращенное обслуживание в случае отказа отдельных функций системы;
-копирование и восстановление данных; -изоляцию ошибок.
ИТЛаб ВМК НН |
Надежность и тестиро |
16-<N> |
ГУ, 15 |
вание ПО |
|
Тестирование
Часть II. Тестирование ПО
Глава 1. Процесс тестирования
Понятие тестирования Принципы тестирования Порядок процесса тестирования
Глава 2. Технология тестирования
Тестирование программы как «черного ящика» Тестирование программы как «белого ящика» Критерии покрытия логики программы Этапы тестирования Два подхода к тестированию модулей
Восходящее и нисходящее тестирование
Alpha- и beta- тестирование
Глава 3. Практическое тестирование
ИТЛаб ВМК НН |
Надежность и тестиро |
18-<N> |
ГУ, 15 |
вание ПО |
|
Понятие тестирования
Определение, данное Гленфордом Майерсом:
"Тестирование - это процесс выполнения
Тестирование - это любая деятельность, направленная на обнаружение ошибок в программном продукте
и не охватывающим всех аспектов современного тестирования
ИТЛаб ВМК НН |
Надежность и тестиро |
19-<N> |
ГУ, 15 |
вание ПО |
|
Принципы тестирования…
-описание ожидаемых результатов работы программы;
-следует по возможности избегать тестирования программы ее автором;
-доскональное изучение результатов каждого теста;
-необходимо тщательно подбирать тест не только для правильных (предусмотренных) входных данных, но и для неправильных (непредусмотренных);
-необходимо проверять, не делает ли программа того, что она не должна делать;
ИТЛаб ВМК НН |
Надежность и тестиро |
20-<N> |
ГУ, 15 |
вание ПО |
|
Принципы тестирования
-следует сохранять использованные тесты;
-тестирование не должно планироваться исходя из предположения, что в программе не будут обнаружены ошибки;
-“принцип скопления ошибок”: вероятность наличия не обнаруженных ошибок в некоторой части программы прямо пропорциональна числу ошибок, уже обнаруженных в этой части;
-следует всегда помнить, что тестирование -
творческий процесс, а не относиться к нему как к рутинному занятию.
ИТЛаб ВМК НН |
Надежность и тестиро |
21-<N> |
ГУ, 15 |
вание ПО |
|
