Презентация Тестирование и отладка программных средств онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Тестирование и отладка программных средств абсолютно бесплатно. Урок-презентация на эту тему содержит всего 91 слайд. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Тестирование и отладка программных средств
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:91 слайд
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:603.50 kB
- Просмотров:101
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№2 слайд
![Понятие тестирования](/documents_6/c6937e3a317afc15979203186b9e820e/img1.jpg)
Содержание слайда: Понятие тестирования
Тестирование – это проверка соответствия свойств программного продукта спецификации требований
Основным приемом тестирования является выполнение программ на некотором наборе данных, для которого заранее известен получаемый результат или известны правила поведения этих программ
№3 слайд
![Тестовые наборы Совокупность](/documents_6/c6937e3a317afc15979203186b9e820e/img2.jpg)
Содержание слайда: Тестовые наборы
Совокупность исходных данных и ожидаемого результата называется тестовым вариантом или просто тестом
Каждый тест представляет собой вариант взаимодействия с тестируемой системой и проверки корректности ее поведения
Хорошим считается тест, обеспечивающий высокую вероятность обнаружения ошибки
№5 слайд
![Успешность тестирования Что](/documents_6/c6937e3a317afc15979203186b9e820e/img4.jpg)
Содержание слайда: Успешность тестирования
Что считать удачным исходом тестирования?
С точки зрения тестировщика – это обнаружение какого-либо несоответствия требованиям (ошибки при выполнении функции, недостаточной производительности, низкого качества пользовательского интерфейса)
С точки зрения разработчика, напротив, - отсутствие выявленных дефектов
№6 слайд
![Полное тестирование Полным](/documents_6/c6937e3a317afc15979203186b9e820e/img5.jpg)
Содержание слайда: Полное тестирование
Полным или исчерпывающим тестированием называется проверка всех вариантов взаимодействия с системой
Это идеальный случай, который, разумеется, не встречается на практике
Утверждение о правильности программы, т.е. о ее полном соответствии спецификациям требований, можно сделать только по результатам исчерпывающего тестирования
№7 слайд
![Тестовое покрытие Практически](/documents_6/c6937e3a317afc15979203186b9e820e/img6.jpg)
Содержание слайда: Тестовое покрытие
Практически оценивается только степень соответствия программы ее спецификации
Таким образом, можно лишь утверждать, что такое соответствие имеет место с определенной вероятностью
Для оценки степени полноты тестирования вводится понятие уровня тестового покрытия
№9 слайд
![Понятие отладки Отладка это](/documents_6/c6937e3a317afc15979203186b9e820e/img8.jpg)
Содержание слайда: Понятие отладки
Отладка это деятельность, направленная на обнаружение причины возникновения того или иного дефекта программного продукта и на ее устранение
Тестирование и отладка – это тесно связанные, но разные виды деятельности
Далее речь, в основном будет идти о тестировании соответствия программы функциональным требованиям, т.е. о поиске ошибок в выполнении функций
№10 слайд
![Раннее тестирование Никакое](/documents_6/c6937e3a317afc15979203186b9e820e/img9.jpg)
Содержание слайда: Раннее тестирование
Никакое тестирование не способно обнаружить всех ошибок в программе, но правильная организация этого процесса может существенно сократить их число
Большинство моделей жизненного цикла предусматривает начало тестирования уже на ранних стадиях процесса разработки
Это объясняется тем обстоятельством, что чем раньше обнаружена ошибка, тем легче и дешевле ее исправить
№18 слайд
![Пример Рассмотрим процедуру](/documents_6/c6937e3a317afc15979203186b9e820e/img17.jpg)
Содержание слайда: Пример
Рассмотрим процедуру добавления элемента в упорядоченный линейный список
Пронумеруем фрагменты исходного текста процедуры, которые будут соответствовать отдельным вершинам потокового графа
Каждое из простых условий, входящих в составное, рассматривается как отдельный предикатный узел
№19 слайд
![Текст процедуры void add int](/documents_6/c6937e3a317afc15979203186b9e820e/img18.jpg)
Содержание слайда: Текст процедуры
void add (int val)
{ // создать новый элемент
1 elem *p = new elem; p->info = val;
2 if (first == NULL)
{ // список пуст
3 p->next = NULL; first = p; }
else
{ // список не пуст
4 elem *q = first;
5,6 while (q->next != NULL && q->info < val)
7 q = q->next;
8 p->next = q->next; q->next = p; // вставить после указанного
9 if (p->info < q->info)
10 { // перестановка значений
p->info = q->info; q->info = val; }
}
11 return;
}
№21 слайд
![Базовое множество путей](/documents_6/c6937e3a317afc15979203186b9e820e/img20.jpg)
Содержание слайда: Базовое множество путей
Множество независимых путей в потоковом графе, ведущих от начального узла к конечному, называется базовым
Мощность этого множества называется его цикломатической сложностью
Тестовый набор, обеспечивающий проверку всех путей базового множества, гарантирует хотя бы однократное выполнение каждого из операторов процедуры
№22 слайд
![Вычисление цикломатической](/documents_6/c6937e3a317afc15979203186b9e820e/img21.jpg)
Содержание слайда: Вычисление цикломатической сложности
Цикломатическую сложность можно определить одним из двух методов:
по формуле E-V+2, где E – число дуг, V – число узлов;
по формуле p+1, где p – число предикатных узлов
Число тестовых вариантов, необходимых для полного покрытия равно цикломатической сложности
№23 слайд
![Итог Достоинства возможность](/documents_6/c6937e3a317afc15979203186b9e820e/img22.jpg)
Содержание слайда: Итог
Достоинства:
возможность предварительной оценки требуемого уровня тестового покрытия;
возможность учета особенностей программных ошибок;
высокая степень локализации ошибок
Недостатки:
сложность подготовки тестовых наборов;
анализ результатов тестирования требует знания деталей реализации
№28 слайд
![Формирование тестов](/documents_6/c6937e3a317afc15979203186b9e820e/img27.jpg)
Содержание слайда: Формирование тестов
Разработка функциональных тестов базируется на принципах:
на каждую используемую функцию или возможность хотя бы один тест,
на каждую область и на каждую границу изменения какой-либо входной величины хотя бы один тест,
на каждую особую (исключительную) ситуацию, указанную в спецификациях, хотя бы один тест.
№30 слайд
![Классы эквивалентности](/documents_6/c6937e3a317afc15979203186b9e820e/img29.jpg)
Содержание слайда: Классы эквивалентности
Область исходных данных программы разбивается на классы эквивалентности
Класс эквивалентности – это подмножество исходных данных, в пределах которого поведение программы одинаково
Иначе говоря для любых двух наборов исходных данных из одного класса эквивалентности реализуется один и тот же базовый путь
№31 слайд
![Формирование классов Классы](/documents_6/c6937e3a317afc15979203186b9e820e/img30.jpg)
Содержание слайда: Формирование классов
Классы эквивалентности определяются по спецификациям входных данных в случаях, когда эти данные ограничены:
диапазоном значений (m..n);
множеством значений {a,b,c};
булевым множеством (true,false)
В первом случае имеется три класса эквивалентности, во 2-м и 3-м – по два
На каждый класс эквивалентности - тест
№33 слайд
![Правила анализа Если условия](/documents_6/c6937e3a317afc15979203186b9e820e/img32.jpg)
Содержание слайда: Правила анализа
Если условия ввода задают непрерывный диапазон значений m..n, то тестовые варианты создаются для:
значений m и n,
значений m-ε и n+ε
Если условия ввода задают дискретный набор значений, то тестовые варианты создаются для:
проверки min и max значений,
проверки значений <min и >max
№34 слайд
![Правила анализа Правила и](/documents_6/c6937e3a317afc15979203186b9e820e/img33.jpg)
Содержание слайда: Правила анализа
Правила 1 и 2 применяются и к условиям вывода
Если внутренние структуры данных имеют предписанные границы, то создаются тесты, проверяющие эти структуры на их границах
Если входные и выходные данные суть упорядоченные множества, то тестируется обработка их первых и последних элементов
№35 слайд
![Пример Построить классы](/documents_6/c6937e3a317afc15979203186b9e820e/img34.jpg)
Содержание слайда: Пример
Построить классы эквивалентности для процедуры бинарного поиска Key в M
Предусловия:
M упорядочен;
M имеет не менее одного элемента;
нижняя граница <= верхняя граница
Постусловия:
элемент найден – Result=True, I=номер;
элемент не найден – Result=False, I не определено;
№36 слайд
![Дерево разбиения Формирование](/documents_6/c6937e3a317afc15979203186b9e820e/img35.jpg)
Содержание слайда: Дерево разбиения
Формирование классов эквивалентности выполняется с помощью дерева разбиений, листья которого дают искомые классы эквивалентности
Последовательность построения дерева:
проверка выполнения предусловий;
проверка выполнения постусловий;
анализ специальных требований;
анализ граничных условий
№37 слайд
![Специальные требования](/documents_6/c6937e3a317afc15979203186b9e820e/img36.jpg)
Содержание слайда: Специальные требования
Учитывают специфику выполнения конкретных алгоритмов обработки
В нашем примере к числу специальных требований можно отнести следующие эквивалентные разбиения:
массив из одного элемента;
массив из четного числа элементов;
массив из нечетного числа элементов
№38 слайд
![Граничные условия](/documents_6/c6937e3a317afc15979203186b9e820e/img37.jpg)
Содержание слайда: Граничные условия
Формулируются для узлов уровня специальных требований
В нашем примере возможны следующие классы эквивалентности:
искомое значение хранится в первом элементе массива;
искомое значение хранится в последнем элементе массива;
искомое значение хранится в промежуточном элементе массива
№41 слайд
![Соотношение подходов](/documents_6/c6937e3a317afc15979203186b9e820e/img40.jpg)
Содержание слайда: Соотношение подходов
Структурное и функциональное тестирование не альтернативные, а взаимодополняющие подходы
Поэтому оптимальная стратегия проектирования тестов должна сочетать их в себе (тестирование «серого ящика»)
Обычно на начальных стадиях тестирования применяют методы структурного тестирования, а на поздних – функционального
№42 слайд
![Стадии тестирования В](/documents_6/c6937e3a317afc15979203186b9e820e/img41.jpg)
Содержание слайда: Стадии тестирования
В процессе разработки программного средства обычно выделяют три стадии тестирования:
модульное (компонентное),
интеграционное (комплексное),
системное (оценочное)
Эти стадии различаются как объемом тестируемой части ПС, так и уровнем диагностируемых ошибок
№44 слайд
![Модульное тестирование](/documents_6/c6937e3a317afc15979203186b9e820e/img43.jpg)
Содержание слайда: Модульное тестирование
Модульному тестированию подвергаются небольшие модули (процедуры, классы и т.п.)
Тестирование осуществляется по методу «белого ящика» и проверке подвергаются:
интерфейс модуля;
внутренние структуры данных;
независимые пути выполнения;
граничные условия;
пути обработки ошибок
№46 слайд
![Драйверы и заглушки Драйвер](/documents_6/c6937e3a317afc15979203186b9e820e/img45.jpg)
Содержание слайда: Драйверы и заглушки
Драйвер – это управляющая программа, которая:
принимает исходные данные и ожидаемые результаты тестов,
вызывает тестируемый модуль,
преобразует полученные от него реальные результаты в удобную для анализа форму
Заглушка – это процедура, реализующая интерфейс замещаемого модуля и, возможно, выполняющая минимальную обработку данных
№49 слайд
![Компонентное тестирование](/documents_6/c6937e3a317afc15979203186b9e820e/img48.jpg)
Содержание слайда: Компонентное тестирование
Распространение компонентных технологий породило термин компонентное тестирование как частный случай интеграционного тестирования
В этом случае тестированию подвергаются компоненты - обладающие определенной функциональностью и готовые к использованию фрагменты кода
№52 слайд
![Нисходящее тестирование Те](/documents_6/c6937e3a317afc15979203186b9e820e/img51.jpg)
Содержание слайда: Нисходящее тестирование
Те модули, к которым может обращаться головной, заменяются их отладочными имитаторами (заглушками)
Затем одна из заглушек заменяется реальным модулем и выполняется набор тестов, проверяющих эту структуру
Процесс подключения продолжается вплоть до получения нужной конфигурации
№54 слайд
![Восходящее тестирование](/documents_6/c6937e3a317afc15979203186b9e820e/img53.jpg)
Содержание слайда: Восходящее тестирование
Модули нижнего уровня объединяются в несколько кластеров, каждый из которых выполняет определенную подфункцию
Для каждого кластера создается программу-драйвер
Тестируется кластер
Драйвер удаляется, а кластеры объединяются в структуру движением вверх
№56 слайд
![Системное тестирование](/documents_6/c6937e3a317afc15979203186b9e820e/img55.jpg)
Содержание слайда: Системное тестирование
Полностью реализованный программный продукт подвергается системному тестированию
На этом этапе тестировщика интересует программная система в целом, как ее видит конечный пользователь
Основой для тестов служат общие требования к системе – корректность реализации функций, производительность, время отклика, устойчивость к сбоям и т.д.
№58 слайд
![Критерии тестового покрытия](/documents_6/c6937e3a317afc15979203186b9e820e/img57.jpg)
Содержание слайда: Критерии тестового покрытия
Для системного и компонентного тестирования используются специфические виды критериев тестового покрытия:
тестирование всех типовых сценариев работы;
тестирование всех сценариев с нештатными ситуациями;
тестирование попарных композиций сценариев и т.д.
№59 слайд
![Альфа-тестирование Данная](/documents_6/c6937e3a317afc15979203186b9e820e/img58.jpg)
Содержание слайда: Альфа-тестирование
Данная стадия включает тестирование системы конечным пользователем, так называемое альфа- и бета-тестирование
Альфа-тестирование - тестирование проводимое заказчиком в организации разработчика
Разработчик фиксирует все выявленные ошибки и недостатки использования
№60 слайд
![Бета-тестирование](/documents_6/c6937e3a317afc15979203186b9e820e/img59.jpg)
Содержание слайда: Бета-тестирование
Бета-тестирование - опробование программного продукта потенциальными пользователями на реальных задачах
О найденных ошибках и замечаниях пользователь сообщают разработчику
Тестируемая таким образом версия программного средства называется бета-версией и, как правило, она предшествует коммерческому выпуску продукта
№62 слайд
![Отличия от классического](/documents_6/c6937e3a317afc15979203186b9e820e/img61.jpg)
Содержание слайда: Отличия от классического
Тестирование объектно-ориентированных программных средств имеет ряд существенных отличий от классического тестирования:
расширение области применения тестирования;
изменение методики тестирования;
учет особенностей ООП при проектировании тестовых вариантов
№63 слайд
![Расширение области применения](/documents_6/c6937e3a317afc15979203186b9e820e/img62.jpg)
Содержание слайда: Расширение области применения
Разработка объектно-ориентированного программного средства начинается с создания его визуальных моделей
Модели этапа анализа и этапа проектирования определяют основные функциональные и структурные свойства разрабатываемой системы, поэтому
Необходимо проводить тестирование этих моделей !
№66 слайд
![Правильность модели](/documents_6/c6937e3a317afc15979203186b9e820e/img65.jpg)
Содержание слайда: Правильность модели
Синтаксическая правильность связана с корректным использованием нотаций языка описания моделей
Семантическая правильность определяется соответствием модели реальной системе и связанной с ней задаче
Тестирование подтверждает, что модель правильна в отношении конкретного тестового случая, если результат его выполнения является ожидаемым.
№67 слайд
![Полнота модели Мера наличия в](/documents_6/c6937e3a317afc15979203186b9e820e/img66.jpg)
Содержание слайда: Полнота модели
Мера наличия в модели необходимых элементов
Тестирование показывает, существуют ли сценарии, которые не могут быть представлены элементами, входящими в состав модели
Модель считается полной, если результаты выполнения тестовых случаев могут быть адекватно представлены содержимым самой модели
№69 слайд
![Изменение методики](/documents_6/c6937e3a317afc15979203186b9e820e/img68.jpg)
Содержание слайда: Изменение методики тестирования
Как и для процедурных, для объектно-ориентированных программных систем выделяют три стадии тестирования:
модульное (компонентное),
интеграционное (комплексное),
системное (оценочное)
Изменение методики тестирования касается, в основном, двух первых стадий
№70 слайд
![Модульное тестирование](/documents_6/c6937e3a317afc15979203186b9e820e/img69.jpg)
Содержание слайда: Модульное тестирование
Наименьшим тестируемым элементом объектно-ориентированного ПО является не процедура, а класс
Поскольку класс содержит набор свойств и методов, образующих единую сущность, изолированное тестирование методов не имеет смысла
Методы должны тестироваться в контексте частных свойств и операций класса
№71 слайд
![Тестирование классов](/documents_6/c6937e3a317afc15979203186b9e820e/img70.jpg)
Содержание слайда: Тестирование классов
Автономное тестирование класса предполагает разработку драйвера, который будет:
создавать экземпляры тестируемого класса;
вызывать методы тестируемого класса и передавать им фактические параметры из тестовых вариантов;
принимать результаты выполнения тестируемых методов
№72 слайд
![Тестовый драйвер Существует](/documents_6/c6937e3a317afc15979203186b9e820e/img71.jpg)
Содержание слайда: Тестовый драйвер
Существует несколько способов реализации тестового драйвера:
в виде отдельного класса – тестирование public-части класса;
в виде класса, наследуемого от тестируемого – тестирование protected-части;
в виде статического метода внутри тестируемого класса – тестирование private-части
№73 слайд
![Тестирующий класс Методы](/documents_6/c6937e3a317afc15979203186b9e820e/img72.jpg)
Содержание слайда: Тестирующий класс
Методы этого класса создают объекты тестируемого класса и вызывают их методы, в том числе и статические
Преимущества:
возможность многократного использования драйвера при тестировании классов-наследников;
достижение максимальной компактности и быстродействия рабочего кода
№74 слайд
![Тестирующий метод](/documents_6/c6937e3a317afc15979203186b9e820e/img73.jpg)
Содержание слайда: Тестирующий метод
Преимущества:
непосредственная близость программного кода драйвера к программному коду тестируемого класса;
возможность многократного использования кода драйвера (в силу наследования) для тестирования классов-наследников
Недостаток:
необходимость отделения программного кода драйвера от поставляемого ПО
№76 слайд
![Тестирование классов Решение](/documents_6/c6937e3a317afc15979203186b9e820e/img75.jpg)
Содержание слайда: Тестирование классов
Решение об автономном тестировании класса принимается с учетом следующих факторов:
роли класса в системе;
сложности класса, измеряемой числом состояний, операций и связей с другими классами;
объема трудозатрат, связанных с разработкой тестового драйвера
№78 слайд
![Сложность класса С точки](/documents_6/c6937e3a317afc15979203186b9e820e/img77.jpg)
Содержание слайда: Сложность класса
С точки зрения взаимодействия можно выделить два типа классов:
примитивные классы;
непримитивные классы
Экземпляры примитивного класса можно использовать без необходимости создания экземпляров каких-либо других классов, в том числе и данного класса
Такие объекты представляют собой простейшие компоненты системы
№80 слайд
![Сложность создания драйвера](/documents_6/c6937e3a317afc15979203186b9e820e/img79.jpg)
Содержание слайда: Сложность создания драйвера
Трудоемкость создания тестового драйвера тем выше, чем выше степень его связности с другими классами
Тем не менее, он должен удовлетворять следующим требованиям:
иметь сравнительно простую структуру;
быть удобным в сопровождении;
легко модифицируемым в ответ на изменения в спецификации тестируемого класса
№85 слайд
![Тестирование потоков Объектом](/documents_6/c6937e3a317afc15979203186b9e820e/img84.jpg)
Содержание слайда: Тестирование потоков
Объектом интеграции является набор классов, обслуживающих единичный ввод данных в систему
При наличии в системе нескольких потоков ввода средства обслуживания каждого из них тестируются отдельно
Для контроля побочных эффектов применяют регрессионное тестирование
№88 слайд
![Среда тестирования](/documents_6/c6937e3a317afc15979203186b9e820e/img87.jpg)
Содержание слайда: Среда тестирования
Тестирование кластеров можно проводить:
непосредственно в среде приложения;
в среде, специально созданной тестирующим драйвером
В первом случае:
требуется выделять результаты тестирования из общих информационных потоков в программной системе;
результаты тестирования соответствуют реальным условиям эксплуатации
Скачать все slide презентации Тестирование и отладка программных средств одним архивом:
Похожие презентации
-
Отладка и тестирование программного продукта на уровне модулей. Трансляторы
-
Тестирование и отладка программного обеспечения. Нормативно-правовая база
-
Тестирование программных средств
-
Программные средства обработки сигналов аускультации сердца и легких
-
Тестирование программного обеспечения. История и основные понятия
-
Тестирование и тестировщики. Категории программных ошибок
-
Стандартизация разработки программных средств
-
Знакомство с редактором Visual Basic. Принципы создания собственных макросов. Средства отладки
-
Инструментальные программные средства. Системы программирования
-
Средства отладки программ. Контроль текста программы