Главная » Просмотр файлов » И. Соммервилл - Инженерия программного обеспечения

И. Соммервилл - Инженерия программного обеспечения (1133538), страница 109

Файл №1133538 И. Соммервилл - Инженерия программного обеспечения (И. Соммервилл - Инженерия программного обеспечения) 109 страницаИ. Соммервилл - Инженерия программного обеспечения (1133538) страница 1092019-05-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

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

Сценарии можно определить, исходя из разработанных вариантов использования, однако их может быть недостаточно для тестирования. Поэтому при планировании тестирования можно использовать диаграммы взаимодействия, отображающие реализацию вариантов использования посредством системных объектов. Рассмотрим рис. 20.13 (взятый из главы 12), на котором изображена последовательность операций, выполняемых при сборе метеоданных. Эту диаграмму можно использо. вать для определения тестируемых операций и для разработки тестовых сценариев. Рис. 20. 13.

Дияз)>ямал ноомд>интел ьносми сбоун> лгзиодлн них На р>к. 20.13 видно, что при получении запроса на отчет о метеоданных в системс бу. дет выполняться следующий поток методов> КонтропперКоммуникацнй:запрос -> Метеостанция:отчет -> МетеоДаиные:обобщение После выбора сценариев для тестирования системы важно убедиться, что все методы кюкдого класса будут выполплться хотя бы одни раз. Для этого можно составить технологическую карту проверок классов объектов и методов и при выборе сценария отмечать выполняемый метод.

Конечно, все комбинации методов выполнить невозможно, по по крайней мере люжно удостовериться, что все методы протестированы как часть какой- либо последовательности выполняемых методов. 20.4. Инструментальные средства тестирования Тестирование — дорогой и трудоемкий этап разработки программных систем. Поэтому создан широкий спектр инструментальных срелств для поддержки процесса тестиро.

ванна, которые значительно сокращают расходы на него. 424 'Часть и. Верификация и аттестация На рис. 20.14 показаны возможные инструментальные средства тестирования и отно. щения между ними. Перечислим их. 1. Ореляиэляюр ямсизз. Управляет выполнением тестов. Он отслеживает тестовые дан- ные, ожидаемые результаты и тестируемые функции программы. 2. Генеулгтюржгсзювык длинмк. Генерирует тестовые данные для тестируелюй программы.

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

Компараторы особенно важны при сравнении различных версий программы. Различия в результатах указывают на возможные проблемы, существующие в новой версии системы. 5. Геягрлзар озгмякм. Формирует отчеты по результатам проведенил тестов. 6. Динамический пншиилзиф. Добавляет в программу код, который подсчитывает, сколько раз выполняется каждый оператор. После запуска теста создает исполняемый профиль, в котором показано, сколько раз в программе выполняется каждый оператор. 7.

Имкзюмо~. Существует несколько типов имитаторов. Целевые имитаторы моделируют машину, на которой будет выполняться программа. Имитатор пользовательского интерфейса — зто программа, управляемал сценариями, которая молелирует взаимодействия с интерфейсом пользователя. Имитатор ввода-вывода генерирует последовательности повторяющихся транзакций. Ркс.

20.34. Ияснручгятяллаяые сумдсзмл яисткукмлния 20. Тестирование программного обеспечения 425 Требования, предъявляемые к процессу тестирования больших систем, завнслт от типа разрабатываемого приложения. Поэтому инструментальные средства тестирования неизменно приходится адаптировать к процессу тестирования конкретной системы. Для создания полного комплекса инструментального средства тестирования, как правило, требуетсл много снл н времени.

Весь набор инструментальных средств, показанных на рнс. 20.14, используется только прн тестировании больших систем. Для таких систем полная стоимость тестирования может достигать 50% от всей стоимости разработки снс. темы. Вот почему выгодно инвестировать разработку высококачественных н производи. тельных САБЕ. средств тестирования. чньэьг 'о Фу'н ' ом"'~ 'йз~!юь' э~к '"':н %. " щ' г чэабэьь ФФ""»г "~;ЕПВПХЬЧ ":-' '"':.'::::,", ! ФфВМ Эъ Ъ.

-:КЕ' 'НЬГЬЧГ'1ЧММЩйак'444 КЛЮЧЕВЫЕ ПОНЯТИЯ . ':,':,:::::;"'.. ',-., ' ' 10 в-'г .и'.!4гг." 'айг~4фЩФ. гкфпяцм1йкчы дОЧГ «фкцч «-дзян КГжху"-ПО Сьнялкк:я уз» МУЗА% йГ гСФйдс-.фй ;-,'е'.;"'.,Прм тестировании систем прежде всего тестируются наиболее часто используемые части спсте- ' в.уьс ОбпаСГМг аКВНВапвНГНОСтп ЗХОдНЫХ дзННЫХ яВЛЛЮГСя Одпим йЗ СПОСОбОВ Првдртаепвипя 'Сцвиарйва ' 'ф~~ твсгнрованпя. Часто значения, которые с наибольшей вероятностью ведут к результативному тес', '„'~,"тированию, лежат на границе областей эквивалентности.; ,"~~МфсПРи гестпРованнн методам чеРного Ящика не ТРебУетса'достУп к исходномУ щи. Тйстовые данг ,;;:вьэ=' нью получают на основе программной спецификации. '.,- ',:: - " -' ' -::1Ч *-.

"'-э'-",:.' Во'вэршш тестирования системной сборки исслвдуюгся взаимодействия между компоненгамп сне; ', "„',; -' рамы н'ингерфейсамн компонентов, ' ° ".Фдафекты 'йнтерфейса часто возникают из-за ошибок, сделанных прн интерпретдгщн сппогфнгоацпн' ;;фтребований. Тестирование интерфейсов должю обнаруживать дефекты в интерфейсах обьектов н .:е~~ При шстирований классов обьектов следует гак проектйровагь гесты, чтобы провершь все нето-"' 4.'.: -' ," 'фудн, ассоциированные с классамн, апределшь н оценить все свойства обьекгов и протестировать :обьеку во всех возможных состоя ежг...::„- -' ' Упражнения 20.1.

Обсудите различии между тестированием методом черного ящика н структурным тестированием. Подумайте, каким образом можно совместно использовать эгп методы в процессе тестнровання дефектов. 20.2. Какие проблемы тестирования могуг возникнуть в программах, которые обрабатывают как очень больше, гак н очень малые числа? 20,3, Разработайте набор тестовых данных для следующих компонентов: ° программа сортировки массивов целых чисел; ° программа, каторая вычисляет количество символов (отличных от пробелов) в текстовых строках; ° программа, которая проверяет текстовые строки и заменяет последовательности пробелов сд. ним пробелом; ° объект, реализующий символьные строки разной длины. Среди операций, ассоциированных с этим объектом, должны быть операция конкатенации, операция определения длины строка н операция выбора подстроки.

20.4. Напишите код для первых трех перечисленных выше программ, используя любой язык программы. ровання. Для каждой программы рассчитайте цнкломатнческое число. 426 класть т'. Верифмкация и аз хестаххим 20.5. На примере небольшой программы покажите, почему практически невозможно полностью протестировать программу. 20.6. Для проверки созданных вами программ, разработайте контрольные тесты в дополнение к тем, которые уже были рассмотрены.

Выявил ли анализ корд упущения в первоначальных наборах тестовых данных? 20.7. Реализуйте (на языке йакв или С++( класс обьектов ЗтМВО(,ТАИ.Е, который будет использоваться как часть системы компиляции. Этот класс должен иметь следующие методы: добавление имени и типа данных в таблицу идентификаторов, удаление имени, изменение информации, связанной с именем, и поиск по таблице.

Организуйте инспектирование кода етого объекта (см, главу (9) и сделайте подсчет обнаруженных ошибок. Протестируйте объект методом черного ящика и сравните ошибки, выявленные при тестировании и при инспеюнровании. 20.8. Объясните, почему методы нисходящего и шкходящего тестирования не подходят дгш объектноориентированных систем. 20.9. Создайте сценарии тестировшшя состояний микроволновой печи, модель состояний которой гюказана на рис. 7.6. Аттестация критических систем И настоящей главе рассматриваются методы верификации н аттестации критических систем. Прочитав зту главу, вы должны: С1 знать преимущества и недостатки использования формальных методов верификации критических систем; иметь представление о методах оцепивания безотказности программных системы и модели возрастания безотказности; познакомиться с основной идеей доказательства безопасности и уметь доказывать невозможность появления аварийных ситуаций в системе.

!Содетйкан~е''."-',уды%%""» '. 4 Ж и'"з'1адж:.,т1к й М!:.ЙЫЙ 21.1. Формальные методы п критические системы 21.2. Аттестация безотказности 21.3. Гарантии безопасности 21.4. Оцениванпс защищенности ПО 428 'Часть Ч. Верификация и аттестация Верификация и аттестация критической системы имеют много общего с подобными процессами, выполняемыми над любой другой программной системой. В ходе этих про. цессов проверяется соответствие системы своей спецификации и соответствие поведения системы требованиям заказчика.

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

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

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

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