Презентация на тему Тестирование программных средств

Содержание

Оглавление Фазы тестового цикла Unit-тестирование Интеграционное тестирование Различные подходы к интеграционному тестированию Системное тестирование Аттестационное (приемочное) тестирование Классификация тестов
Слайды и текст этой презентации

Слайд 1Тестирование программных средств
Сафронов Сергей,
2008 год

Тестирование программных средств Сафронов Сергей,  2008 год

Слайд 2Оглавление
Фазы тестового цикла
Unit-тестирование
Интеграционное тестирование
Различные подходы к интеграционному

тестированию
Системное тестирование
Аттестационное (приемочное) тестирование
Классификация тестов

Оглавление Фазы тестового цикла Unit-тестирование Интеграционное тестирование Различные подходы к интеграционному тестированию

Слайд 3V – модель
Определение
требований
Системное
тестирование
Разработка
архитектуры
Детальный
дизаин
Интеграционное
Тестирование
Приемочное
тестирование
Разработка и
Unit-тестирование



V – модель Определение  требований Системное тестирование Разработка  архитектуры Детальный

Слайд 4Unit-тестирование
Цель: проверить, что модуль (либо функция) не

содержит явных ошибок
Проверка логики
Проверка корректность использования типов
Обнаружение

неинициализированных переменных
Проверка корректность счетчиков для циклов
Проверка типов возвращаемых значений для функций
Проверка корректности типов передаваемых аргументов
Корректность условных операторов
Локализация мест, где возможна потеря точности

На этом этапе ловится до 65% всех ошибок
Unit-тестирование Цель: проверить, что модуль (либо функция) не содержит явных ошибок Проверка

Слайд 5Особенности unit-тестирования
Обычно выполняется самими разработчиками (чаще всего

– в рамках code review)
Требуются специальные драйвера,

stabs (затычки) и автоматизирующие утилиты

(В идеале )Создаются спец. тесты, что проверяют, что:
каждая строка модуля выполняется хотя бы 1 раз
Каждый путь в модуле выполняется хотя бы 1 раз

Особенности unit-тестирования Обычно выполняется самими разработчиками (чаще всего – в рамках code

Слайд 6Число путей выполнения для каждого statement
Statement type
IF..

END IF
IF..ELSE..END IF
IF..ELSEIF..END IF
IF..ELSEIF..ELSE..END IF
IF..ELSEIF..ELSEIF..END IF
IF..ELSEIF..ELSEIF..ELSE..END IF
CASE

statement with n cases
FOR..NEXT
DO WHILE..LOOP
DO UNTIL..LOOP

Number of Paths
2
2
3
3
4
4
n+1
2
2
2

Число путей выполнения для каждого statement 	Statement type IF.. END IF IF..ELSE..END

Слайд 7Unit-тестирование и покрытие логики
Покрытие структурных элементов
Каждый структурный

элемент выполняется хотя бы 1 раз
Покрытие условий
Все

варианты всех условий проверяются хотя бы 1 раз
Прокрытие всех условных операторов
Для каждого условного оператора проверяются хотя бы раз все варианты
Покрытие всех комбинаций условий
Все комбинации условных операторов проверяются хотя бы 1 раз


число тестов

Unit-тестирование и покрытие логики Покрытие структурных элементов Каждый структурный элемент выполняется хотя

Слайд 8Интеграционное тестирование
Это промежуточное тестирование между Unit-тестированием и

системным тестированием
Проходит тестирование всех внутренних и внешних

интерфейсов
Тестирование связей между модулями
Тестирование связей программы с внешним миром
Ловятся следующие ошибки:
Взаимодействия
Интерфейсы
Тестирование проводится разработчиками совместно с тестировщиками
Интеграционное тестирование Это промежуточное тестирование между Unit-тестированием и системным тестированием Проходит тестирование

Слайд 9Проблемы, локализуемые на данном этапе
Некорректные предположения о

валидности данных
Некорректное использование смежных юнитов (не учитываются

побочные эффекты)
Вызов функций вне запланированных последовательностей (работа с неинициализированными данными)
Работа с неполными данными
Некорректная интерпретация значений, возвращаемых вызываемой функцией
Проблемы, локализуемые на данном этапе Некорректные предположения о валидности данных Некорректное использование

Слайд 10«Накопительное» (Incremental) интеграционное тестирование
При данном подходе модули

добавляются по одному за раз и тестируется

получаемая система
Возможны два подхода:
Сверху вниз
Снизу вверх







«Накопительное» (Incremental) интеграционное тестирование 	При данном подходе модули добавляются по одному за

Слайд 11Плюсы и минусы данных подходов
Сверху вниз
Начинаем в

головного модуля
Используем затычки для модулей более низкого

уровня
Добавление идет по нисходящей
Плюс: позволяет выявить ошибки в архитектуре
Минус: огромное количество затычек
Снизу вверх
Начинаем с юнитов находящихся внизу иерархии
Драйвер эмулирует юниты более высокого уровня
Добавление юнитов идет по восходящей
Плюс: более эффективно по времени тестирования
Минус: выше вероятность ошибок в архитектуре
Плюсы и минусы данных подходов Сверху вниз Начинаем в головного модуля Используем

Слайд 12Thread тестирование
Описание:
Выбирается определенная функциональность
Интегрируются только модули, отвечающие

за данную функциональность
Проверяется, насколько корректно программа справляется

с данной задачей
Thread тестирование Описание: Выбирается определенная функциональность Интегрируются только модули, отвечающие за данную

Слайд 13Подход Microsoft
Плюсы данного подхода
Минимизация риска при интеграции
Повышается

качество
Уменьшается время на поиск ошибок
Точные данные о

состоянии системы
Обратная связь от клиентов с ранних этапов

Microsoft Daily Build and Smoke Test -
integrate early, integrate often

Подход Microsoft Плюсы данного подхода Минимизация риска при интеграции Повышается качество Уменьшается

Слайд 14Системное тестирование
Проверяется состояние всей системы целиком
Проверяется работа

системы в реальном окружении
Проверяются внешние характеристики системы

(требования по ресурсам, быстродействие)
Обратная связь с пользователями (бета-тестирование)

Системное тестирование Проверяется состояние всей системы целиком Проверяется работа системы в реальном

Слайд 15Проблемы, выявляемые на системном тестирование
Падения на реальных

данных
Недостающая функциональность
Некорректная функциональность
Проблемы с производительностью
Проблемы с безопасностью
Недостаточное

тестовое покрытие
Проблемы, выявляемые на системном тестирование Падения на реальных данных Недостающая функциональность Некорректная

Слайд 16Аттестационное тестирование
Проверяется, насколько программа соответствует ожиданиям конечных

пользователей
Проверка идет на реальной машине, а не

на тестовых серверах
Проверка идет на реальных данных, а не на тестовых
Проверяется, насколько доступно описание в документации («коридорное тестирование»)
Проводится с представителями заказчика (либо с кем-либо из будущих пользователей программы)
Проверка жизнеспособности программы (длительная работа в реальном режиме)
Аттестационное тестирование Проверяется, насколько программа соответствует ожиданиям конечных пользователей Проверка идет на

Слайд 17Ошибки, всплывающие на данном этапе
Чрезмерная сложность внутренней

логики
Стрессовое тестирование/ситуации гонок
Обработка сложных ситуаций
Реакция на некорректные

и непредусмотренные данные
Ошибки, всплывающие на данном этапе Чрезмерная сложность внутренней логики Стрессовое тестирование/ситуации гонок

Слайд 18Критерии классификации тестов
По затрагиваемой функциональности
Тестирование «вширь»
Тестирование «вглубь»
Реальные

данные

Критерии классификации тестов По затрагиваемой функциональности Тестирование «вширь» Тестирование «вглубь» Реальные данные

Слайд 19Критерии классификации тестов
По проверяемым данным
Позитивные тесты
Негативные

тесты
Тесты, проверяющие ограничения данной версии
Тесты на точность

Критерии классификации тестов По проверяемым данным  Позитивные тесты Негативные тесты Тесты,

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

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

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

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

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


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

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