Презентация на тему: ТЕСТИРОВАНИЕ Тестирование – процесс испытания программы на тестах с целью

Реклама. Продолжение ниже
ТЕСТИРОВАНИЕ Тестирование – процесс испытания программы на тестах с целью
ТЕСТИРОВАНИЕ Тестирование – процесс испытания программы на тестах с целью
ТЕСТИРОВАНИЕ Тестирование – процесс испытания программы на тестах с целью
ТЕСТИРОВАНИЕ Тестирование – процесс испытания программы на тестах с целью
ТЕСТИРОВАНИЕ Тестирование – процесс испытания программы на тестах с целью
ТЕСТИРОВАНИЕ Тестирование – процесс испытания программы на тестах с целью
ТЕСТИРОВАНИЕ Тестирование – процесс испытания программы на тестах с целью
ТЕСТИРОВАНИЕ Тестирование – процесс испытания программы на тестах с целью
ТЕСТИРОВАНИЕ Тестирование – процесс испытания программы на тестах с целью
ТЕСТИРОВАНИЕ Тестирование – процесс испытания программы на тестах с целью
ТЕСТИРОВАНИЕ Тестирование – процесс испытания программы на тестах с целью
ТЕСТИРОВАНИЕ Тестирование – процесс испытания программы на тестах с целью
ТЕСТИРОВАНИЕ Тестирование – процесс испытания программы на тестах с целью
ТЕСТИРОВАНИЕ Тестирование – процесс испытания программы на тестах с целью
ТЕСТИРОВАНИЕ Тестирование – процесс испытания программы на тестах с целью
ТЕСТИРОВАНИЕ Тестирование – процесс испытания программы на тестах с целью
1/16
Средняя оценка: 4.5/5 (всего оценок: 86)
Код скопирован в буфер обмена
Скачать (88 Кб)
Реклама. Продолжение ниже
1

Первый слайд презентации

ТЕСТИРОВАНИЕ Тестирование – процесс испытания программы на тестах с целью обнаружения в ней семантических ошибок. Тест – контрольный пример, в котором для конкретных данных известен правильный (эталонный) ответ. (иначе, тест - совокупность входных данных и эталонного результата). Цель теста – выявить ошибку, если она имеется Результаты, фактически полученные при выполнении теста, сопоставляются с эталонными, и на основе этого делается вывод о наличии или отсутствии ошибки. Если результат, полученный на тесте, не совпадает с эталонным ответом, - обнаружена ошибка. Для получения программы, свободной от ошибок по результатам тестирования, необходимо более одного теста. Необходимое количество тестов определяется структурой программы и применяемой стратегией тестирования.

Изображение слайда
1/1
2

Слайд 2

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

Изображение слайда
1/1
3

Слайд 3

ВИДЫ ТЕСТИРОВАНИЯ Статическое тестирование - поиск ошибок путем просмотра текста программы и выполнения ее «вручную» («в уме» или на бумаге). Применяется в процессе разработки алгоритма. Детерминированное тестирование – подготовка тестов на основе некоторой методики и исполнение программы на них. Применяется когда для полноценных испытаний программы достаточно иметь ограниченное количество тестов. Различают «численное» и «символьное» тестирование. Может применяться как в процессе разработки алгоритма, так и в процессе испытаний и отладки на компьютере. Стохастическое тестирование – испытание только на компьютере с использованием генераторов тестов. Применяется когда, в силу сложности проверяемого алгоритма, необходимое количество тестов слишком велико. В этом случае вместо эталонных ответов задаются только области данных, которым должны принадлежать эталонные ответы. Количество тестов выбирается на основе методов теории планирования экспериментов.

Изображение слайда
1/1
4

Слайд 4

ОБЩИЕ ПРИНЦИПЫ ТЕСТИРОВАНИЯ Хорошим считается тест, который обнаруживает ошибку, если она имеется. Каждый тест должен быть предназначен для обнаружения отдельной ошибки алгоритма (и, по возможности, локализовать место в программе, где она была допущена) Тест построен неудачно, если он формирует одно и то же сообщение для нескольких ошибок Необходимо проверять, не делает ли программа того, чего не должна делать Тесты следует разрабатывать также и для неправильных или непредусмотренных входных данных Количество тестов должно быть таким, чтобы с их помощью можно было обнаружить все возможные ошибки алгоритма. Это можно обеспечить только за счет систематизированного подхода к их построению. В основе систематизации при построении лежит та или иная стратегия. Совокупность тестов, покрывающая все возможные ошибки, будем называть системой тестов Порядок применения тестов не безразличен и должен быть таким, чтобы облегчить локализацию одной ошибки, если в программе их несколько.

Изображение слайда
1/1
5

Слайд 5

СТРАТЕГИИ ТЕСТИРОВАНИЯ Стратегия тестирования - совокупность принципов, положенных в основу построения системы тестов. Наиболее популярные стратегии: Стратегия « черного ящика » : При разработке тестов известны только функции программы, но не известно, как они реализуются. (разработчик тестов знает, ЧТО должна делать программа, но не знает КАК). Стратегия используется и при разработке программы и при приемке заказчиком. Стратегия « белого ящика » опирается на знание внутренней структуры программы: разработчик тестов знает, и ЧТО и КАК делает программа. Стратегию применяют в процессе разработки алгоритма и при внесении изменений в готовую программу.

Изображение слайда
1/1
6

Слайд 6

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

Изображение слайда
1/1
7

Слайд 7

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

Изображение слайда
1/1
Реклама. Продолжение ниже
8

Слайд 8

№ Назначение Входные данные Правильный ответ [ Результат выполнения ] Таблица тестов: Входные условия Правильные классы Неправильные классы Таблица классов эквивалентности:

Изображение слайда
1/1
9

Слайд 9

Тесты: Входные условия Правильные классы Неправильные классы Значения коэффициентов b*b – 4* a*c >= 0, a <> 0 b*b – 4* a*c < 0, a <> 0 a = 0 Таблица классов эквивалентности: Пример 1. Решение квадратного уравнения (черный ящик) № Назначение Входные данные Эталон Результат 1 a = 0 { 0, 1, 2} Нет квадратного уравнения 2 b*b – 4*a*c< 0 {1, 1, 1} Нет действительных корней 3 b*b – 4*a*c > 0 {1, -5, 6 } Корни { 2, 3 } Подбор коэффициентов: x1 = 2; x2 = 3; = > (x – 2)*(x – 3) = 0 (x – 2)*(x – 3) = x*x – 2*x – 3*x + 6 = x*x – 5*x + 6 = > {a=1, b=-5, c=6}

Изображение слайда
1/1
10

Слайд 10

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

Изображение слайда
1/1
11

Слайд 11

Метод функциональных диаграмм К недостаткам рассмотренных методов относится то, что при их применении не предполагается проверять поведение программы при различных комбинациях входных данных. Метод функциональных диаграмм позволяет сделать это. Для этого на основе внешней спецификации строятся функциональные диаграммы, связывающие причины и следствия, а затем по этим диаграммам строятся тесты. Для получения представления о сути метода рекомендуется обратиться к работам: 1. Майерс Г. Надежность программного обеспечения. – М.: Мир. - 1980 г. 2. Майерс Г. Искусство тестирования программ/Пер. с англ. под ред. Б.А.Позина. – М.: Финансы и статистика. - 1982 г. Метод, основанный на предположениях об ошибке Метод чаще всего применяется в процессе отладки, т.е. в случае, когда выясняется, что программа ведет себя неправильно. При данном методе перечисляются возможные ошибки и ситуации, в результате которых могут эти ошибки появиться, и для них составляются тесты.

Изображение слайда
1/1
12

Слайд 12

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

Изображение слайда
1/1
13

Слайд 13

если ( a >1) и ( b =0) то x := x / a все если ( a =2) и ( x >1) то x:=x+1 все Разработаем тесты для проверки корректности данного фрагмента алгоритма Метод покрытия операторов: Тест 1. {a=2, b=0, x=6} Эталон: {x=4} Метод покрытия решений: Тест 1. {a=2, b=0, x=3} Эталон: x=2,5  Оба решения выполняются. Тест 2. {a=3, b=1, x=1} Эталон: x=1  Оба решения не выполняются.

Изображение слайда
1/1
14

Слайд 14

если ( a >1) и ( b =0) то x := x / a все если ( a =2) и ( x >1) то x:=x+1 все Первый блок если Второй блок если 1) a>1 и b=0 5) a=2 и x>1 2) a>1 и b<>0 6) a=2 и x<=1 3) a<=1 и b=0 7) a<>2 и x>1 4) a<=1 и b<>0 8) a<>2 и x<=1 Тест 1. {a=2, b=0, x=4} Эталон: x=3 Тест 2. {a=2, b=1, x=4} Эталон: x=5 Тест 3. {a=1, b=0, x=2} Эталон: x=2 Тест 4. {a=1, b=1, x=1} Эталон: x=1 Тесты: Метод комбинированного покрытия условий:

Изображение слайда
1/1
Реклама. Продолжение ниже
15

Слайд 15

Вопросы ?

Изображение слайда
1/1
16

Последний слайд презентации: ТЕСТИРОВАНИЕ Тестирование – процесс испытания программы на тестах с целью

p rogram sqroot; внутренние переменные : a, b, c : вещ {коэфф. уравнения} x 1, x 2 : вещ {корни} d : вещ {рабочая переменная} нач ало вывод('Квадратное уравнение'); вывод('введи коэффициенты '); если (а = 0) то вывод('Уравнение не квадратное.') иначе d := b * b - 4 * a * c; если (d < 0) то вывод('Действительных корней нет') иначе d := sqrt(d) x1 := (-b + d) / (2 * a) x2 := (-b - d) / 2 / a вывод('корень 1 = ', x 1) вывод('корень 2 = ', x 2) все все кон ец Дома: Построить в тетради тесты по стратегии белого ящика: методом «покрытие операторов» методом «покрытие решений»

Изображение слайда
1/1
Реклама. Продолжение ниже