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

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

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

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

Я обнаружил множество способов уйти от уплаты налогов, но не нашел ии одного ~юобходимого цикла. Я уверен, что они там есть. но я не эксперт по налогам, так что я не смог найти ии одного. Любой читатель, который укажет мне на необходимые циклы, чтобы использовать их в качсстис примеров в погледуюшем издании книги, получит бесплатный экземпляр этого издания. 5 За» 770 130 Глава 5 ° Тестирование потоков данных значение Х,. Нам также нужно исходное значение для счетчика итераций 1к Мы не знаем, деиствительно ли код содержит зти исходные значения в виде явно выраженных констант, но, следуя логике, полагаем, что они существуют. Опыт говорит нам, что ошибки исходных значений случаются сравнительно часто, так что зто имеет смысл проверить.

Первая модель мне не нравится. Она не настолько близка к модели потока данных, насколько мне бы хотелось. Узел [[икй имеет скрытую сложность, и наиболее важный вопрос — каким образом выбраны исходные значения? Модель на следующем рисунке более ясна. Я добавил два узла выбора данных (помеченных «?ь), чтобы выбрать между исходными значениями Х и 1. Я также ввел управляющую связь из селектора 1 к селектору Х, чтобы показать, как программа могла бы выбирать между исходным значением Х, и последуюгцим значением Хг Например, там мог бы находиться предикат в форме 1Р 1 = 0 ТНЕВ ВЫБРАТЬ Х, ЕЕ5Е ВЫБРАТЬ Хк В случае реальной проблемы вам следовало бы иметь больше информации о специфике условий прекращения цикла и разместить больше атой информации внутри чисто потоковых (по данным) узлов.

Например, условие прекращения цикла может быть основано на разнице между предыдущим и настоящим значениями Х и сравнении ее с некоторой маленькой константой в. Я развернул цикл дважды в следующей модели. Узел Х, производит исходное вычисление, основанное на исходных значениях Х„и 1к Узел Х, вычисляет функцию, основанную на константах А, В и С, и использует новые значения Х и 1.

Из-за инициализации функции ее значение для Х,, вероятно, не будет тем же самым, что и для Хг Для узла Хт который, вероятно, имеет то же значение функции, что и Хн цикл снова развернут. Мы можем продолжить разворачивать цикл н получим модели для большого числа повторений (и, следовательно, с многочисленными узлами и связями).

Но зто не очень хорошая идея. Сколько раз нам следует разворачивать цикл? Дважды!' Это дает вам три модели: первая остановится в узле Хн вторая остано- ' Мы должны развернуть олин раз — чтобы уловлстворять требованиям методик структурного тестирования, поскольку мы хотим использовать простые пупс Второй рюворот оправдан опытом и теоремой Хуанга. Смотри [ВЕ!Х90[. 5.4. Методы 131 вится в узле Х, и третья — в узле Хз Это три отдельных модели, позволяюшие рассмотреть три случая — выход без прохождения цикла, выход после однократного прохождения цикла и выход после двукратного прохождения цикла.

Если вы должны протестировать максимальное число итераций, используйте модель потока управления. При тестировании циклов в модели потока данных мы в основном занимаемся поиском ошибок инициализации или использования неправильных значений для предварительной итерации. Например, в узле Хз вместо использования величины Х, программист использует величину Х, или Х,. И теория, и практика показывают, что однократное и двукратное прохождение цикла позволяют найти большинство подобных ошибок. 5.4. Методы 5.4.1.

Основы Ссылки на материал, описанный в атом разделе, можно встретить в ~ЯНЕЕ86, 2%ЕВ921 Данные книги рекомендуются для дополнительного ознакомления с рассматриваемыми концепциями. Проектирование и выполнение тестов остаются такими же, как и для моделей потока управления, с незначительными различиями, которые вытекают из того, что мы имеем дело с графами потока данных, а не с графами потока управления. В дальнейшем я буду предполагать, что у нас нет циклов. Е Проверьте спецификацию. 2. Идентифицируйте входные переменные, особенно константы. Дайте каж- дой входной переменной имя и создайте для нее входной узел.

132 Глава 5 ° Тестирование потоков данных 3. Перепишите спецификацию таким образом, чтобы каждой вычисляемой функции соответствовало одно предложение. 4. Перечислите функции, начиная с тех, которые зависят только от входных переменных. 5. Перечислите функции, зависящие только от входных переменных и результатов функций, перечисленных в пункте 4.

6. Продолжайте подобным образом перечислять функции, пока не охватите их все. У вас должен получиться список, в котором наверху будут находиться функции, зависящие только от входных переменных, а далее, по мере продвижения вниз, будут находиться функции, зависящие от все большего количества промежуточных вычислений. Заметьте, что, как правило, строгое упорядочение невозможно, но это и не нужно. 7. Проверьте промежуточные функции (в том числе функции, зависящие от входных переменных и от выходных данных других функций) и посмотрите, является ли упорядочение необходимым или просто удобным.

Если оно необходимо, пометьте соответствующий узел, а также узлы, которые диктуют эту необходимость. Если упорядочение не обязательно, посмотрите, можно ли упростить модель, удаляя промежуточные узлы и выражая функцию непосредственно через входные переменные? Если вы можете удалить узлы и связи без чрезмерного усложнения вычисляемой функции, сделайте это. 8.

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

1О. Имеется некое вычисление или функция, связанная с каждым узлом. Переменные в имени данной функции соответствуют узлам, с которыми связан данный узел, то есть, связям. Теперь у вас есть модель. 11. Проверьте вашу модель. Проверьте вашу работу. Действуйте точно так же, как в случае моделей потока управления. Здесь будут некоторые отличия в деталях, которые мы рассмотрим в дальнейших разделах. Но для начала нам потребуются определения. Подграф. Часть графа, которая соответствует правилам построения графов то есть имеющая узлы входа и выхода, не имеет оборванных связей, не имеет изол ированных узлов, и так далее.

' То, что обязательно для вас, совсем не обязательно для меня, и наоборот. Никогда не забывайте, что модели — зто мысленные инструменты н что в них нет чего-либо принципиально правильного или неправильного. Они могут быть только полезными нли бесполезными, Вы можете предпочесть сохранить несупгественпое промежуточное вычисление в молели, поскольку знаете, что зто будет выголпо в другом контексте илн просто потому, что люди часто склонны думать подобным образом. 5Я. 'гйетоды 133 Порожденный подграф. Подграф графа, выбранный в соответствии с определенным критерием так, что для данного критерия подграф обладает всеми свойствами полного графа для выбранных узлов и связей [ЧгЕ! 581, ЮЕ!584[. Критериев много, и таким образом, существует много различных порожденных подграфов.

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

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

12. Выберите «пути» тестирования. Это в действительности не пути, а порожденные подграфы. 13. Активизируйте порожденные подграфы. 14. Предскажите и запишите ожидаемые итоги. 15. Определите критерий соответствия для каждого нз тестов. 16. Выполните тесты. 17. Подтвердите итоги (например, значения узла выхода). 18. Подтвердите значения в промежуточных узлах. 5.4.2. ИЕРаРХИЯ ПОКРЫтИЯт Ссылки на материал, описанный в этом разделе, можно встретить в [С!.АВ89, глАРР82, ВАРР85, 5СН! 70, %Е!591, тьгЕ'т'()90, %Е'т'П94А[. Данные книги рекомендуются для дополнительного ознакомления с рассматриваемыми концепциями.

' Задается трапзитиапыч зал~иканием отпощепия «папрямую соединен с*, ' Для ортолоксов модели потоков данных, обсужласчые в данкой книге, — ато интерпретации формально определенных критериев структурного тестирования для потоков данных, ио виовь истолковаииые в терминах поведенческого тестироваиия. Оправдание для такой интерпретации осиоваио ие иа каком-либо глубоком теоретическом анализе, а иа общем смысле и опыте.

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

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

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

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