🗊Презентация Виды и методы тестирования на разных стадиях разработки ПО

Нажмите для полного просмотра!
Виды и методы тестирования на разных стадиях разработки ПО, слайд №1Виды и методы тестирования на разных стадиях разработки ПО, слайд №2Виды и методы тестирования на разных стадиях разработки ПО, слайд №3Виды и методы тестирования на разных стадиях разработки ПО, слайд №4Виды и методы тестирования на разных стадиях разработки ПО, слайд №5Виды и методы тестирования на разных стадиях разработки ПО, слайд №6Виды и методы тестирования на разных стадиях разработки ПО, слайд №7Виды и методы тестирования на разных стадиях разработки ПО, слайд №8Виды и методы тестирования на разных стадиях разработки ПО, слайд №9Виды и методы тестирования на разных стадиях разработки ПО, слайд №10Виды и методы тестирования на разных стадиях разработки ПО, слайд №11Виды и методы тестирования на разных стадиях разработки ПО, слайд №12Виды и методы тестирования на разных стадиях разработки ПО, слайд №13Виды и методы тестирования на разных стадиях разработки ПО, слайд №14Виды и методы тестирования на разных стадиях разработки ПО, слайд №15Виды и методы тестирования на разных стадиях разработки ПО, слайд №16Виды и методы тестирования на разных стадиях разработки ПО, слайд №17Виды и методы тестирования на разных стадиях разработки ПО, слайд №18Виды и методы тестирования на разных стадиях разработки ПО, слайд №19Виды и методы тестирования на разных стадиях разработки ПО, слайд №20Виды и методы тестирования на разных стадиях разработки ПО, слайд №21Виды и методы тестирования на разных стадиях разработки ПО, слайд №22Виды и методы тестирования на разных стадиях разработки ПО, слайд №23Виды и методы тестирования на разных стадиях разработки ПО, слайд №24Виды и методы тестирования на разных стадиях разработки ПО, слайд №25Виды и методы тестирования на разных стадиях разработки ПО, слайд №26Виды и методы тестирования на разных стадиях разработки ПО, слайд №27Виды и методы тестирования на разных стадиях разработки ПО, слайд №28Виды и методы тестирования на разных стадиях разработки ПО, слайд №29Виды и методы тестирования на разных стадиях разработки ПО, слайд №30Виды и методы тестирования на разных стадиях разработки ПО, слайд №31Виды и методы тестирования на разных стадиях разработки ПО, слайд №32

Содержание

Вы можете ознакомиться и скачать презентацию на тему Виды и методы тестирования на разных стадиях разработки ПО. Доклад-сообщение содержит 32 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1





Виды и методы тестирования на разных стадиях разработки ПО
Описание слайда:
Виды и методы тестирования на разных стадиях разработки ПО

Слайд 2





Уровни и виды тестирования
Модульное тестирование (component testing)
Интеграционное тестирование (integration testing)
Системное тестирование (system testing)
Приемочное тестирование (acceptance testing) – польз-ли
smoke testing
регрессионное тестирование
См. с. 144 Савина.
Описание слайда:
Уровни и виды тестирования Модульное тестирование (component testing) Интеграционное тестирование (integration testing) Системное тестирование (system testing) Приемочное тестирование (acceptance testing) – польз-ли smoke testing регрессионное тестирование См. с. 144 Савина.

Слайд 3





Взаимосвязь разработки и тестирования (V-диаграмма)
Описание слайда:
Взаимосвязь разработки и тестирования (V-диаграмма)

Слайд 4


Виды и методы тестирования на разных стадиях разработки ПО, слайд №4
Описание слайда:

Слайд 5





Взаимосвязь разработки и тестирования (V-диаграмма)
Описание слайда:
Взаимосвязь разработки и тестирования (V-диаграмма)

Слайд 6





Модульное тестирование (Unit testing)
Модульное тестирование - это тестирование программы на уровне отдельно взятых модулей, функций или классов. 
Цель модульного тестирования состоит в выявлении локализованных в модуле ошибок в реализации алгоритмов, а также в определении степени готовности системы к переходу на следующий уровень разработки и тестирования. 
Модульное тестирование чаще всего проводится по принципу "белого ящика“. 
Модульное тестирование обычно подразумевает создание вокруг каждого модуля определенной среды
Описание слайда:
Модульное тестирование (Unit testing) Модульное тестирование - это тестирование программы на уровне отдельно взятых модулей, функций или классов. Цель модульного тестирования состоит в выявлении локализованных в модуле ошибок в реализации алгоритмов, а также в определении степени готовности системы к переходу на следующий уровень разработки и тестирования. Модульное тестирование чаще всего проводится по принципу "белого ящика“. Модульное тестирование обычно подразумевает создание вокруг каждого модуля определенной среды

Слайд 7





Обнаруживаемые ошибки
На уровне модульного тестирования проще всего обнаружить дефекты, связанные с алгоритмическими ошибками и ошибками кодирования алгоритмов. 
Ошибки, связанные с неверной трактовкой данных, некорректной реализацией интерфейсов, совместимостью, производительностью и т.п. обычно выявляются на более поздних стадиях тестирования.
(белый и черный ящик)
Описание слайда:
Обнаруживаемые ошибки На уровне модульного тестирования проще всего обнаружить дефекты, связанные с алгоритмическими ошибками и ошибками кодирования алгоритмов. Ошибки, связанные с неверной трактовкой данных, некорректной реализацией интерфейсов, совместимостью, производительностью и т.п. обычно выявляются на более поздних стадиях тестирования. (белый и черный ящик)

Слайд 8





Интеграционное тестирование
Интеграционное тестирование (тестирование сборки) - тестирование части системы, состоящей из двух и более модулей. 
Основная задача - поиск дефектов, связанных с ошибками в реализации и интерпретации взаимодействия между модулями.
Так же, как и модульное тестирование, оперирует интерфейсами модулей и подсистем и требует создания тестового окружения  
Основная разница между модульным и интеграционным тестированием состоит в типах обнаруживаемых дефектов. В частности, на уровне интеграционного тестирования часто применяются методы, связанные с покрытием интерфейсов
Интеграционное тестирование использует модель "белого ящика" на модульном уровне.
Описание слайда:
Интеграционное тестирование Интеграционное тестирование (тестирование сборки) - тестирование части системы, состоящей из двух и более модулей. Основная задача - поиск дефектов, связанных с ошибками в реализации и интерпретации взаимодействия между модулями. Так же, как и модульное тестирование, оперирует интерфейсами модулей и подсистем и требует создания тестового окружения Основная разница между модульным и интеграционным тестированием состоит в типах обнаруживаемых дефектов. В частности, на уровне интеграционного тестирования часто применяются методы, связанные с покрытием интерфейсов Интеграционное тестирование использует модель "белого ящика" на модульном уровне.

Слайд 9





Методы сборки модулей 
Монолитный, характеризующийся одновременным объединением всех модулей в тестируемый комплекс. 
	Для замены неразработанных к моменту тестирования модулей необходимо дополнительно разрабатывать драйверы (test driver) и/или заглушки (stub) 
Инкрементальный, характеризующийся помодульным наращиванием комплекса программ с пошаговым тестированием собираемого комплекса. 

	В инкрементальном методе выделяют две стратегии добавления модулей: 
"Сверху вниз" (нисходящее тестирование) 
"Снизу вверх" (восходящее тестирование)
«Сэндвич»
Описание слайда:
Методы сборки модулей Монолитный, характеризующийся одновременным объединением всех модулей в тестируемый комплекс. Для замены неразработанных к моменту тестирования модулей необходимо дополнительно разрабатывать драйверы (test driver) и/или заглушки (stub) Инкрементальный, характеризующийся помодульным наращиванием комплекса программ с пошаговым тестированием собираемого комплекса. В инкрементальном методе выделяют две стратегии добавления модулей: "Сверху вниз" (нисходящее тестирование) "Снизу вверх" (восходящее тестирование) «Сэндвич»

Слайд 10





Сравнение методов
Монолитное тестирование требует больших трудозатрат, связанных с дополнительной разработкой драйверов и заглушек и со сложностью идентификации ошибок, проявляющихся в пространстве собранного кода. 
Монолитное тестирование предоставляет большие возможности распараллеливания работ, особенно на начальной фазе тестирования.
Пошаговое тестирование связано с меньшей трудоемкостью идентификации ошибок за счет постепенного наращивания объема тестируемого кода и соответственно локализации добавленной области тестируемого кода.
Описание слайда:
Сравнение методов Монолитное тестирование требует больших трудозатрат, связанных с дополнительной разработкой драйверов и заглушек и со сложностью идентификации ошибок, проявляющихся в пространстве собранного кода. Монолитное тестирование предоставляет большие возможности распараллеливания работ, особенно на начальной фазе тестирования. Пошаговое тестирование связано с меньшей трудоемкостью идентификации ошибок за счет постепенного наращивания объема тестируемого кода и соответственно локализации добавленной области тестируемого кода.

Слайд 11





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

Слайд 12





Недостатки восходящего тестирования
Запаздывание проверки концептуальных особенностей тестируемого комплекса 
Необходимость в разработке и использовании драйверов
Описание слайда:
Недостатки восходящего тестирования Запаздывание проверки концептуальных особенностей тестируемого комплекса Необходимость в разработке и использовании драйверов

Слайд 13





Системное тестирование 
Основная задача системного тестирования - выявление дефектов, связанных с работой системы в целом:
отсутствующая или неверная функциональность
неверное использование ресурсов системы
непредусмотренные комбинации данных пользовательского уровня 
несовместимость с окружением 
непредусмотренные сценарии использования
неудобство в применении и тому подобное.
Системное тестирование производится над проектом в целом с помощью метода «черного ящика».
Описание слайда:
Системное тестирование Основная задача системного тестирования - выявление дефектов, связанных с работой системы в целом: отсутствующая или неверная функциональность неверное использование ресурсов системы непредусмотренные комбинации данных пользовательского уровня несовместимость с окружением непредусмотренные сценарии использования неудобство в применении и тому подобное. Системное тестирование производится над проектом в целом с помощью метода «черного ящика».

Слайд 14





Категории тестов системного тестирования
Полнота решения функциональных задач.
Тестирование целостности (соответствие документации, комплектность). 
Проверка инсталляции и конфигурации на разных платформах. 
Оценка производительности. 
Стрессовое тестирование - на предельных объемах нагрузки входного потока. 
Корректность использования ресурсов (утечка памяти, возврат ресурсов). 
Эффективность защиты от искажения данных и некорректных действий. 
Корректность документации и т.д.
Объемы данных на этом уровне таковы, что обычно более эффективным подходом является полная или частичная автоматизация тестирования
Описание слайда:
Категории тестов системного тестирования Полнота решения функциональных задач. Тестирование целостности (соответствие документации, комплектность). Проверка инсталляции и конфигурации на разных платформах. Оценка производительности. Стрессовое тестирование - на предельных объемах нагрузки входного потока. Корректность использования ресурсов (утечка памяти, возврат ресурсов). Эффективность защиты от искажения данных и некорректных действий. Корректность документации и т.д. Объемы данных на этом уровне таковы, что обычно более эффективным подходом является полная или частичная автоматизация тестирования

Слайд 15





Другой пример разделения на категории:
Функциональное тестирование (functional testing)  
Тестирование производительности (performance testing)
Стрессовое тестирование (stress testing)
Нагрузочное тестирование (load testing)
HP LoadRunner
Тестирование удобства использования (usability testing)
Тестирование интерфейса пользователя (UI testing)
Тестирование безопасности (security testing)
Тестирование локализации (localization testing)
Тестирование совместимости (compatibility testing)
Описание слайда:
Другой пример разделения на категории: Функциональное тестирование (functional testing) Тестирование производительности (performance testing) Стрессовое тестирование (stress testing) Нагрузочное тестирование (load testing) HP LoadRunner Тестирование удобства использования (usability testing) Тестирование интерфейса пользователя (UI testing) Тестирование безопасности (security testing) Тестирование локализации (localization testing) Тестирование совместимости (compatibility testing)

Слайд 16





Регрессионное тестирование 
Регрессионное тестирование - цикл тестирования, который производится при внесении изменений на фазе системного тестирования или сопровождения продукта. 
Главная проблема регрессионного тестирования - выбор между полным и частичным перетестированием и пополнение тестовых наборов. При частичном перетестировании контролируются только те части проекта, которые связаны с измененными компонентами.
Описание слайда:
Регрессионное тестирование Регрессионное тестирование - цикл тестирования, который производится при внесении изменений на фазе системного тестирования или сопровождения продукта. Главная проблема регрессионного тестирования - выбор между полным и частичным перетестированием и пополнение тестовых наборов. При частичном перетестировании контролируются только те части проекта, которые связаны с измененными компонентами.

Слайд 17





Исправление дефекта
Получив отчет об ошибке, программист анализирует исходный код, находит ошибку, исправляет ее и модульно или интеграционно тестирует результат.
В свою очередь тестировщик, проверяя внесенные программистом изменения, должен:
Проверить и утвердить исправление ошибки. Для этого необходимо выполнить указанный в отчете тест, с помощью которого была найдена ошибка. 
Попробовать воспроизвести ошибку каким-нибудь другим способом. 
Протестировать последствия исправлений. Возможно, что внесенные исправления привнесли ошибку (наведенную ошибку) в код, который до этого исправно работал.
Описание слайда:
Исправление дефекта Получив отчет об ошибке, программист анализирует исходный код, находит ошибку, исправляет ее и модульно или интеграционно тестирует результат. В свою очередь тестировщик, проверяя внесенные программистом изменения, должен: Проверить и утвердить исправление ошибки. Для этого необходимо выполнить указанный в отчете тест, с помощью которого была найдена ошибка. Попробовать воспроизвести ошибку каким-нибудь другим способом. Протестировать последствия исправлений. Возможно, что внесенные исправления привнесли ошибку (наведенную ошибку) в код, который до этого исправно работал.

Слайд 18





Комбинирование уровней тестирования 
В каждом конкретном проекте должны быть определены задачи, ресурсы и технологии для каждого уровня тестирования. 
Задача тестировщиков и менеджеров - оптимально распределить ресурсы между тремя уровнями тестирования так, чтобы каждый из возможных типов дефектов был «адресован» (в наборе тестов должны иметься тесты, направленные на выявление дефектов этого типа). 
Например, перенесение усилий на поиск фиксированного типа дефектов из области системного в область модульного тестирования может существенно снизить сложность и стоимость всего процесса тестирования.
Описание слайда:
Комбинирование уровней тестирования В каждом конкретном проекте должны быть определены задачи, ресурсы и технологии для каждого уровня тестирования. Задача тестировщиков и менеджеров - оптимально распределить ресурсы между тремя уровнями тестирования так, чтобы каждый из возможных типов дефектов был «адресован» (в наборе тестов должны иметься тесты, направленные на выявление дефектов этого типа). Например, перенесение усилий на поиск фиксированного типа дефектов из области системного в область модульного тестирования может существенно снизить сложность и стоимость всего процесса тестирования.

Слайд 19


Виды и методы тестирования на разных стадиях разработки ПО, слайд №19
Описание слайда:

Слайд 20





Приемочное тестирование
Описание слайда:
Приемочное тестирование

Слайд 21





Эвристические методы создания тестов
Описание слайда:
Эвристические методы создания тестов

Слайд 22





Простейший пример
Программа выполняет ввод трех целых чисел
и выводит сообщение о том, является ли треугольник с такими сторонами неравносторонним, равнобедренным или равносторонним
правильный неравносторонний
правильный равносторонний
правильный равнобедренный
по крайней мере 3 теста, представляющих правильные равнобедренные, полученные как переставновки двух разных сторон
длина одной из сторон 0
длина одной из сторон <0
три положительных числа, сумма двух из сторон равна третьей
по крайней мере 3 теста со всеми тремя перестановками, когда сумма двух сторон равна третьей
три положительных числа, сумма двух из сторон < третьей
по крайней мере 3 теста из категории 9
все стороны = 0
по крайней мере один тест, содержащий нецелые значения
по крайней мере один тест, содержащий неверное кол-во значений
и вообще: указаны ли ожидаемые результаты каждого теста?
Описание слайда:
Простейший пример Программа выполняет ввод трех целых чисел и выводит сообщение о том, является ли треугольник с такими сторонами неравносторонним, равнобедренным или равносторонним правильный неравносторонний правильный равносторонний правильный равнобедренный по крайней мере 3 теста, представляющих правильные равнобедренные, полученные как переставновки двух разных сторон длина одной из сторон 0 длина одной из сторон <0 три положительных числа, сумма двух из сторон равна третьей по крайней мере 3 теста со всеми тремя перестановками, когда сумма двух сторон равна третьей три положительных числа, сумма двух из сторон < третьей по крайней мере 3 теста из категории 9 все стороны = 0 по крайней мере один тест, содержащий нецелые значения по крайней мере один тест, содержащий неверное кол-во значений и вообще: указаны ли ожидаемые результаты каждого теста?

Слайд 23





Подход к созданию тестов на примере
Программа вводит два числа и выводит их сумму.
В каждом из чисел 1 или 2 цифры
Ввод каждого числа завершается Enter
Ввод каждого числа отображается на экране
После ввода числе выводится сумма.
Программа запускается командой ADDER
Описание слайда:
Подход к созданию тестов на примере Программа вводит два числа и выводит их сумму. В каждом из чисел 1 или 2 цифры Ввод каждого числа завершается Enter Ввод каждого числа отображается на экране После ввода числе выводится сумма. Программа запускается командой ADDER

Слайд 24






Первый тест - базовый
Проблемы: 
Ввод запрашивается с помощью знака «?»
 - ош-ка пр-я: нет сопровод. инф-и, что вводить 
                                                      как остановить
                                                      что за программа
- ош-ка кодир-я: ответ в стороне от исх. дан
Описание слайда:
Первый тест - базовый Проблемы: Ввод запрашивается с помощью знака «?» - ош-ка пр-я: нет сопровод. инф-и, что вводить как остановить что за программа - ош-ка кодир-я: ответ в стороне от исх. дан

Слайд 25






99  +   99           198
-99 + -99           -198
99 + -14               85  большое  первое может повлиять
                                  на интерпр-ю второго
-38 + 99               61      - и +
56 + 99
9 +    9
0  +  0
0  + 23
-78  +  0
( каждая цифра встречается 1 раз)
Описание слайда:
99 + 99 198 -99 + -99 -198 99 + -14 85 большое первое может повлиять на интерпр-ю второго -38 + 99 61 - и + 56 + 99 9 + 9 0 + 0 0 + 23 -78 + 0 ( каждая цифра встречается 1 раз)

Слайд 26





Классы тестов
Классом можно назвать группу значений, которые программа обрабатывает одним и тем же способом. Граничные значения класса – те входные данные, на которых программа меняет свое поведение
Не всегда программа меняет свое поведение там, где предполагается
Границу нужно протестировать с двух сторон
Описание слайда:
Классы тестов Классом можно назвать группу значений, которые программа обрабатывает одним и тем же способом. Граничные значения класса – те входные данные, на которых программа меняет свое поведение Не всегда программа меняет свое поведение там, где предполагается Границу нужно протестировать с двух сторон

Слайд 27






серия недопустимых значений
серия проверки редактирования (стрелки, BS, Del)
граничные условия  
100 + 100
цифра ли: коды от 48 до 57 (мб опечатка 75).  
границы  / (47)    0  9  : (58)
Фантазии:
Enter + Enter
123456 + 0
+1 + ___2   (пробелы – до и после числа)
1,2 + 5
a + b
Ctrl-A + Ctrl-B
F1 + esc
Описание слайда:
серия недопустимых значений серия проверки редактирования (стрелки, BS, Del) граничные условия 100 + 100 цифра ли: коды от 48 до 57 (мб опечатка 75). границы / (47) 0 9 : (58) Фантазии: Enter + Enter 123456 + 0 +1 + ___2 (пробелы – до и после числа) 1,2 + 5 a + b Ctrl-A + Ctrl-B F1 + esc

Слайд 28





Характеристики хорошего теста
существует обоснованная вероятность выявления тестом ошибок
не избыточен
тестовый набор дб наилучшим в своей категории
не дб слишком простым или слишком сложным
Некорректное поведение программы должно проявляться с достаточной очевидностью
Описание слайда:
Характеристики хорошего теста существует обоснованная вероятность выявления тестом ошибок не избыточен тестовый набор дб наилучшим в своей категории не дб слишком простым или слишком сложным Некорректное поведение программы должно проявляться с достаточной очевидностью

Слайд 29






Классы эквивалентности
граничные условия
тестирование переходов между состояниями 
все меню и опции (трудно) => все вероятные последовательности действий пользователей
Условия гонок и другие временнЫе зависимости
запуск параллельно многих задач
нажатие клавиш не вовремя
тестирование производительности
нагрузочное тестирование
прогнозирование ошибок (не явл. границами, но могут вызвать сбой; интуиция) – error-guess testing
Описание слайда:
Классы эквивалентности граничные условия тестирование переходов между состояниями все меню и опции (трудно) => все вероятные последовательности действий пользователей Условия гонок и другие временнЫе зависимости запуск параллельно многих задач нажатие клавиш не вовремя тестирование производительности нагрузочное тестирование прогнозирование ошибок (не явл. границами, но могут вызвать сбой; интуиция) – error-guess testing

Слайд 30





Виды тестов
Базовый тест  -- smoke test
(простой тестовый пример)
Инвентаризация
(определить различные категории данных и создать тесты для каждого элемента категории)
Комбинированные тесты
(скомбинировать различные входные данные)
Граничные оценки
(оценить поведение программы при граничных значениях данных)
Ошибочные данные
(оценить отклик системы на ввод неправильных данных)
Нагрузочные тесты, создание напряжений
(попытаться вывести систему из строя)
Описание слайда:
Виды тестов Базовый тест -- smoke test (простой тестовый пример) Инвентаризация (определить различные категории данных и создать тесты для каждого элемента категории) Комбинированные тесты (скомбинировать различные входные данные) Граничные оценки (оценить поведение программы при граничных значениях данных) Ошибочные данные (оценить отклик системы на ввод неправильных данных) Нагрузочные тесты, создание напряжений (попытаться вывести систему из строя)

Слайд 31





Из Савина:
Методы генерирования тестов:
1. Черновик-чистовик (dirty list-white list);
2. Матричная раскладка (matrices);
3. Блок-схемы (flowchart).

Методы отбора тестов:
1. Оценка риска (risk estimate);
2. Эквивалентные классы (equivalent classes);
3. Пограничные значения (boundary values).
Описание слайда:
Из Савина: Методы генерирования тестов: 1. Черновик-чистовик (dirty list-white list); 2. Матричная раскладка (matrices); 3. Блок-схемы (flowchart). Методы отбора тестов: 1. Оценка риска (risk estimate); 2. Эквивалентные классы (equivalent classes); 3. Пограничные значения (boundary values).

Слайд 32


Виды и методы тестирования на разных стадиях разработки ПО, слайд №32
Описание слайда:



Похожие презентации
Mypresentation.ru
Загрузить презентацию