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

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

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

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

Обычно вместо 11 только что перечисленных тестов разрабатываются только 7. Некоторые из этих вариантов, такие как обход, могут перекрываться с тестом, созданным на основе покрытия связей. В дополнение к тестированию 11 общих ситуаций в старом программном обеспечении (например, программном обеспечении, написанном на языке ассемблер), возможно, имеет смысл протестировать особые значения числа итераций, такие как степени двойки и близкие к ним значения: 255, 256, 257, 65535, 65536 и 65537. Но не теряйте времени на особые значения, связанные с параметрами аппаратных средств, такими как байт или длина слова в таком современном языке программи- 106 Глава 4 ° Тестирование циклов рования, как С вЂ” за исключением, конечно, того случая, когда вы проверяетс реа- лизацию и видите, что имеете дело с низкоуровневым программированием.

4.4.2. Детерминированные циклы Мы обрабатываем выплату жалования. Программное обеспечение должно обрабатывать минимум одного служа~пего и максимум 20 000 служащих. Используя рассмотренные выше установки, мы сразу получим следующие тестовые варианты: Обход. Нет служащих. Один проход. Один служащий. Два прохода. Два служащих. Типичное число проходов. 700 служащих. Максимум.

20 000 служащих. Мах» 1. 20 001 служащий. Мах - 1. 19 999 служащих. М(п. Один служащий (избыточпый вариант). М)п — 1. Нет служащих (избыточный вариант). Ноль. Нет служащих (избыточный вариант). Отрицагпельное число проходов. Отрицательное число служащих? Некоторые из этих вариантов заслуживают более подробного обсуждения. Обход: неги служащих. Согласно требованиям, программное обеспечение не предполагает обработку этого случая. Но что оно сделает? Может ли этот вариант, хотя он и не имеет смысла, возникнуть? Скажем, пакет программ используется для создания платежных ведомостей для многих разных организаций. Он обрабатывает их по очереди (вложенный цикл с внутренним циклом для служащих и внешним циклом для организаций). Новый клиент добавляется в очередь для обработки недельной платежной ведомости, но мы пока что не получили данных сотрудников.

Мы не ждем, что программное обеспечение «обработает» заработную плату для сотрудников-фантомов. И наоборот, мы не ждем, что программа начнет печатать бесконечное число чеков по $0.00 для иня. фанилия. Мы тестируем. Нам платят не за привлекательность, пе за справедливость и даже не за благоразумие. Если вообще возможно смоделировать ситуацию, мы должны сделать зто и ожидать от программного обеспечения, что оно поведет себя разумно, например, скажет нам, что «название организации не будет обработано».

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

Ищите дублированную инициализацию циклов, потерю второго служагцего, два платежных чека для второго служащего или какую-нибудь ошибку для следующей организации. 4.4. Методы 107 Типичное число проходов. Неперспективно для обнаружения ошибок, но если вы это не проделаете, то, конечно, ваше тестирование может быть подвергнуто критике. Несмотря на то, что это редко бывает эффективно для обнаружения ошибок, это политически мудро. Максллиулс Все тестовые варианты, которые ориентированы на максимумы, могут потребовать больших затрат, в особенности для вложенных циклов, Например, 20 000 служащих и 1000 организаций означают 20 000 000 платежных чеков. Даже с компьютерами это накладно.

Дело не в том, что числа 20 000 и 1000 — это какие-то особенные числа, вызывающие ошибки. Дело в том, что достигнуты максимумы, вне зависимости от их значений. Если программисты предвидят возможные проблемы с тестированием, они встроят возможность изменить эти максимальные значения для тестирования, которое в большинстве случаев может быть проведено для 20 сотрудников и 10 организаций. Если возможность тестирования не была целью проектирования, у вас нет другого выбора, кроме как протестировать эти экстремальные значения, по крайней мере, один раз. Но проделайте это, скажем, для 20 000 служащих и только одной организации, и 1000 организаций, в каждой из которой всего несколько служащих.

Максимум плюс 1. Ситуация, аналогичная случаю обхода. Мы не ждем, что программа обработает больше, чем заданный максимум, но поскольку такая ситуация может случайно возникнуть, мы хотим быть уверены, что это не приведет к сбою и файлы не будут повреждены. Ищите ситуацию, когда в компании Х работает 20 001 служащий, в порядке обработки компания У следует за компанией Х и первый служащий в компании т' получает платежный чек со счета компании Х.

Отрицательное число проходов. Если число служащих может быть введено с клавиатуры, скажем, для того, чтобы начать обработку, тогда этот случай может быть потенциально продуктивным. Если вы можете всеми правдами или неправдами реализовать этот случай, попробуйте это сделать, и посмотрите, отклонит ли программа такое входное значение. Не обманывайте себя тем, что этот случай действительно будет отклонен только потому, что вам так сказали. Например, из-за ошибки ввода заявлено, что в компании Х работает — 10 служащих. Даже если этот случай, как и ожидалось, будет отклонен, то первые 1О платежных чеков для следующей в очереди организации У могут быть не обработаны. Мы имеем дело с ошибками, которые ведут к произвольному или бессмысленному поведению.

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

Два предиката управляют поведением этого цикла: предикат, управляющий получением и проверкой следующей записи, и предикат, вызывающий остановку выполнения цикла в случае, ког- 108 Глава 4 ° Тестирование циклов да искомая запись найдена. Сначала мы обсудим вопрос о размере файл вопрос о месте в файле, где найдена запись. Обход. Файл без записей. Этот вариант также является нулевым.

Н в файле нет ааписей, искомая запись не может быть найдена. Один проход. Файл с одной записью. 1. Информация найдена: искомая запись и есть первая запись. 2. Информация не найдена: искомой записи нет в файле. Два прохода. Файл с двумя записями. 3. Информация найдена в первой записи. 4. Информация найдена во второй записи. 5.

Информация не найдена. Типичное число проходов. Файл с 10 записями'. Информация найдена в первой записи. 1. Информация найдена в записи 6. 2. Информация найдена в записи 9. 3. Информация найдена в записи 1О. 4. Информация не найдена. Максимум — 1. Например, мы можем положить максимальное числ в тестируемом файле равным 50. 1.

Информация найдена в записи 48. 2. Информация найдена в записи 49. 3. Информация не найдена. Максимум. Файл, состоящий из 50 записей 1. Информация найдена в записи 49. 2. Информация найдена в записи 50, 3. Информация не найдена. Максимум и- 1. Файл, состоящий из 51 записи Информация найдена в записи 49. 4. Информация найдена в записи 50. 5. Информация найдена в записи 51. 6. Информация не найдена. а, а затем оскольку о записей ' Я выбрал 1О записей, поскольку теория и опыт говорят, что значения 1, 2, 3, 4 и 5 могут приводить к различным моделям поведения. Поскольку 5 — 1 - 4 ие является общим вариантом, 5 пропушено.

Поскольку 6 — 1- 5 — зто первый общий вариант. 5 не является хорошим значением. Первое хорошее обшес значение — зто, возможно, 7. Но степени двойки и числа, близкие им (7, 8, 9), могут быть проблемными, так что 1Π— это первое действительно хорошее типичное значение, 4.4. Методы 109 Вот мои аргументы в пользу тестового варианта МАХ + 1. Мы не предполагали, что программное обеспечение будет обрабатывать файлы, в которых более 51 записи.

Если цикл действительно недетерминированный, тогда этот факт неизвестен нам до того, как процесс закончится. То есть длина файла становится известна только после обнаружения записи КФ (конец файла). Если это действительно так, тогда не существует способа запретить обработку файла с 51 записью. В противном случае, если чрезмерно длинный файл отвергается до того, как начнется обработка, тогда длина файла должна быть известна и цикл поиска не является по-настоящему недетерминированным.

Неизвестна только точка, в которой процесс выйдет из цикла. Как много рассмотренных вариантов вы испробуете, зависит от того, что делает цикл недетерминированным. 1. Величина максимума неизвестна и не может быть найдена. В этом случае ничего не препятствует достижению максимального значения и вам обязательно следует попробовать МАХ + 1. 2. Досрочное прекращение. У нас есть однозначно детерминированный цикл, выполнение которого может быть досрочно прервано (например, оператором ВРЕАК в языке С), но где это произойдет, неизвестно. МАХ + 1 не имеет смысла, но непременно попробуйте найти искомые данные в последней записи. 3. Обработка переменной управления. Это может происходить с детерминированными и недетерминированными циклами.

Скажем, число записей было известно, и то, что мы хотели проделать, — это выборочная проверка одной из десяти записей, вместо того чтобы проверять каждую запись в файле. Это может быть реализовано увеличением переменной управления цикла на 10, но это приводит к выходу величины указателя за границу файла. Тогда нам, безусловно, следует попробовать варианты МАХ + 1. 4.4.4.

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

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

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

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

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