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

Содержание

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


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

тестов

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




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

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

На этом этапе ловится до 65% всех ошибок

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

review)
Требуются специальные драйвера, stabs (затычки) и автоматизирующие утилиты

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


Слайд 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


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

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


число тестов


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

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

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

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

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

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








Слайд 11Плюсы и минусы данных подходов
Сверху вниз
Начинаем в головного модуля
Используем затычки для

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

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

корректно программа справляется с данной задачей

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

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

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


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

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


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

производительностью
Проблемы с безопасностью
Недостаточное тестовое покрытие

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

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

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

ситуаций
Реакция на некорректные и непредусмотренные данные

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


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

версии
Тесты на точность

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

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

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

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

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


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

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