Тестирование по стратегии черного ящика
Исследование поведения "черного" ящика. Свойства правильно выбранного теста. Изучение подачи на входы некоторых стандартных последовательностей. Особенность эквивалентного разбиения и причинно-следственных связей. Определение предположения об ошибке.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 21.12.2022 |
Размер файла | 194,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
РОСТОВСКИЙ ГОСУДАРСТВЕННЫЙ ЭКОНОМИЧЕСКИЙ
УНИВЕРСИТЕТ (РИНХ)
Факультет Компьютерных технологий и информационной безопасности
Реферат
На тему: «Тестирование по стратегии чёрного ящика»
Студента группа ПРИZS-331 Семененко Михаила Сергеевича
Ростов-на-Дону 2022
План
Введение
Тестирование чёрного ящика или поведенческое тестирование -- стратегия (метод) тестирования функционального поведения объекта (программы, системы) с точки зрения внешнего мира, при котором не используется знание о внутреннем устройстве (коде) тестируемого объекта. Иначе говоря, тестированием чёрного ящика занимаются тестировщики, не имеющие доступ к исходному коду приложения. Под стратегией понимаются систематические методы отбора и создания тестов для тестового набора. Стратегия поведенческого теста исходит из технических требований и их спецификаций.
"Чёрный ящик" - тестирование функционального поведения программы с точки зрения внешнего мира (текст программы не используется).
1. Понятие «чёрного» ящика
Под «чёрным ящиком» понимается объект исследования, внутреннее устройство которого неизвестно. Понятие «чёрный ящик» предложено У. Р. Эшби. В кибернетике оно позволяет изучать поведение систем, то есть их реакций на разнообразные внешние воздействия и в то же время абстрагироваться от их внутреннего устройства. На рис. 1 приведено схемное построение входов X(x1,x2,...,xn), выходов Y(y1,y2,...,ym), характеризуемых функцией перехода (д) и функцией выхода (л) «чёрного» ящика.
Манипулируя только лишь со входами и выходами, можно проводить определенные исследования. На практике всегда возникает вопрос, насколько гомоморфизм «чёрного» ящика отражает адекватность его изучаемой модели, то есть как полно в модели отражаются основные свойства оригинала.
Описание любой системы управления во времени характеризуется картиной последовательности её состояний в процессе движения к стоящей перед нею цели. Преобразование в системе управления может быть либо взаимнооднозначным и тогда оно называется изоморфным, либо только однозначным, в одну сторону. В таком случае преобразование называют гомоморфным.
«Чёрный» ящик представляет собой сложную гомоморфную модель кибернетической системы, в которой соблюдается разнообразие. Он только тогда является удовлетворительной моделью системы, когда содержит такое количество информации, которое отражает разнообразие системы. Можно предположить, что чем большее число возмущений действует на входы модели системы, тем большее разнообразие должен иметь регулятор.
В настоящее время известны два вида «чёрных» ящиков. К первому виду относят любой «чёрный» ящик, который может рассматриваться как автомат, называемый конечным или бесконечным. Поведение таких «чёрных» ящиков известно. Ко второму виду относятся такие «чёрные» ящики, поведение которых может быть наблюдаемо только в эксперименте. В таком случае в явной или неявной форме высказывается гипотеза о предсказуемости поведения «чёрного» ящика в вероятностном смысле. Без предварительной гипотезы невозможно любое обобщение, или, как говорят, невозможно сделать индуктивное заключение на основе экспериментов с «чёрным» ящиком. Для обозначения модели «чёрного» ящика Н. Винером [2] предложено понятие «белого» ящика. «Белый» ящик состоит из известных компонентов, то есть известных X, Y, д, л. Его содержимое специально подбирается для реализации той же зависимости выхода от входа, что и у соответствующего «чёрного» ящика. В процессе проводимых исследований и при обобщениях, выдвижении гипотез и установления закономерностей возникает необходимость корректировки организации «белого» ящика и смены моделей. В связи с этим, при моделировании исследователь должен обязательно многократно обращаться к схеме отношений «чёрный» -- «белый» ящик.
2. Исследование поведения «черного» ящика
Рассмотрим, как изучается и исследуется поведение «черного» ящика второго вида. Предположим, что дана некоторая система управления, внутреннее строение которой неизвестно. Система управления имеет входы X(x1,x2,x3,...,xn) и выходы Y(y1,y2,y3,...,ym).
Способ исследования поведения данного «черного» ящика заключается в проведении эксперимента, результаты которого можно представить в виде табл. 1. Такой способ исследования «черного» ящика называется протокольным. Значения входных величин в моменты времени t1,t2,...,tk) могут выбираться произвольно.
Таблица 1
Способ исследования «чёрного» ящика |
|||
Состояние входов |
Состояние выходов |
Время |
|
x1(t1) ,x2 (t1) ,..., xn (t1) |
y1(t1), y 2 (t1),..., y m (t1) |
(t1) |
|
x1(t2) ,x2 (t2) ,..., xn (t2) |
y1(t2), y 2 (t2),..., y m (t2) |
(t2) |
|
……………………….. |
……………………….. |
……. |
|
……………………….. |
……………………….. |
……. |
|
x1(tk) ,x2 (tk) ,..., xn (tk) |
y1(tk), y 2 (tk),..., y m (tk) |
(tk) |
Другой способ исследования заключается в подаче на входы некоторых стандартных последовательностей. Этот способ особенно привлекателен, потому что позволяет сравнивать поведение нескольких «черных» ящиков с условием выбора таких, которые будут соответствовать предъявляемым требованиям. эквивалентный черный ящик тест
Исследование систем управления связано с понятиями «вероятностный автомат», «вероятностная система», что требует изучения их вероятностных свойств. Для этих целей можно построить матрицу вероятностей (табл. 2), в которой для каждого входа xi и каждого выхода yi указывается условная вероятность pi, что yi возникает в ответ на xi [7], приведенной в табл. 2.
Разработка методов построения математических моделей «черного» ящика является одной из важных кибернетических проблем. При условии наличия математической модели «черного» ящика появляется возможность отнести его к какому-либо одному классу, все системы которого изоморфны по поведению.
Создание математического описания «черного» ящика является своего рода искусством. В некоторых случаях удается сформировать алгоритм, в соответствии с которым «черный» ящик реагирует на произвольный входной сигнал. Для большинства же случаев делаются попытки установить дифференциальные уравнения, которые связывают реакцию «черного» ящика с его входами или, как говорят, с его входными стимулами.
Для науки метод «чёрный» ящик имеет весьма большое значение. С его помощью в науке были сделаны очень многие выдающиеся открытия. Например, ученый Гарвей еще в XVII веке предугадал строение сердца. Он моделировал работу сердца насосом, позаимствовав идеи из совершенно другой области современных ему знаний -- гидравлики. Практическая ценность метода «чёрный» ящик заключается во-первых, в возможности исследования очень сложных динамических систем, и, во-вторых, в возможности замены одного «ящика» другим. Окружающая действительность и биология дают массу примеров выявления строения систем методом «чёрного» ящика.
3. Тестирование по стратегии чёрного ящика
Тестирование методом черного ящика базируется на том, что все тесты основываются на спецификации системы или ее компонентов. Система представляется как "черный ящик", поведение которого можно определить только посредством изучения ее входных и соответствующих выходных данных. Другое название этого метода - функциональное тестирование - связано с тем, что испытатель проверяет не реализацию ПО, а только его выполняемые функции [2,3].
На рисунке 3 показана модель системы, тестируемая методом черного ящика. Этот метод также применим к системам, организованным в виде набора функций или объектов. Испытатель подставляет в компонент или систему входные данные и исследует соответствующие выходные данные. Если выходные данные не совпадают с предсказанными, значит, во время тестирования ПО успешно обнаружена ошибка (дефект).
Основная задача испытателя - подобрать такие входные данные, чтобы среди них с высокой вероятностью присутствовали элементы множества 1е. Во многих случаях выбор тестовых данных основывается на предварительном опыте испытателя. Однако дополнительно к этим эвристическим знаниям можно также использовать систематический метод выбора входных данных, обсуждаемый в следующем разделе [2,3].
Рисунок 3 - Тестирование методом черного ящика
В этой стратегии программа рассматривается как чёрный ящик. Целью тестирования ставится выяснение обстоятельств, в которых поведение программы не соответствует спецификации. Для обнаружения всех ошибок в программе необходимо выполнить исчерпывающее тестирование, то есть тестирование на всевозможных наборах данных. Для большинства программ такое невозможно, поэтому применяют разумное тестирование, при котором тестирование программы ограничивается небольшим подмножеством всевозможных наборов данных. При этом необходимо выбирать наиболее подходящие подмножества, подмножества с наивысшей вероятностью обнаружения ошибок.
3.1 Свойства правильно выбранного теста
Уменьшает более, чем на одно число других тестов, которые должны быть разработаны для разумного тестирования.
Покрывает значительную часть других возможных тестов, что в некоторой степени свидетельствует о наличии или отсутствии ошибки до и после ограниченного множества тестов.
3.2 Методы стратегии чёрного ящика
Эквивалентное разбиение.
Анализ граничных значений.
Анализ причинно-следственных связей.
Предположение об ошибке.
Рассмотрим подробнее каждый из этих методов:
3.2.1 Эквивалентное разбиение
Основу метода составляют два положения:
Исходные данные необходимо разбить на конечное число классов эквивалентности. В одном классе эквивалентности содержатся такие тесты, что, если один тест из класса эквивалентности обнаруживает некоторую ошибку, то и любой другой тест из этого класса эквивалентности должен обнаруживать эту же ошибку.
Каждый тест должен включать, по возможности, максимальное количество классов эквивалентности, чтобы минимизировать общее число тестов.
Разработка тестов этим методом осуществляется в два этапа: выделение классов эквивалентности и построение теста.
Классы эквивалентности выделяются путём выбора каждого входного условия, которые берутся с помощью технического задания или спецификации и разбиваются на две и более группы. Для этого используется следующая таблица:
Выделение классов эквивалентности является эвристическим способом, однако существует ряд правил:
Если входное условие описывает область значений, например «Целое число принимает значение от 0 до 999», то существует один правильный класс эквивалентности и два неправильных.
Если входное условие описывает число значений, например «Число строк во входном файле лежит в интервале (1..6)», то также существует один правильный класс и два неправильных.
Если входное условие описывает множество входных значений, то определяется количество правильных классов, равное количеству элементов в множестве входных значений. Если входное условие описывает ситуацию «должно быть», например «Первый символ должен быть заглавным», тогда один класс правильный и один неправильный.
Если есть основание считать, что элементы внутри одного класса эквивалентности могут программой трактоваться по-разному, необходимо разбить данный класс на подклассы. На этом шаге тестирующий на основе таблицы должен составить тесты, покрывающие собой все правильные и неправильные классы эквивалентности. При этом составитель должен минимизировать общее число тестов.
Определение тестов:
Каждому классу эквивалентности присваивается уникальный номер.
Если еще остались не включенные в тесты правильные классы, то пишутся тесты, которые покрывают максимально возможное количество классов.
Если остались не включенные в тесты неправильные классы, то пишут тесты, которые покрывают только один класс.
3.2.2 Анализ граничных значений
Граничные условия -- это ситуации, возникающие на высших и нижних границах входных классов эквивалентности.
Анализ граничных значений отличается от эквивалентного разбиения следующим:
Выбор любого элемента в классе эквивалентности в качестве представительного осуществляется таким образом, чтобы проверить тестом каждую границу этого класса.
При разработке тестов рассматриваются не только входные значения (пространство входов), но и выходные (пространство выходов).
Метод требует определённой степени творчества и специализации в рассматриваемой задаче.
Cуществует несколько правил:
Построить тесты с неправильными входными данными для ситуации незначительного выхода за границы области значений. Если входные значения должны быть в интервале [-1.0 .. +1.0], проверяем ?1.0, 1.0, ?1.000001, 1.000001.
Обязательно писать тесты для минимальной и максимальной границы диапазона.
Использовать первые два правила для каждого из входных значений (использовать пункт 2 для всех выходных значений).
Если вход и выход программы представляет упорядоченное множество, сосредоточить внимание на первом и последнем элементах списка.
Анализ граничных значений, если он применён правильно, позволяет обнаружить большое число ошибок. Однако определение этих границ для каждой задачи может являться отдельной трудной задачей. Также этот метод не проверяет комбинации входных значений.
3.2.3 Анализ причинно-следственных связей
Этапы построения теста:
Спецификация разбивается на рабочие участки.
В спецификации определяются множество причин и следствий. Под причиной понимается отдельное входное условие или класс эквивалентности. Следствие представляет собой выходное условие или преобразование системы. Здесь каждой причине и следствию присваивается номер.
На основе анализа семантического (смыслового) содержания спецификации строится таблица истинности, в которой последовательно перебираются всевозможные комбинации причин и определяются следствия для каждой комбинации причин.
Таблица снабжается примечаниями, задающими ограничения и описывающими комбинации, которые невозможны. Недостатком этого подхода является плохое исследование граничных условий.
3.2.4 Предположение об ошибке
Программист с большим опытом выискивает ошибки без всяких методов, но при этом он подсознательно использует метод предположения об ошибке. Данный метод в значительной степени основан на интуиции. Основная идея метода состоит в том, чтобы составить список, который перечисляет возможные ошибки и ситуации, в которых эти ошибки могли проявиться. Потом на основе списка составляются тесты.
Список литературы
1.Майерс Г. Искусство тестирования программ. М.: Финансы и статистика, 1982, 176 с.
2.Технологии разработки программного обеспечения: Учебник для вузов. 3-е изд./ С.А. Орлов. - СПб.: Питер, 2004. - 527 с.
3.Макгрегор Дж., Сайкс Д. Тестирование объектно-ориентированного программного обеспечения. К.: Диасофт, 2002. - 432 с.
4.Липаев В.В. Тестирование программ. М.: Радио и связь, 1986. - 296 с.
5.Борзов Ю.В., Уртанг Г.Б., Шимаров В.А. Выбор путей программы для построения тестов. УСиМ. - 1989. - N.6 - с.29-36
6.Карлбертсон Р., Браун К., Кобб Г. Быстрое тестирование. Изд. Вильямс 2002, 216 с.
7. Дастин Э., Рэшка Дж., Пол Дж. Автоматизированное тестирование программного обеспечения. Изд. Лори 2003, 310 с.
Размещено на Allbest.ru
...Подобные документы
Вершина в заданном графе с различным количеством вершин. Результаты обработки графа программой MyProject.exe. Сопряжение модулей программы. Модуль вывода матрицы смежности. Тесты черного ящика. Комбинаторное покрытие условий тестами черного ящика.
курсовая работа [44,8 K], добавлен 13.10.2012Изучение модели "черного ящика" как системы, обеспечивающей доступ к входным и выходным величинам без раскрытия структуры внутренних процессов. Общая классификация и описание вирусов и антивирусных программ. Анализ содержания программы "Консультант плюс".
контрольная работа [26,7 K], добавлен 09.12.2011Неразрешимость проблемы тестирования программного обеспечения. Виды и уровни тестирования. Стратегии восходящего и нисходящего тестирования. Методы "белого" и "черного" ящика. Автоматизированное и ручное тестирование. Разработка через тестирование.
курсовая работа [112,2 K], добавлен 22.03.2015Автоматизация регрессионного тестирования. Классификация по способу сопровождения. Построение потового графа. Набор модульных тестов. Покрытие тестами классов эквивалентности. Тестирование методом "черного ящика". Тесты регрессии на "закрытых" багах.
курсовая работа [1,8 M], добавлен 16.01.2017Изучение различных видов тестирования программного обеспечения. Выявление в программной системе скрытых дефектов до того, как она будет сдана заказчику. Тестирование методом черного ящика. Требования, предъявляемые к процессу тестирования больших систем.
курсовая работа [3,0 M], добавлен 19.11.2009Тестирование и отладка программного обеспечения: понятие, принципы, этапы, цели и задачи. Тестирование методом сандвича как компромисс между восходящим и нисходящим подходами. Сущность метода "белого и черного ящика", отладки программного обеспечения.
курсовая работа [36,9 K], добавлен 21.07.2012Экономика тестирования. Режим проверки программы на ошибки в режиме "черного" и "белого ящика". Принципы ее проведения. Философия тестирования. Пошаговая, восходящяя, нисходящяя проверка модулей. Метод "большого скачка". Модифицированный метод сандвича.
презентация [585,4 K], добавлен 19.09.2016Выбор состава технических и программных средств. Проектирование структуры и макета сайта. Модуль обработки изображений в редакторе Adobe Photoshop. Серверная и пользовательская части сайта. Тестирование работоспособности сайта методом черного ящика.
дипломная работа [1,8 M], добавлен 09.07.2017Соревнования VEX Skyrise. Требования к роботам. Принцип действия программного триггера. Режим ручного управления. Комплект на базе привода и системы управления. Автономный режим работы робота. Тестирование работоспособности кода методом "черного" ящика.
дипломная работа [4,6 M], добавлен 13.10.2015Исторический аспект появления кибернетики как науки. Информация как ее основа. Использование черного ящика. Особенности робототехники, ее сфера использования в наши дни. Наследие Норберта Винера. Связь между роботами, кибернетикой и образованием.
курсовая работа [57,5 K], добавлен 31.05.2013Принципы создания программ в среде программирования Delphi 7.0. Реализация программного продукта, выполняющего решение задач по дисциплине "Численные методы". Разработка интерфейса программного продукта. Методы тестирования по стратегии "черного ящика".
курсовая работа [4,3 M], добавлен 18.06.2012Разработка алгоритма работы и структуры контроллера кэш-памяти с полностью ассоциативным отображением основной памяти. Представление операционной и управляющей частей черного ящика устройства. Схема алгоритма контроллера кэш на уровне микроопераций.
курсовая работа [1,0 M], добавлен 19.03.2012Кибернетика как наука о системах, открытых для энергии, но замкнутых для информации и управления. Концепция "черного ящика" и способ его исследования. Математическая сторона кибернетики. Структура обобщенной системы связи. Понятие "системы управления".
реферат [60,2 K], добавлен 20.08.2015Моделирование "черного ящика". Листинг программы, моделирующей случайную помеху. Вид распределения сгенерированной помехи. Листинг программы для получения значений откликов. Аппроксимация уравнения регрессии линейным уравнением, значимость коэффициентов.
реферат [1,4 M], добавлен 24.12.2012Описание предметной области. Характеристика программных средств. Описание компонентов, интерфейс программы. Описание процедур и функций. Вызов и загрузка программы. Испытание методом белого и черного ящика на ошибки кода программного приложения.
курсовая работа [2,2 M], добавлен 26.04.2015Разработка программы, находящей эйлеров путь в графе с количеством вершин n от 2 до 20. Входные и выходные данные. Алгоритм поиска эйлерова пути с возвратом массива, содержащего результат. Описание модулей. Проектирование тестов методами черного ящика.
курсовая работа [89,9 K], добавлен 25.02.2012Особенности вывода на экран содержимого файла BAZA.txt. Анализ функций вывода информации о количестве каждой марки машин. Рассмотрение способов проектирования тестов программы методами черного ящика. Проблемы программирования на языке высокого уровня.
контрольная работа [1,6 M], добавлен 04.01.2015Проектирование игры "Морской бой" путем составления диаграмм UML, IDEF0, DFD, моделирующих требования к программе. Разработка программы с использованием языка C# и фреймворка.NETFramework 3.5. Тестирование белого ящика и альфа-тестирование продукта.
курсовая работа [3,9 M], добавлен 24.10.2013Анализ целевой аудитории. Функциональные характеристики пользовательского приложения. Разработка алгоритмов и интерфейса программного продукта, функций рабочей области. Написание скриптов на языке C#. Тестирование программы методом чёрного ящика.
дипломная работа [1,5 M], добавлен 09.11.2016Оценка функциональных возможностей стандартных классов представления данных на примерах использования избранных методов ("detect: ifNone:" класса Set, "to:by:do:" класса Number и "copy: ReplaceFrom: to: with:" класса OrderedCollection), их тестирование.
лабораторная работа [1,1 M], добавлен 14.10.2012