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

Нажмите для полного просмотра!
Тестирование и отладка программных средств, слайд №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Тестирование и отладка программных средств, слайд №33Тестирование и отладка программных средств, слайд №34Тестирование и отладка программных средств, слайд №35Тестирование и отладка программных средств, слайд №36Тестирование и отладка программных средств, слайд №37Тестирование и отладка программных средств, слайд №38Тестирование и отладка программных средств, слайд №39Тестирование и отладка программных средств, слайд №40Тестирование и отладка программных средств, слайд №41Тестирование и отладка программных средств, слайд №42Тестирование и отладка программных средств, слайд №43Тестирование и отладка программных средств, слайд №44Тестирование и отладка программных средств, слайд №45Тестирование и отладка программных средств, слайд №46Тестирование и отладка программных средств, слайд №47Тестирование и отладка программных средств, слайд №48Тестирование и отладка программных средств, слайд №49Тестирование и отладка программных средств, слайд №50Тестирование и отладка программных средств, слайд №51Тестирование и отладка программных средств, слайд №52Тестирование и отладка программных средств, слайд №53Тестирование и отладка программных средств, слайд №54Тестирование и отладка программных средств, слайд №55Тестирование и отладка программных средств, слайд №56Тестирование и отладка программных средств, слайд №57Тестирование и отладка программных средств, слайд №58Тестирование и отладка программных средств, слайд №59Тестирование и отладка программных средств, слайд №60Тестирование и отладка программных средств, слайд №61Тестирование и отладка программных средств, слайд №62Тестирование и отладка программных средств, слайд №63Тестирование и отладка программных средств, слайд №64Тестирование и отладка программных средств, слайд №65Тестирование и отладка программных средств, слайд №66Тестирование и отладка программных средств, слайд №67Тестирование и отладка программных средств, слайд №68Тестирование и отладка программных средств, слайд №69Тестирование и отладка программных средств, слайд №70Тестирование и отладка программных средств, слайд №71Тестирование и отладка программных средств, слайд №72Тестирование и отладка программных средств, слайд №73Тестирование и отладка программных средств, слайд №74Тестирование и отладка программных средств, слайд №75Тестирование и отладка программных средств, слайд №76Тестирование и отладка программных средств, слайд №77Тестирование и отладка программных средств, слайд №78Тестирование и отладка программных средств, слайд №79Тестирование и отладка программных средств, слайд №80Тестирование и отладка программных средств, слайд №81Тестирование и отладка программных средств, слайд №82Тестирование и отладка программных средств, слайд №83Тестирование и отладка программных средств, слайд №84Тестирование и отладка программных средств, слайд №85Тестирование и отладка программных средств, слайд №86Тестирование и отладка программных средств, слайд №87Тестирование и отладка программных средств, слайд №88Тестирование и отладка программных средств, слайд №89Тестирование и отладка программных средств, слайд №90Тестирование и отладка программных средств, слайд №91

Содержание

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

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


Слайд 1





Тестирование и отладка программных средств
Лекция 10
Описание слайда:
Тестирование и отладка программных средств Лекция 10

Слайд 2





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

Слайд 3





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

Слайд 4





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

Слайд 5





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

Слайд 6





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

Слайд 7





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

Слайд 8





Тестовое покрытие
Иначе говоря, уровень тестового покрытия определяет степень охвата данным тестовым набором различных вариантов взаимодействия с программным средством
Описание слайда:
Тестовое покрытие Иначе говоря, уровень тестового покрытия определяет степень охвата данным тестовым набором различных вариантов взаимодействия с программным средством

Слайд 9





Понятие отладки
Отладка  это деятельность, направленная на обнаружение причины возникновения того или иного дефекта программного продукта и на ее устранение
Тестирование и отладка – это тесно связанные, но разные виды деятельности
Далее речь, в основном будет идти о тестировании соответствия программы функциональным требованиям, т.е. о поиске ошибок в выполнении функций
Описание слайда:
Понятие отладки Отладка  это деятельность, направленная на обнаружение причины возникновения того или иного дефекта программного продукта и на ее устранение Тестирование и отладка – это тесно связанные, но разные виды деятельности Далее речь, в основном будет идти о тестировании соответствия программы функциональным требованиям, т.е. о поиске ошибок в выполнении функций

Слайд 10





Раннее тестирование
Никакое тестирование не способно  обнаружить всех ошибок в программе, но правильная организация этого процесса может существенно сократить их число
Большинство моделей жизненного цикла предусматривает начало тестирования уже на ранних стадиях процесса разработки
Это объясняется тем обстоятельством, что чем раньше обнаружена ошибка, тем легче и дешевле ее исправить
Описание слайда:
Раннее тестирование Никакое тестирование не способно обнаружить всех ошибок в программе, но правильная организация этого процесса может существенно сократить их число Большинство моделей жизненного цикла предусматривает начало тестирования уже на ранних стадиях процесса разработки Это объясняется тем обстоятельством, что чем раньше обнаружена ошибка, тем легче и дешевле ее исправить

Слайд 11





Раннее тестирование
Описание слайда:
Раннее тестирование

Слайд 12





Классические методы тестирования
Основополагающие принципы тестирования были разработаны в рамках структурного подхода к созданию программных средств 
Соответствующие им методы тестирования получили название классических
Описание слайда:
Классические методы тестирования Основополагающие принципы тестирования были разработаны в рамках структурного подхода к созданию программных средств Соответствующие им методы тестирования получили название классических

Слайд 13





Формирование тестов
Соответственно, существуют два принципиально различных подхода к формированию тестовых наборов:
функциональный,
структурный
Описание слайда:
Формирование тестов Соответственно, существуют два принципиально различных подхода к формированию тестовых наборов: функциональный, структурный

Слайд 14





СТРУКТУРНОЕ ТЕСТИРОВАНИЕ
Описание слайда:
СТРУКТУРНОЕ ТЕСТИРОВАНИЕ

Слайд 15





Структурное тестирование
Базируется на знании внутренней логической структуры тестируемого ПС вплоть до уровня исходных текстов
Описание слайда:
Структурное тестирование Базируется на знании внутренней логической структуры тестируемого ПС вплоть до уровня исходных текстов

Слайд 16





Назначение
Основное назначение структурного тестирования – проверка внутренней логики ПС
Структурные тесты проверяют:
корректность построения отдельных элементов и правильность их взаимодействия
управляющие и информационные связи между элементами программы
Описание слайда:
Назначение Основное назначение структурного тестирования – проверка внутренней логики ПС Структурные тесты проверяют: корректность построения отдельных элементов и правильность их взаимодействия управляющие и информационные связи между элементами программы

Слайд 17





Формирование тестов
Тесты формируются на основе анализа внутренней структуры программы
Одним из способов фиксации этой структуры является потоковый граф:
узлы графа соответствуют операторам или предикатам;
дуги графа отображают потоки управления в программе;
Описание слайда:
Формирование тестов Тесты формируются на основе анализа внутренней структуры программы Одним из способов фиксации этой структуры является потоковый граф: узлы графа соответствуют операторам или предикатам; дуги графа отображают потоки управления в программе;

Слайд 18





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

Слайд 19





Текст процедуры
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;
}
Описание слайда:
Текст процедуры 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; }

Слайд 20





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

Слайд 21





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

Слайд 22





Вычисление цикломатической сложности
Цикломатическую сложность можно определить одним из двух методов:
по формуле E-V+2, где E – число дуг, V – число узлов;
по формуле p+1, где p – число предикатных узлов
Число тестовых вариантов, необходимых для полного покрытия равно цикломатической сложности
Описание слайда:
Вычисление цикломатической сложности Цикломатическую сложность можно определить одним из двух методов: по формуле E-V+2, где E – число дуг, V – число узлов; по формуле p+1, где p – число предикатных узлов Число тестовых вариантов, необходимых для полного покрытия равно цикломатической сложности

Слайд 23





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

Слайд 24





ФУНКЦИОНАЛЬНОЕ ТЕСТИРОВАНИЕ
Описание слайда:
ФУНКЦИОНАЛЬНОЕ ТЕСТИРОВАНИЕ

Слайд 25





Функциональное тестирование
Базируется на том, что структура тестируемого ПС неизвестна – тестирование по принципу «черного ящика»
Описание слайда:
Функциональное тестирование Базируется на том, что структура тестируемого ПС неизвестна – тестирование по принципу «черного ящика»

Слайд 26





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

Слайд 27





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

Слайд 28





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

Слайд 29





Формирование тестов
Чаще всего используют два способа формирования тестовых наборов:
разбиение на классы эквивалентности,
анализ граничных значений
Эти способы являются взаимодополняющими и могут применяться совместно
Описание слайда:
Формирование тестов Чаще всего используют два способа формирования тестовых наборов: разбиение на классы эквивалентности, анализ граничных значений Эти способы являются взаимодополняющими и могут применяться совместно

Слайд 30





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

Слайд 31





Формирование классов
Классы эквивалентности определяются по спецификациям входных данных в случаях, когда эти данные ограничены:
диапазоном значений (m..n);
множеством значений {a,b,c};
булевым множеством (true,false)
В первом случае имеется три класса эквивалентности, во 2-м и 3-м – по два
На каждый класс эквивалентности - тест
Описание слайда:
Формирование классов Классы эквивалентности определяются по спецификациям входных данных в случаях, когда эти данные ограничены: диапазоном значений (m..n); множеством значений {a,b,c}; булевым множеством (true,false) В первом случае имеется три класса эквивалентности, во 2-м и 3-м – по два На каждый класс эквивалентности - тест

Слайд 32





Анализ граничных значений
Особенности данного способа:
тестовые варианты создаются только для границ областей эквивалентности;
при создании тестов учитываются не только условия ввода, но и условия вывода
Описание слайда:
Анализ граничных значений Особенности данного способа: тестовые варианты создаются только для границ областей эквивалентности; при создании тестов учитываются не только условия ввода, но и условия вывода

Слайд 33





Правила анализа
Если условия ввода задают непрерывный диапазон значений m..n, то тестовые варианты создаются для:
 значений m и n,
значений  m-ε и n+ε
Если условия ввода задают дискретный набор значений, то тестовые варианты создаются для:
проверки min и max значений,
проверки значений <min и >max
Описание слайда:
Правила анализа Если условия ввода задают непрерывный диапазон значений m..n, то тестовые варианты создаются для: значений m и n, значений m-ε и n+ε Если условия ввода задают дискретный набор значений, то тестовые варианты создаются для: проверки min и max значений, проверки значений <min и >max

Слайд 34





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

Слайд 35





Пример
Построить классы эквивалентности для процедуры бинарного поиска Key в M
Предусловия:
M упорядочен;
M имеет не менее одного элемента;
нижняя граница <= верхняя граница
Постусловия:
элемент найден – Result=True, I=номер;
элемент не найден – Result=False, I не определено;
Описание слайда:
Пример Построить классы эквивалентности для процедуры бинарного поиска Key в M Предусловия: M упорядочен; M имеет не менее одного элемента; нижняя граница <= верхняя граница Постусловия: элемент найден – Result=True, I=номер; элемент не найден – Result=False, I не определено;

Слайд 36





Дерево разбиения
Формирование классов эквивалентности выполняется с помощью дерева разбиений, листья которого дают искомые классы эквивалентности
Последовательность построения дерева:
проверка выполнения предусловий;
проверка выполнения постусловий;
анализ специальных требований;
анализ граничных условий
Описание слайда:
Дерево разбиения Формирование классов эквивалентности выполняется с помощью дерева разбиений, листья которого дают искомые классы эквивалентности Последовательность построения дерева: проверка выполнения предусловий; проверка выполнения постусловий; анализ специальных требований; анализ граничных условий

Слайд 37





Специальные требования
Учитывают специфику выполнения конкретных алгоритмов обработки
В нашем примере к числу специальных требований можно отнести следующие эквивалентные разбиения:
массив из одного элемента;
массив из четного числа элементов;
массив из нечетного числа элементов
Описание слайда:
Специальные требования Учитывают специфику выполнения конкретных алгоритмов обработки В нашем примере к числу специальных требований можно отнести следующие эквивалентные разбиения: массив из одного элемента; массив из четного числа элементов; массив из нечетного числа элементов

Слайд 38





Граничные условия
Формулируются для узлов уровня специальных требований
В нашем примере возможны следующие классы эквивалентности:
искомое значение хранится в первом элементе массива;
искомое значение хранится в последнем элементе массива;
искомое значение хранится в промежуточном элементе массива
Описание слайда:
Граничные условия Формулируются для узлов уровня специальных требований В нашем примере возможны следующие классы эквивалентности: искомое значение хранится в первом элементе массива; искомое значение хранится в последнем элементе массива; искомое значение хранится в промежуточном элементе массива

Слайд 39





Тестовые варианты
В результате получается следующее дерево разбиения
Это дерево имеет 11 листьев, каждый из которых задает отдельный тестовый вариант
Описание слайда:
Тестовые варианты В результате получается следующее дерево разбиения Это дерево имеет 11 листьев, каждый из которых задает отдельный тестовый вариант

Слайд 40





Итог
Достоинства:
независимость от реализации;
относительная простота подготовки тестов;
возможность анализа результатов специалистами предметной области
Недостатки:
слабая локализация ошибок
Описание слайда:
Итог Достоинства: независимость от реализации; относительная простота подготовки тестов; возможность анализа результатов специалистами предметной области Недостатки: слабая локализация ошибок

Слайд 41





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

Слайд 42





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

Слайд 43





Характеристика этапов
Тестирование модулей. Цель – индивидуальная проверка каждого модуля
Тестирование интеграции. Цель – проверка межмодульных интерфейсов
Системное тестирование. Цель –проверка выполнения всех требований к ПС
Описание слайда:
Характеристика этапов Тестирование модулей. Цель – индивидуальная проверка каждого модуля Тестирование интеграции. Цель – проверка межмодульных интерфейсов Системное тестирование. Цель –проверка выполнения всех требований к ПС

Слайд 44





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

Слайд 45





Модульное тестирование
Модульное тестирование обычно рассматривается как дополнение к этапу кодирования
Модуль не является автономной системой, поэтому его тестирование требует использования дополнительных средств:
драйверов тестирования,
заглушек
Описание слайда:
Модульное тестирование Модульное тестирование обычно рассматривается как дополнение к этапу кодирования Модуль не является автономной системой, поэтому его тестирование требует использования дополнительных средств: драйверов тестирования, заглушек

Слайд 46





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

Слайд 47





Среда для тестирования модуля
Описание слайда:
Среда для тестирования модуля

Слайд 48





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

Слайд 49





Компонентное тестирование
Распространение компонентных технологий породило термин компонентное тестирование как частный случай интеграционного тестирования
В этом случае тестированию подвергаются компоненты - обладающие определенной функциональностью и готовые к использованию фрагменты кода
Описание слайда:
Компонентное тестирование Распространение компонентных технологий породило термин компонентное тестирование как частный случай интеграционного тестирования В этом случае тестированию подвергаются компоненты - обладающие определенной функциональностью и готовые к использованию фрагменты кода

Слайд 50





Методы тестирования
Интеграция системы может осуществляться в направлении сверху - вниз или снизу - вверх 
Соответственно, различают два метода тестирования, поддерживающих процесс интеграции:
нисходящее тестирование интеграции,
восходящее тестирование интеграции
Описание слайда:
Методы тестирования Интеграция системы может осуществляться в направлении сверху - вниз или снизу - вверх Соответственно, различают два метода тестирования, поддерживающих процесс интеграции: нисходящее тестирование интеграции, восходящее тестирование интеграции

Слайд 51





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

Слайд 52





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

Слайд 53





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

Слайд 54





Восходящее тестирование
Модули нижнего уровня объединяются в несколько кластеров, каждый из которых выполняет определенную подфункцию 
Для каждого кластера создается программу-драйвер
Тестируется кластер 
Драйвер удаляется, а кластеры объединяются в структуру движением вверх
Описание слайда:
Восходящее тестирование Модули нижнего уровня объединяются в несколько кластеров, каждый из которых выполняет определенную подфункцию Для каждого кластера создается программу-драйвер Тестируется кластер Драйвер удаляется, а кластеры объединяются в структуру движением вверх

Слайд 55





Характеристика восходящего тестирования
Достоинство: Простота подготовки тестов, отсутствие заглушек
Недостаток: Система не существует как целое, пока не будет добавлен последний модуль
Описание слайда:
Характеристика восходящего тестирования Достоинство: Простота подготовки тестов, отсутствие заглушек Недостаток: Система не существует как целое, пока не будет добавлен последний модуль

Слайд 56





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

Слайд 57





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

Слайд 58





Критерии тестового покрытия
Для системного и компонентного тестирования используются специфические виды критериев тестового покрытия:
тестирование всех типовых сценариев работы;
тестирование всех сценариев с нештатными ситуациями;
тестирование попарных композиций сценариев и т.д.
Описание слайда:
Критерии тестового покрытия Для системного и компонентного тестирования используются специфические виды критериев тестового покрытия: тестирование всех типовых сценариев работы; тестирование всех сценариев с нештатными ситуациями; тестирование попарных композиций сценариев и т.д.

Слайд 59





Альфа-тестирование
Данная стадия включает тестирование системы конечным пользователем, так называемое альфа- и бета-тестирование
Альфа-тестирование - тестирование проводимое заказчиком в организации разработчика
Разработчик фиксирует все выявленные ошибки и недостатки использования
Описание слайда:
Альфа-тестирование Данная стадия включает тестирование системы конечным пользователем, так называемое альфа- и бета-тестирование Альфа-тестирование - тестирование проводимое заказчиком в организации разработчика Разработчик фиксирует все выявленные ошибки и недостатки использования

Слайд 60





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

Слайд 61





ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ТЕСТИРОВАНИЕ
Описание слайда:
ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ТЕСТИРОВАНИЕ

Слайд 62





Отличия от классического
Тестирование объектно-ориентированных программных средств имеет ряд существенных отличий от классического тестирования:
расширение области применения тестирования;
изменение методики тестирования;
учет особенностей ООП при проектировании тестовых вариантов
Описание слайда:
Отличия от классического Тестирование объектно-ориентированных программных средств имеет ряд существенных отличий от классического тестирования: расширение области применения тестирования; изменение методики тестирования; учет особенностей ООП при проектировании тестовых вариантов

Слайд 63





Расширение области применения
Разработка объектно-ориентированного программного средства начинается с создания его визуальных моделей
Модели этапа анализа и этапа проектирования определяют основные функциональные и структурные свойства разрабатываемой системы, поэтому
Необходимо проводить тестирование этих моделей !
Описание слайда:
Расширение области применения Разработка объектно-ориентированного программного средства начинается с создания его визуальных моделей Модели этапа анализа и этапа проектирования определяют основные функциональные и структурные свойства разрабатываемой системы, поэтому Необходимо проводить тестирование этих моделей !

Слайд 64





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

Слайд 65





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

Слайд 66





Правильность модели
Синтаксическая правильность связана с корректным использованием нотаций языка описания моделей
Семантическая правильность определяется соответствием модели реальной системе и связанной с ней задаче
Тестирование подтверждает, что модель правильна в отношении конкретного тестового случая, если результат его выполнения является ожидаемым.
Описание слайда:
Правильность модели Синтаксическая правильность связана с корректным использованием нотаций языка описания моделей Семантическая правильность определяется соответствием модели реальной системе и связанной с ней задаче Тестирование подтверждает, что модель правильна в отношении конкретного тестового случая, если результат его выполнения является ожидаемым.

Слайд 67





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

Слайд 68





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

Слайд 69





Изменение методики тестирования
Как и для процедурных, для объектно-ориентированных программных систем выделяют три стадии тестирования:
модульное (компонентное),
интеграционное (комплексное),
системное (оценочное)
Изменение методики тестирования касается, в основном, двух первых стадий
Описание слайда:
Изменение методики тестирования Как и для процедурных, для объектно-ориентированных программных систем выделяют три стадии тестирования: модульное (компонентное), интеграционное (комплексное), системное (оценочное) Изменение методики тестирования касается, в основном, двух первых стадий

Слайд 70





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

Слайд 71





Тестирование классов
Автономное тестирование класса предполагает разработку драйвера, который будет:
создавать экземпляры тестируемого класса;
вызывать методы тестируемого класса и передавать им фактические параметры из тестовых вариантов;
принимать результаты выполнения тестируемых методов
Описание слайда:
Тестирование классов Автономное тестирование класса предполагает разработку драйвера, который будет: создавать экземпляры тестируемого класса; вызывать методы тестируемого класса и передавать им фактические параметры из тестовых вариантов; принимать результаты выполнения тестируемых методов

Слайд 72





Тестовый драйвер
Существует несколько способов реализации тестового драйвера:
в виде отдельного класса – тестирование public-части класса; 
в виде класса, наследуемого от тестируемого – тестирование protected-части; 
в виде статического метода внутри тестируемого класса – тестирование private-части
Описание слайда:
Тестовый драйвер Существует несколько способов реализации тестового драйвера: в виде отдельного класса – тестирование public-части класса; в виде класса, наследуемого от тестируемого – тестирование protected-части; в виде статического метода внутри тестируемого класса – тестирование private-части

Слайд 73





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

Слайд 74





Тестирующий метод
Преимущества:
непосредственная близость программного кода драйвера к программному коду тестируемого класса;
возможность многократного использования кода драйвера (в силу наследования) для тестирования классов-наследников
Недостаток:
необходимость отделения программного кода драйвера от поставляемого ПО
Описание слайда:
Тестирующий метод Преимущества: непосредственная близость программного кода драйвера к программному коду тестируемого класса; возможность многократного использования кода драйвера (в силу наследования) для тестирования классов-наследников Недостаток: необходимость отделения программного кода драйвера от поставляемого ПО

Слайд 75





Тестирование классов
Экземпляры отдельных классов в активно взаимодействуют между собой
Создание драйвера для автономного тестирования класса может оказаться не менее сложной задачей, чем разработка самого класса
Описание слайда:
Тестирование классов Экземпляры отдельных классов в активно взаимодействуют между собой Создание драйвера для автономного тестирования класса может оказаться не менее сложной задачей, чем разработка самого класса

Слайд 76





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

Слайд 77





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

Слайд 78





Сложность класса
С точки зрения взаимодействия можно выделить два типа классов:
примитивные классы; 
непримитивные классы
Экземпляры примитивного класса можно использовать без необходимости создания экземпляров каких-либо других классов, в том числе и данного класса
Такие объекты представляют собой простейшие компоненты системы
Описание слайда:
Сложность класса С точки зрения взаимодействия можно выделить два типа классов: примитивные классы; непримитивные классы Экземпляры примитивного класса можно использовать без необходимости создания экземпляров каких-либо других классов, в том числе и данного класса Такие объекты представляют собой простейшие компоненты системы

Слайд 79





Сложность класса
Число примитивных классов в системе обычно невелико
Основная роль в объектно-ориентированных системах отводится непримитивным классам
Объекты непримитивных классов требуют использования других объектов при выполнении своих операций
Описание слайда:
Сложность класса Число примитивных классов в системе обычно невелико Основная роль в объектно-ориентированных системах отводится непримитивным классам Объекты непримитивных классов требуют использования других объектов при выполнении своих операций

Слайд 80





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

Слайд 81





Тестирование интеграции
Объектно-ориентированное ПО не имеет иерархической управляющей структуры
Методики нисходящего и восходящего тестирования здесь неприменимы
Зачастую неосуществим классический прием интеграции – добавление по одной операции в класс
Описание слайда:
Тестирование интеграции Объектно-ориентированное ПО не имеет иерархической управляющей структуры Методики нисходящего и восходящего тестирования здесь неприменимы Зачастую неосуществим классический прием интеграции – добавление по одной операции в класс

Слайд 82





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

Слайд 83





Виды взаимодействия классов
Метод одного класса содержит в списке своих формальных параметров имена других классов
Метод одного класса создает экземпляр другого класса как часть своей реализации
Метод одного класса ссылается на глобальный экземпляр другого класса
Описание слайда:
Виды взаимодействия классов Метод одного класса содержит в списке своих формальных параметров имена других классов Метод одного класса создает экземпляр другого класса как часть своей реализации Метод одного класса ссылается на глобальный экземпляр другого класса

Слайд 84





Тестирование интеграции
Наиболее популярными являются следующие методики тестирования интеграции объектно-ориентированных систем:
тестирование, основанное на потоках;
кластерное тестирование
Описание слайда:
Тестирование интеграции Наиболее популярными являются следующие методики тестирования интеграции объектно-ориентированных систем: тестирование, основанное на потоках; кластерное тестирование

Слайд 85





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

Слайд 86





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

Слайд 87





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

Слайд 88





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

Слайд 89





Среда тестирования
Во втором случае:
результаты тестирования получаются в «чистом» виде;
соответствие результатов тестирования реальным условиям эксплуатации зависит от степени адекватности этим условиям созданной драйвером среды тестирования
Описание слайда:
Среда тестирования Во втором случае: результаты тестирования получаются в «чистом» виде; соответствие результатов тестирования реальным условиям эксплуатации зависит от степени адекватности этим условиям созданной драйвером среды тестирования

Слайд 90





Системное тестирование
В основном его методика совпадает с методикой классического тестирования
Описание слайда:
Системное тестирование В основном его методика совпадает с методикой классического тестирования

Слайд 91





Конец лекции
Описание слайда:
Конец лекции



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