Разделы презентаций


Надежность программного обеспечения

Содержание

Введение

Слайды и текст этой презентации

Слайд 1Технология программирования
Надежность программного обеспечения

Технология программированияНадежность программного обеспечения

Слайд 2Введение

Введение

Слайд 3Введение
Ошибка – это неспособность системы действовать в соответствии с перечнем

требований, предъявляемых к системе
Ошибка имеет место, если программное обеспечение не

выполняет того, что пользователю разумно от него ожидать
Отказ – проявление ошибки
ВведениеОшибка – это неспособность системы действовать в соответствии с перечнем требований, предъявляемых к системеОшибка имеет место, если

Слайд 4Введение
Тестирование – это процесс выполнения программы с целью обнаружения ошибок
Доказательство

– попытка найти ошибку в программе безотносительно к входным данным

Контроль

(верификация) – поиск ошибок в ПО при выполнении его в тестовой моделируемой среде
Испытание – поиск ошибок в ПО при выполнении его в заданной реальной среде

Отладка – установление точной причины обнаруженной ошибки. Результаты тестирования являются исходным материалом для отладки

Надежность ПО – это вероятность его работы без отказов в течение определенного периода времени, рассчитанная с учетом стоимости для пользователя каждого отказа
ВведениеТестирование – это процесс выполнения программы с целью обнаружения ошибокДоказательство – попытка найти ошибку в программе безотносительно

Слайд 5Связь процесса тестирования и процесса проектирования
Потребности
Архитектура системы
Внешние спецификации
Реализация модулей
Приемо-сдаточные испытания (Acceptance

Testing)
Системное тестирование (System Testing)
Тестирование интеграции (Integration Testing)
Тестирование модулей (Unit Testing)
Контроль проектирования
Контроль проектирования
Контроль требований
Подтверждение требований
Уровни тестирования
Подготовка тестов
Исполнение

тестов

Комплексное тестирование

Связь процесса тестирования и процесса проектированияПотребностиАрхитектура  системыВнешние  спецификацииРеализация модулейПриемо-сдаточные испытания  (Acceptance Testing)Системное тестирование (System

Слайд 6Связь процесса тестирования и процесса проектирования
Defect correction cost profile for

the software industry
Software testing : testing across the entire software

development life
cycle / by Gerald D. Everett, Raymond McLeod, Jr.
Связь процесса тестирования и процесса проектированияDefect correction cost profile for the software industrySoftware testing : testing across

Слайд 7Уровни тестирования
Тестирование модуля. Выявление ошибок в минимальных элементах программной системы.

Выполняется по мере разработки модулей
Интегрированное тестирование. Тестируется взаимодействие между компонентами,

в том числе и сторонними
Системное тестирование. Тестирование разработанной системы в целом. Цель проверить, что все системные элементы объединены и выполняют заданные функции. Может выполняться в моделируемой или реальной среде
Приемо-сдаточное тестирование. Проверка готовности для использования конечными пользователями. Цель – подтвердить, что функции, описанные в спецификациях соответствуют ожиданиям пользователей. Альфа-тестирование – заказчиком в организации разработчика. Бета-тестирование – выполняется конечными пользователями.
Уровни тестированияТестирование модуля. Выявление ошибок в минимальных элементах программной системы. Выполняется по мере разработки модулейИнтегрированное тестирование. Тестируется

Слайд 8Виды тестирования
Тестирование функциональности (functionality testing)
Функциональные тесты (function test). Выявляют ошибки

в реализации требуемых функций. Эти тесты выполняются для модулей, интеграции

компонентов, приложений и систем в целом
Тесты безопасности (security test). Проверка того, что данные и функции системы доступны только тем актантам, которым они предназначены. Выполняются на всех уровнях тестирования
Тесты предельных значений (volume test). Тестируется возможность обработки максимальных объемов данных
Тестирование практичности/удобства (usability testing). Включает тестирование удобства пользовательского интерфейса, всех видов эксплуатационной документации (включая оперативную документацию)
Тестирование надежности (reliability testing)
Тесты интеграции (integrity). Дают оценку устойчивости к ошибкам отдельных модулей и их сборок
Тесты структуры (structure). Например, в веб-приложении проверяется корректность всех ссылок, определяется правильность предоставления информации
Стрессовые (stress) тесты. Проверяется работоспособность приложения в «ненормальных» условиях (превышение загрузки, недостаток памяти, недоступные устройства, недоступные внешние компоненты)
Тестирование производительности (performance testing)
Сравнительные (benchmark) тесты. Сравнение производительности разрабатываемой системы со сторонними системами
Тесты конфликтов (contention). Тестирование одновременного доступа актантов к одним и тем же ресурсам (БД, память, и т.д.)
Нагрузочные (load) тесты. Тестирование границ приемлемого выполнения функций под изменяющейся нагрузкой. Эмулируются средние и пиковые нагрузки. Анализируется время ответа и время реакции системы на запросы (реакция системы – некоторые ответные действия системы, не обязательно ответ на запрос).
Тестирование сопровождаемости (supportability testing)
Тесты конфигурирования (configuration). Проверяется правильность функционирования при различных конфигурациях программного обеспечения и аппаратуры.
Тесты инсталляции (installation). Тесты возможности инсталляции системы при различных конфигурациях программного обеспечения и аппаратуры.



Виды тестированияТестирование функциональности (functionality testing)Функциональные тесты (function test). Выявляют ошибки в реализации требуемых функций. Эти тесты выполняются

Слайд 9Стратегии тестирования
Тестирование по спецификациям
Тестирование «черного ящика»
Формальное тестирование
Тестирование по тексту программ
Тестирование

«белого ящика»
Содержательное тестирование
Учет сведений о внутренней реализации

Стратегии тестированияТестирование по спецификациямТестирование «черного ящика»Формальное тестированиеТестирование по тексту программТестирование «белого ящика»Содержательное тестированиеУчет сведений о внутренней реализации

Слайд 10Стратегии тестирования



2
1
3
4
4 теста


































10 раз
10 раз
N = (23)10 ⋅ 2 ⋅

(23)10 = 261 = 2 ⋅ (210)6 > 2 ⋅

(103)6 = 2 ⋅1018

4 ⋅1017сек

Стратегии тестирования21344 теста10 раз10 разN = (23)10 ⋅ 2 ⋅ (23)10 = 261 = 2 ⋅ (210)6

Слайд 11Цикломатическая сложность процедуры – количество независимых путей


V(G)=1


V(G)=2



V(G)=P+1 P – количество ветвлений

Классы

эквивалентности и граничные значения





Правильные значения
Не правильные значения
Не правильные значения
empty

full
-1
0


70
71



Стратегии тестирования
Стек
Количество студентов [0;70]

Цикломатическая сложность  процедуры – количество  независимых путейV(G)=1V(G)=2V(G)=P+1 P – количество ветвлений…Классы эквивалентности и  граничные

Слайд 12Тестирование модуля
1. Тестирование модуля, как черного ящика
Матрица тестирования классов эквивалентности

и граничных значений

Тестирование модуля1. Тестирование модуля, как черного ящикаМатрица тестирования  классов эквивалентности и граничных значений

Слайд 13Тестирование модуля
2. Тестирование базового пути (каждая ветвь хотя бы один

раз)
Матрица учета ветвей
A

B
C






T
F
T
F
T
F


Ранее подготовленные тесты
Дополнительные тесты

Тестирование модуля2. Тестирование базового пути  (каждая ветвь хотя бы один раз)Матрица учета ветвейABCTFTFTFРанее подготовленные тестыДополнительные

Слайд 14Тестирование модуля
3. Тестирование циклов (в т.ч. вложенных)


Ранее подготовленные тесты
Дополнительные тесты
Матрица учета

циклов
4. Тестирование чувствительности к входным данным Это тестирование граничных значений

локальных структур данных:
- ситуации деления на ноль, переполнение
- утечки памяти
Тестирование модуля3. Тестирование циклов (в т.ч. вложенных)Ранее подготовленные тестыДополнительные  тестыМатрица учета циклов4. Тестирование чувствительности к входным

Слайд 15Тестирование интеграции (интегрированное тестирование)
Цель – обнаружение ошибок взаимодействия модулей
Последовательность тестирования

определяется порядком сборки (интеграции) модулей
Средства: драйверы и заглушки

Тестирование интеграции (интегрированное тестирование)Цель – обнаружение ошибок взаимодействия модулейПоследовательность тестирования определяется порядком сборки (интеграции) модулейСредства: драйверы и

Слайд 16Тестирование интеграции
Восходящее тестирование (снизу - вверх)


Д
Д

Д

1
2
- Автономно тестируются только модули

нижнего уровня
- Количество драйверов определяется количеством модулей
- Ошибки локализуются в

последнем подключаемом модуле

Д

3

Тестирование интеграцииВосходящее тестирование (снизу - вверх)ДДД12- Автономно тестируются только модули нижнего уровня- Количество драйверов определяется количеством модулей-

Слайд 17Тестирование интеграции
Нисходящее тестирование (сверху - вниз)
Проблемы:
- Обращение к модулю,

который еще не существует
- Передача тестовых данных модулю самого верхнего

уровня
- Сложные заглушки с тестовыми данными

Достоинства:
- Совмещение тестирования модулей, интеграции и системное тестирование (функциональное) совмещены и выполняются на ранних этапах
- Тестовые данные готовятся в естественном виде (при наличии модулей ввода-вывода)
- Меньшее количество данных (ограничение передачи данных вниз)
Недостатки:
- Большое количество отложенных решений
Низкая надежность модулей нижних уровней

Разработка и тестирование начинаются с модуля верхнего уровня

Тестирование интеграцииНисходящее тестирование (сверху - вниз)Проблемы: - Обращение к модулю, который еще не существует- Передача тестовых данных

Слайд 18Тестирование интеграции
Метод «большого скачка» (монолитное тестирование)
Достоинства:
- Распараллеливание работ по

проектированию и автономному тестированию
Все модули тестируются автономно и одновременно интегрируются

в систему

Недостатки:
- Необходимость и в драйверах, и в заглушках
- Модули долгое время не тестируются совместно
- Трудность локализации ошибок


Тестирование интеграцииМетод «большого скачка» (монолитное тестирование)Достоинства: - Распараллеливание работ по проектированию и автономному тестированиюВсе модули тестируются автономно

Слайд 19Тестирование интеграции
Модифицированный нисходящий
В нисходящем методе
Модификация
Каждый модуль проходит автономное тестирование

перед интеграцией в систему
З

Тестирование интеграцииМодифицированный нисходящий В нисходящем методеМодификацияКаждый модуль проходит автономное тестирование перед интеграцией в системуЗ

Слайд 20Тестирование интеграции
Метод сэндвича


Д
Д

Д

1
2


З
З

З

2
1
Прикладной уровень
Уровень элементарных операций
Стыковка

Одновременно начинается нисходящая и восходящая интеграция

и тестирование.
Достоинства:
- Раннее начало интеграции системы и тестирования
- Надежное тестирование

модулей нижних уровней
Тестирование интеграцииМетод сэндвичаДДД12ЗЗЗ21Прикладной уровеньУровень элементарных операцийСтыковкаОдновременно начинается нисходящая и восходящая интеграция и тестирование.Достоинства:- Раннее начало интеграции системы

Слайд 21Тестирование интеграции
Модифицированный метод сэндвича


Д
Д

Д

1
2


З
З

З

2
1
Прикладной уровень
Уровень элементарных операций
Стыковка

З
Д
З
Д
З
Д
То же самое, что метод

сэндвича, но модули верхнего уровня тестируются сначала автономно (модифицированный нисходящий

метод). Это требует дополнительных драйверов
Тестирование интеграцииМодифицированный метод сэндвичаДДД12ЗЗЗ21Прикладной уровеньУровень элементарных операцийСтыковкаЗДЗДЗДТо же самое, что метод сэндвича, но модули верхнего уровня тестируются

Слайд 22Тестирование интеграции
Сравнительный анализ


Тестирование интеграцииСравнительный анализ

Слайд 23Системное тестирование (разработка функциональных тестов)
Метод диаграмм причин-следствий (cause-effect):
Выявляются причины (значения

из классов эквивалентности входных данных) и следствия (ожидаемые отклики системы)


Разрабатывается граф причинно-следственных связей (автоматная модель приложения)
Формируется таблица решений
Столбцы решений образуют тестовые данные (тестовые случаи)
Системное тестирование (разработка функциональных тестов)Метод диаграмм причин-следствий (cause-effect):Выявляются причины (значения из классов эквивалентности входных данных) и следствия

Слайд 24Метод диаграмм причин-следствий
c
e
c
e

c1
c2
e

c1
c2
e

с1
с2
E
с1
с3
I
с2
Функция «тождество»
Функция «не»
c = {0,1} e = {0,1}
Функция

«или»
Функция «и»
Ограничение «исключает» (только одна величина = 1)
Ограничение «включает» (хотя бы одна

величина = 1)

Может отсутствовать

Метод диаграмм причин-следствийcecec1c2e∨c1c2e∧с1с2Eс1с3Iс2Функция «тождество»Функция «не»c = {0,1} e = {0,1}Функция «или»Функция «и»Ограничение «исключает» (только одна величина =

Слайд 25Метод диаграмм причин-следствий
Пример. Тестировать исполнение команды операционной системы
rename name1 [name2]

Описание

тестируемой функции
Заменить имя name1 указанного файла на name2
Если не

указано name2, то файл с name1 удаляется
Сообщать об ошибке, если нет файла с name1
Сообщать об ошибке, если нарушен синтаксис команды
Если файл с name2 существует, то не удалять его, и сообщать об ошибке

Метод диаграмм причин-следствийПример. Тестировать исполнение команды операционной системыrename name1 [name2]Описание тестируемой функцииЗаменить имя name1 указанного файла на

Слайд 26Метод диаграмм причин-следствий
Причины:
(с1) Длина name1 от 1 до 8 символов
(с2)

Длина name2 от 1 до 8 символов
(с3) Длина name2 равна

0
(с4) Файл с именем name1 существует
(с5) Файл с именем name2 существует

Промежуточные причины:
(c6) Правильные name1 и name2
(c7) Правильное name1, а name2 отсутствует
(c8) Команда синтаксически правильная

Следствия:
(e1) Файл переименован
(e2) Сообщение «Файл переименован»
(e3) Сообщение «Нет файла»
(e4) Сообщение «Синтаксическая ошибка»
(e5) Файл удален
(e6) Сообщение «Файл удален»
(e7) Сообщение «Файл существует»

rename name1 [name2]


Полный перебор требует 25 = 32 теста

Метод диаграмм причин-следствийПричины:(с1) Длина name1 от 1 до 8 символов(с2) Длина name2 от 1 до 8 символов(с3)

Слайд 27Метод диаграмм причин-следствий
c5
e7
c1
c2
c3
c4
e1
e2
e3
e4
e5
e6
Длина name1 от 1 до 8 символов
Длина name2

от 1 до 8 символов
Длина name2 равна 0
Файл с именем

name1 существует

Файл с именем name2 существует

Файл переименован

Сообщение «Файл переименован»

Сообщение «Нет файла»

Сообщение «Синтаксическая ошибка»

Файл удален

Сообщение «Файл удален»

Сообщение «Файл существует»

E



c6

c7

c8






Таблица решений

Рассматриваются только те следствия, которые не были рассмотрены ранее

Метод диаграмм причин-следствийc5e7c1c2c3c4e1e2e3e4e5e6Длина name1  от 1 до 8 символовДлина name2  от 1 до 8 символовДлина

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика