Главная » Просмотр файлов » Тестирование черного ящика. Б. Бейзер (2004)

Тестирование черного ящика. Б. Бейзер (2004) (1186170), страница 66

Файл №1186170 Тестирование черного ящика. Б. Бейзер (2004) (Тестирование черного ящика. Б. Бейзер (2004).djvu) 66 страницаТестирование черного ящика. Б. Бейзер (2004) (1186170) страница 662020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 66)

Если же тест выполняется в автоматическом режиме, то специальные инструменты запишут всю необходимую информацию. 4. Трассирование переходов. Это означает запись отметки о каждом совершенном переходе. В понятие отметки входят входной код, инициировавший переход, текущее состояние, состояние после перехода, выходной код, 5. Явная таблица входного кодирования. Мы предполагаем, что существует явный механизм кодирования входа. Лучше всего, если ои содержится в виде таблицы. Входное кодирование полностью отделено от последующей обработки данных.

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

Это означает, что реализация систем с конечным числом состояний всегда имеет явную таблицу переходов. Самое удобное в этих таблицах то, что если обнаружена ошибка перехода, то ее нахождение можно легко определить. Эти характеристики лучше всего встраивать в модель в самом начале, так как их сложно потом модифицировать. Очевидно, для таких средств нужны специальные модели и команды управления, доступ к которым должен быть запрещен для пользователей без специального разрешения. 9.5. Рассмотрение приложений 9.5.1. Индикаторы приложений Ниже описаны некоторые типичные ситуации, требующие использования тестирования конечных автоматов и/или приложения, в которых этот метод часто используется.

Более подробно зта ситуация рассматривалась в [АЪ'И93, ВА11Е79, %11.К771. 1. Программное обеспечение, управляемое при помощи меню. Разработчики коммерческих программ, управляемых при помощи меню, как правило, используют явные конечные автоматы при проектировании своих меню.

В том числе они используют метод тестирования систем с конечным числом состояний для проверки корректности своих меню. 2. Объектно-ориентированное программное обеспечение. Модель с конечным числом состояний встречается в большинстве объектно-ориентированных парадигм проектирования. Корректное тестирование методов подразумевает корректное тестирование поведения состояний. В этом случае необходимость использования методов тестирования систем с конечным числом состояний очевидна. 9.5. Рассмотрение приложений 261 9.52. Предположения об ошибках Предположения, которые мы можем сделать, будут относиться скорее ие к приро- де ошибок, а к программному обеспечению, обладаюшему поведением системы с конечным числом состояний. 5. 6.

7. Протоколы. Обсуждение методов тестирования протоколов лежит за рамками данной книги. Этому вопросу посвящено много книг, и во всех них предполагается, что вы владеете методами тестирования систем с конечным числом состояний [СН0%88, НОЕХ87, 5АК187, 5П)Н89[. Драйверы устройств. Большинство устройств ведут себя как системы с конечным числом состояний, и большинство драйверов включают в себя такие системы. Замена аппаратных средств. Задачи, некогда возложенные иа аппаратные средства, в настояшее время все чаще решаются программным способом.

Это касается ие только электроники, но и механических и электромеханических устройств. В статье, приведенной в журнале 5с[епййс Ашенса [С1ВВ94], предрекается использование микропроцессоров (и соответствуюШего программного обеспечения) в выключателях света, электробритвах (2 килобайта), автомобильных трансмиссиях (30 килобайт кода), ТВ (500 килобайт), Существенная часть поведения подобного программного обеспечения реализуется как гюведение систем с конечным числом состояний. Инсталляционное программное обеспечение. Программное обеспечение, предназначенное для инсталляции и конфигурации программ, часто ведет себя как система с конечным числом состояний и может эффективно тестироваться при помоши соответствуюших методов.

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

Ошибки кодирования. Это могут быть ошибки входного, выходного кодирования или кодирования состояний, вне зависимости от того, явное это кодирование или скрытое. Если входное кодирование реализовано в скрытом виде, то велика вероятность непоследовательного кодирования от состояния к состоянию. 262 Глава 9 ° Тестирование систем с конечным числом состояний 3, Неверный выход. Это может быть ошибкой кодирования или, если выходного кодирования в явном виде не существует, то, к примеру, неверным вызовом подпрограммы. 4. Непредвиденное поведение состояния. Большое увеличение числа дополнительных состояний может быть вызвано скрытой особенностью поведения состояния.

5. Пересечение границ вложений. В реализации используются вложенные конечные автоматы, однако из-за плохого, сделанного на скорую руку проекта или ошибок в нем, границы вложений игнорируются. На следующем рисунке показана модель, состоящая из нескольких вложеннгях конечных автоматов. Каждая замкнутая область изображает набор состояний (например, меню). Если разрешим переход из состояния Х, например, в состояние У, то все система вложений будет нарушена, и на деле поведение в целом будет таким, как если бы вложений не было совсем.

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

Ограничения и предостережения 1. Большие графы состояний. Методы, описанные в данной книге, применимы к не слишком большим графам состояний (произведение состояние-символ порядка сотен). Для больших, не вложенных графов состояний, подобных тем, что используются в управлении телефонными узлами, в которых произведение состояние-символ достигает порядка тысяч или десятков тысяч, способы проверки переходов, рассматриваемые в данной книге, слишком трудоемки, даже если разработка теста и его выполнение полностью автома- 9.5.

Рассмотрение приложений 263 тизированы. Это не может радовать. Положительная сторона этого вопроса заключается в том, что люди, работаюшие с такими большими системами, обладают необходимыми инструментами и опытом, чтобы использовать более совершенные методы, чем рассматриваемые в данной книге. Если у вас нет достаточного опыта и необходимых инструментов, вам не стоит браться за тестирование таких больших конечных автоматов. 2. Вложенные модели, или вложенные системы? Чтобы модели были рациональны, необходимо использовать вложенные модели, поскольку, скажем, не- вложенная реализация может содержать миллиард состояний.

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

Такие инструменты полностью бесполезны, если только у вас конечный автомат не реализован в явном виде. В таком случае вы можете винить только себя, поскольку именно вы не выяснили, является ли реализация вложенной, как и ваша модель, или нет. 3. Отсутствие поддержки. Средства поддержки и аспекты тестируемости, описанные в разделе 9.4.7, предназначены для облегчения тестирования и повышения его эффективности. Степень этой поддержки также является мерой того, насколько сложно или просто будет проводить тестирование системы с конечным числом состояний и насколько эффективны будут тесты при поиске ошибок. 9.5.4. Автоматизация и инструментальные средства Как всегда в разделе, описываюшем автоматизацию, я могу вас порадовать и расстроить.

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

Характеристики

Тип файла
DJVU-файл
Размер
3,83 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее