Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


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

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

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

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

Презентация на тему Программная инженерия. Тестирование

Содержание

ТестированиеТестирование представляет собой процесс, демонстрирующий отсутствие ошибок в программе,Цель тестирования – показать, что программа корректно исполняет предусмотренные функции,Тестирование – это процесс, позволяющий убедиться в том, что программа выполняет свое назначение.
Программная инженерия Лекция 6. ТестированиеСоставитель: Эверстов В.В.Дата составления: 03/04/2014Дата модификации: 03/04/2014 ТестированиеТестирование представляет собой процесс, демонстрирующий отсутствие ошибок в программе,Цель тестирования – показать, ОпределенияЦель тестирования – показать, что программа корректно исполняет предусмотренные функции,Тестирование – это Тестирование Следствиятестирование – процесс деструктивный (т. е. обратный созидательному, конструктивному). Из определения следует Удачные тестыДля усиления определения тестирования проанализируем два понятия «удачный» и «неудачный».Тестовый прогон, Стратегия черного ящикаПри таком подходе обнаружение всех ошибок в программе является критерием Стратегия черного ящикаВполне вероятно, что останутся некоторые ошибки, например, метод может представить Следствиянельзя создать тест, гарантирующий отсутствие ошибок;разработка таких тестов противоречит экономическим требованиям. СледствияПоскольку исчерпывающее тестирование исключается, нашей целью должна стать максимизация результативности капиталовложений в Стратегия белого ящикаСтратегия белого ящика, или стратегия тестирования, управляемого логикой программы, позволяет Стратегия белого ящикаИсчерпывающему входному тестированию может быть поставлено в соответствие исчерпывающее тестирование НедостаткиЧисло не повторяющих друг друга маршрутов в программе – астрономическое,520+519+…+51=1014 Недостаткихотя исчерпывающее тестирование маршрутов является полным тестом и хотя каждый маршрут программы Принципы тестирования Принципы тестирования Классификация ошибокПо времени появления ошибки можно разделить на три вида:Структурные ошибки. К Классификация ошибокПо степени нарушения логики на:Синтаксические ошибки заключаются в нарушении правописания или Ошибки на этапе тестированияНа этапе тестирования ищутся прагматические ошибки периода выполнения, так Группы ошибокОшибка адресации – ошибка, состоящая в неправильной адресации данных (например, выход КлассификацияПо объекту тестированияФункциональное тестирование (functional testing)Тестирование производительности (performance testing)Юзабилити-тестирование (usability testing)Тестирование интерфейса Тестирование производительностиНагрузочное тестирование (load testing)Стресс-тестирование (stress testing)Тестирование стабильности (stability / endurance / soak testing) По знанию системыТестирование чёрного ящика (black box)Тестирование белого ящика (white box)Тестирование серого ящика (grey box) По степени автоматизацииРучное тестирование (manual testing)Автоматизированное тестирование (automated testing)Полуавтоматизированное тестирование (semiautomated testing) По степени изолированности компонентовКомпонентное (модульное) тестирование (component/unit testing)Интеграционное тестирование (integration testing)Системное тестирование (system/end-to-end testing) Нисходящее тестированиеНисходящее тестирование начинается с верхнего, головного класса (или модуля) программы. Восходящее тестированиеДанная стратегия предполагает начало тестирования с терминальных классов (т. е. классов, По времени проведенияАльфа-тестирование (alpha testing)Тестирование при приёмке (smoke testing)Тестирование новой функциональности (new Стратегия ТестированияЕсли спецификация содержит комбинации входных условий, то начать рекомендуется с применения Стратегия ТестированияОпределить правильные и неправильные классы эквивалентности для входных и выходных данных ИТОГПроектирование теста достаточно трудоемкий процесс. Оно включает в себя следующие этапы:задаться целью
Слайды презентации

Слайд 2 Тестирование
Тестирование представляет собой процесс, демонстрирующий отсутствие ошибок в

ТестированиеТестирование представляет собой процесс, демонстрирующий отсутствие ошибок в программе,Цель тестирования –

программе,
Цель тестирования – показать, что программа корректно исполняет предусмотренные

функции,
Тестирование – это процесс, позволяющий убедиться в том, что программа выполняет свое назначение.

Слайд 3 Определения
Цель тестирования – показать, что программа корректно исполняет

ОпределенияЦель тестирования – показать, что программа корректно исполняет предусмотренные функции,Тестирование –

предусмотренные функции,
Тестирование – это процесс, позволяющий убедиться в том,

что программа выполняет свое назначение.

Тестирование представляет собой процесс, демонстрирующий отсутствие ошибок в программе,





Слайд 4 Тестирование

Тестирование

Слайд 5 Следствия
тестирование – процесс деструктивный (т. е. обратный созидательному,

Следствиятестирование – процесс деструктивный (т. е. обратный созидательному, конструктивному). Из определения

конструктивному).
Из определения следует так же, как нужно строить

набор тестовых данных и кто должен (а кто не должен) тестировать данную программу.

Слайд 6 Удачные тесты
Для усиления определения тестирования проанализируем два понятия

Удачные тестыДля усиления определения тестирования проанализируем два понятия «удачный» и «неудачный».Тестовый

«удачный» и «неудачный».
Тестовый прогон, приведший к обнаружению ошибки, нельзя

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

Слайд 7 Стратегия черного ящика
При таком подходе обнаружение всех ошибок

Стратегия черного ящикаПри таком подходе обнаружение всех ошибок в программе является

в программе является критерием исчерпывающего входного тестирования. Последнее может

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


Слайд 8 Стратегия черного ящика
Вполне вероятно, что останутся некоторые ошибки,

Стратегия черного ящикаВполне вероятно, что останутся некоторые ошибки, например, метод может

например, метод может представить треугольник со сторонами 3, 4,

5 неразносторонним, а со сторонами 2, А, 2 –равносторонним. Для того, чтобы обнаружить подобные ошибки, нужно перебрать не только все разумные, но и все вообще возможные входные наборы. Следовательно, мы приходим к выводу, что для исчерпывающего тестирования задачи о треугольниках требуется бесконечное число тестов.

Слайд 9 Следствия
нельзя создать тест, гарантирующий отсутствие ошибок;
разработка таких тестов

Следствиянельзя создать тест, гарантирующий отсутствие ошибок;разработка таких тестов противоречит экономическим требованиям.

противоречит экономическим требованиям.


Слайд 10 Следствия
Поскольку исчерпывающее тестирование исключается, нашей целью должна стать

СледствияПоскольку исчерпывающее тестирование исключается, нашей целью должна стать максимизация результативности капиталовложений

максимизация результативности капиталовложений в тестирование (иными словами, максимизация числа

ошибок, обнаруживаемых одним тестом).
Для этого мы можем рассматривать внутреннюю структуру программы и делать некоторые разумные, но, конечно, не обладающие полной гарантией достоверности предположения.

Слайд 11 Стратегия белого ящика
Стратегия белого ящика, или стратегия тестирования,

Стратегия белого ящикаСтратегия белого ящика, или стратегия тестирования, управляемого логикой программы,

управляемого логикой программы, позволяет исследовать внутреннюю структуру программы.
В этом

случае тестирующий получает тестовые данные путем анализа логики программы


Слайд 12 Стратегия белого ящика
Исчерпывающему входному тестированию может быть поставлено

Стратегия белого ящикаИсчерпывающему входному тестированию может быть поставлено в соответствие исчерпывающее

в соответствие исчерпывающее тестирование маршрутов. Подразумевается, что программа проверена

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

Слайд 13 Недостатки
Число не повторяющих друг друга маршрутов в программе

НедостаткиЧисло не повторяющих друг друга маршрутов в программе – астрономическое,520+519+…+51=1014

– астрономическое,
520+519+…+51=1014


Слайд 14 Недостатки
хотя исчерпывающее тестирование маршрутов является полным тестом и

Недостаткихотя исчерпывающее тестирование маршрутов является полным тестом и хотя каждый маршрут

хотя каждый маршрут программы может быть проверен, сама программа

будет содержать ошибки.
Во-первых, исчерпывающее тестирование маршрутов не может дать гарантии того, что программа соответствует описанию.
Во-вторых, программа может быть неверной в силу того, что пропущены некоторые маршруты. Исчерпывающее тестирование маршрутов не обнаружит их отсутствия.
В-третьих, исчерпывающее тестирование маршрутов не может обнаружить ошибок, появление которых зависит от обрабатываемых данных. Существует множество примеров таких ошибок.

Слайд 15 Принципы тестирования

Принципы тестирования

Слайд 16 Принципы тестирования

Принципы тестирования

Слайд 17 Классификация ошибок
По времени появления ошибки можно разделить на

Классификация ошибокПо времени появления ошибки можно разделить на три вида:Структурные ошибки.

три вида:
Структурные ошибки. К данному типу ошибок относятся такие

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

Слайд 18 Классификация ошибок
По степени нарушения логики на:
Синтаксические ошибки заключаются

Классификация ошибокПо степени нарушения логики на:Синтаксические ошибки заключаются в нарушении правописания

в нарушении правописания или пунктуации в записи выражений, операторов

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

Слайд 19 Ошибки на этапе тестирования
На этапе тестирования ищутся прагматические

Ошибки на этапе тестированияНа этапе тестирования ищутся прагматические ошибки периода выполнения,

ошибки периода выполнения, так как остальные выявляются в процессе

программирования.

Слайд 20 Группы ошибок
Ошибка адресации – ошибка, состоящая в неправильной

Группы ошибокОшибка адресации – ошибка, состоящая в неправильной адресации данных (например,

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

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


Слайд 21 Классификация
По объекту тестирования
Функциональное тестирование (functional testing)
Тестирование производительности (performance

КлассификацияПо объекту тестированияФункциональное тестирование (functional testing)Тестирование производительности (performance testing)Юзабилити-тестирование (usability testing)Тестирование

testing)
Юзабилити-тестирование (usability testing)
Тестирование интерфейса пользователя (UI testing)
Тестирование безопасности (security

testing)
Тестирование локализации (localization testing)
Тестирование совместимости (compatibility testing)

Слайд 22 Тестирование производительности
Нагрузочное тестирование (load testing)
Стресс-тестирование (stress testing)
Тестирование стабильности

Тестирование производительностиНагрузочное тестирование (load testing)Стресс-тестирование (stress testing)Тестирование стабильности (stability / endurance / soak testing)

(stability / endurance / soak testing)


Слайд 23 По знанию системы
Тестирование чёрного ящика (black box)
Тестирование белого

По знанию системыТестирование чёрного ящика (black box)Тестирование белого ящика (white box)Тестирование серого ящика (grey box)

ящика (white box)
Тестирование серого ящика (grey box)


Слайд 24 По степени автоматизации
Ручное тестирование (manual testing)
Автоматизированное тестирование (automated

По степени автоматизацииРучное тестирование (manual testing)Автоматизированное тестирование (automated testing)Полуавтоматизированное тестирование (semiautomated testing)

testing)
Полуавтоматизированное тестирование (semiautomated testing)


Слайд 25 По степени изолированности компонентов
Компонентное (модульное) тестирование (component/unit testing)
Интеграционное

По степени изолированности компонентовКомпонентное (модульное) тестирование (component/unit testing)Интеграционное тестирование (integration testing)Системное тестирование (system/end-to-end testing)

тестирование (integration testing)
Системное тестирование (system/end-to-end testing)


Слайд 26 Нисходящее тестирование
Нисходящее тестирование начинается с верхнего, головного класса

Нисходящее тестированиеНисходящее тестирование начинается с верхнего, головного класса (или модуля) программы.

(или модуля) программы.


Слайд 27 Восходящее тестирование
Данная стратегия предполагает начало тестирования с терминальных

Восходящее тестированиеДанная стратегия предполагает начало тестирования с терминальных классов (т. е.

классов (т. е. классов, не использующих методы других классов).


Слайд 28 По времени проведения
Альфа-тестирование (alpha testing)
Тестирование при приёмке (smoke

По времени проведенияАльфа-тестирование (alpha testing)Тестирование при приёмке (smoke testing)Тестирование новой функциональности

testing)
Тестирование новой функциональности (new feature testing)
Регрессионное тестирование (regression testing)
Тестирование

при сдаче (acceptance testing)
Бета-тестирование (beta testing)

Слайд 29 Стратегия Тестирования
Если спецификация содержит комбинации входных условий, то

Стратегия ТестированияЕсли спецификация содержит комбинации входных условий, то начать рекомендуется с

начать рекомендуется с применения метода функциональных диаграмм. Однако, данный

метод достаточно трудоемок.
В любом случае необходимо использовать анализ граничных значений. Этот метод включает анализ граничных значений входных и выходных переменных. Анализ граничных значений дает набор дополнительных тестовых условий.

Слайд 30 Стратегия Тестирования
Определить правильные и неправильные классы эквивалентности для

Стратегия ТестированияОпределить правильные и неправильные классы эквивалентности для входных и выходных

входных и выходных данных и дополнить, если это необходимо,

тесты, построенные на предыдущих шагах.
Для получения дополнительных тестов рекомендуется использовать метод предположения об ошибке.
Проверить логику программы на полученном наборе тестов. Для этого нужно воспользоваться критерием покрытия решений, покрытия условий, покрытия решений/условий либо комбинаторного покрытия условий (последний критерий является более полным).

  • Имя файла: programmnaya-inzheneriya-testirovanie.pptx
  • Количество просмотров: 104
  • Количество скачиваний: 0