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

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

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

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

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

Связь. Все системы связи имеют встроенный язык программирования. Это язык, описывающий формат посланий. Вы можете не догадываться о существовании подобного языка, например, в телефонии, но он есть. Телефонные коммутаторы используют особый язык для связи друг с другом. Кроме того, соответствующие локальные, междугородние и международные номера телефона имеют сильно формализованный синтаксис, называемый планом номера. Любое послание, использующееся для связи, должно иметь формат (то есть синтаксис), который должен быть проанализирован. Язык запросов базы данных. Любая база данных имеет командный язык, используемый для того, чтобы определить, что надо искать и что надо из нее извлечь.

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

Компиляторы и генерируемые синтаксические анализаторы. Существует один тип продуктов, в котором не стоит использовать синтаксическое тестирование и особенно грязное синтаксическое тестирование. Это современные компиляторы. Это может показаться странным и неверным, но это соответствует моей установке, гласящей, что тестировшик никогда не должен повторять тесты, выполненные ранее другими. Современные компиляторы, разумеется, имекзт синтаксические анализаторы.

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

Пакеты, сиециализироваииыс лля какоомто одного рола деятельиости и обеспечивающие большинство иеобходимых для этой дсятсльиости фуикций (иаиримср, лля туристических агситов, цветоводов или аптекарей), иаэмвэются вертикальными оакстэми. 232 Глава 8 ° Синтаксическое тестирование автоматически на основе формальных спецификаций. Наиболее известные инструменты для этих целей — это ЕЕХ и УАСС 1МАЯ090~. Несмотря на то, что первое время они в большинстве случаев использовались исключительно для генерации лексических и синтаксических анализаторов в компиляторах, сейчас они и им подобные программы все чаше используются для генерации лексических и синтаксических анализаторов в командных языках программного обеспечения. Это очень хорошо, поскольку генерируемые лексические и синтаксические анализаторы необычайно надежны.

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

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

2. Непоследовательный синтаксис. Синтаксис, сильно зависящий от контекста, ведущий к непредсказуемому и непоследовательному синтаксическому анализу, и, как следствие, к ошибкам в интерпретации. 3. Ошибочное отклонение и ошибочное принятие. Ошибки в синтаксическом анализаторе, ведущие к отклонению корректных с точки зрения выполняемости команд и принятию команд, содержащих синтаксические ошибки. 4.

Синтаксическое/семантическое несоответствие. Ошибки в синтаксическом анализаторе, ведущие к отклонению или некорректной модификации значений полей. Например, целые числа от 0 до 999 должны приниматься, однако реализация требует наличия ведущего ноля, в результате чего отклоняются хорошие числа, такие как 7 и 19. 5. Лексические ошибки и ошибки в алфавите. Некорректные лексические преобразования, ведущие, скажем, к интерпретации содержания полей как 8.5. Рассмотрение приложений 233 разделителей.

Например, строки должны помешаться в кавычки, но не предусмотрена возможность обработки строк, содержащих кавычки, или перевод строки интерпретируется как конец поля, но невозможно ввести текст, включающий перевод строки. 8.5.3. Ограничения и предостережения При проведении синтаксического тестирования мы сталкиваемся с двумя серьезными проблемами: психологической и методологическои. "!'ак как автоматизация проектирования достаточно проста, то после описания синтаксиса в БНФ число автоматически генерируемых тестов может измеряться сотням и тысячами. Однако в случае генерации синтаксических анализаторов эффективность таких тестов не превышает эффективность перебора всех итераций при проверке цикла.

Методологический аспект заключается в существовании мнения (ничем не оправданного) об эффективности того, что я называю игрой в «Эрудита» на клавиатуре, Рахманинов-тестированием или обезьяньим тестированием. Оно представляет собой беспорядочный ввод с клавиатуры предположительно произвольных строк, до тех пор пока что-либо не сломается — этот миф обычно дополняется наличием хитрого хакера, барабанящего по кнопкам. Ранее программное обеспечение для РС, а также большинство любительских программ действительно могло быть сломано при таком тестировании, но для современного профессионального программного обеспечения такие случаи — редкость. Тем не менее, миф об эффективности деятельности хитрого хакера, творящего темные дела за клавиатурой, жив в общественном сознании и в сознании людей, несведущих в технике тестирования.

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

Возможно, из-за простоты автоматизации этот метод поддерживают коммерческие инструменты, такие как (Т) 1ЮЕ194, РОЯТ94]. И даже в отсутствие коммерческих инструментов проектирование языка тестов, воспринимающего БНФ-спецификацию, соответствующего интерпретатора тестового языка и генератора чистых/грязных тестов не является сложной задачей. Вы определяете свой метаязык, как если бы он был оГ>ычным языком, и затем используете лексический анализатор и генератор синтаксического анализатора, наподобие 1.ЕХ или >'АСС, чтобы они сделали ббльщую часть работы. Разумеется, вы проверяете и сам свой генератор, используя его для генерации тестов.

У меня есть несколько неплохих генераторов, построенных для себя. Разработка каждого из них заняла триместр у одного хорошего (но не гениального) студента, проходящего курс обучения языку программирования, который включал в себя изучение ЕЕХ и'>'АСС, 234 Глава 8 ° Синтаксическое тестирование Я оцениваю скорее нижний предел требуемых трудозатрат, поскольку во множестве приложений работа с коммерческими инструментами, такими как Т, усложняется тем, что вам необходимо принимать в расчет специальные входные интерфейсы, автоматизацию выполнения теста, специфику платформ н тому подобные вещи.

Это особенно характерно для случаев, когда входные данные не вводятся с клавиатуры обычным способом (например, при передаче телекоммуникационных сигналов), а должны быть интегрированы глубоко внутрь приложения. 8.6. Резюме Синтаксическое тестирование представляет собой мощное, легко автоматизируемое средство, предназначенное для тестирования лексических и синтаксических анализаторов командного процессора в командно-управляемых приложениях. Синтаксическое тестирование начинается с определения синтаксиса путем задания формального метаязыка, среди которых наиболее популярен БНФ.

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

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

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

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