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

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

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

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

19,2. Составьте отчет, в котором бы приводились преимущества метода "чистая комната", а также свя- занные с ним расходы и риски. Менеджер решил для оценки специалистов в качестве исходных данных воспользоваться атчетаыи о результатах инспектирования программ. В отчетах содержится информация о том, кто совершил н кто обнаружил ошибки в программе. Этичны ли действия менеджера? Этично ли заранее проин- формировать персонал об этом? Как это решение может повлиять на процесс инспектирования? Один из подходов, широко используемых при тестировании ПО, состоит в тестировании системы до тех пор, пока не будут израсходованы все средства, выделенные на тестирование. Затем сис- тема передается замзчикам.

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

рования интерфейсов; знать особенности покомпонентного тестирова. ния и тестирования процесса сборки объектно- ориентированных систем; познакомиться с САБЕ-средствами, применяемыми для тестирования. Г" с ';..:' 20.1. Тестирование дефектов 20.2. Тестирование сборки 20тх Тестирование объектноориентированных систем 20.4. Инструментальные средства тестирования 404 Часть '(г. Верификации и аттестации В главе 3 рассматривалась общая схема процесса тестирования.

Он начинается с тестирования отдельных программных модулей, например процедур и обьектов. Затем модули компонуются в подсистемы и потом в систему, при атом проводится тестирование взаимодействий между модулями. Наконец„после сборки системы, заказчик может провести серию приемочных тестов, во время которых проверяется соответствие системы ее спецификации, На рис. 20.1 показана схема двухэтапного процесса тестирования. На этапе покомпо. нентного тестирования проверяются отдельные компоненты. Это могут быть функции. наборы методов, собранные в один модуль, или объекты.

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

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

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

Тестирование сборки должно основываться на имеющейся спецификации системы. При составлении плана тестирования обычно используется спецификация системных требований или спецификация пользовательских требований (см. главу 3). Тестированием сборки всегда занимается независимая группа. Во многих книгах, посвященных тестированию программного обеспечения, например (34, 197, 276, 22з), описывается процесс тестирования программных систем, реализующих функциональную модель ПО, но не рассматривается отдельно тестирование объектно. ориентированных систем. В контексте тестирования между объектноориентированными и функционально. ориентированнымн системами имеется ряд отличий.

20. Тестирование программного обеспечении 40$ 1. В функциональноориентированных системах существует четко определенное различие между основными программными элементами (функциями) и совокупностью этих элементов (модулями). В объектно. ориентированных системах этого нет. Объекты мокнут быть простыми элементами, например списком, или сложными, например такими, как объект метеорологической станции из главы 12, состоящий из ряда других объектов.

2. В объектно. ориентированных системах,как правило, нет такой четкой иерархии объектов,как в функционально. ориентированных системах. Поэтомутакиеметоды интеграции систем, как нисходящая или восходлщая сборка (см. раздел 20.2), часто не подходят для объектно.

ориентированных систем. Таким образом, в объектно-ориентированных системах между тестированием компо. нентов и тестированием сборки нет четких границ. В таких системах процесс тестирования является продолжением процесса разработки, где основной системной структурой являются объекты. Несмотря нато что большая часть методов тестирования подходит лля систем любых видов, для тестирования объекгно.ориентированных систем необходимы специальные методы. Такие методы рассмотрены в разделе 20.3.

20.1. Тестирование дефектов Целью тестирования дефектов является выявление в программной системе скрытых дефектов до того, как она будет сдана заказчику. Тесгированис дефектов противоположно аттестации, в ходе которой проверяется соответствие системы своей спецификации.

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

Тестовые данные иногда гсперирук1тся автома. тически. Автоматическая генерация тестовых сценариев невозможна, поскольку рсзульта. зы проведения теста не всегда можно предсказать зарансс. Рис. 20.2. Процесс акса|и)июанкл дсфсквкю 406 Часть Ч. Верификация и аттестация Полное тестирование, когда проверяются вес возможные последовательности выполнения программы, нереально. Поэтому тестирование должно базироваться на некотором подмножестве всевозможных тестовых сценариев. Существуют различные методики выбора этого подмножества Например, тестовые сценарии могут предусмотреть выполнение всех операторов в программе по меньшей мере один раз.

Альтернативная методика отбора тестовых сценариев базируется на опыте использования подобных систем, в этом случае тестированию подвергаются только опрсдслснные средства и функции работаю. щей системы, папримср следующие. 1. Исс систсмныс функции, доступные через меню. 2. Комбщ!ации фу!ткций, доступпыс через меню (например, сложное форматирова- ние текста). 3. Если в снстслтс предполатветсл ввод пользователем каких. либо входных данных, тестируются функции с правильным и неправильным вводом данных. Из опыта тестирования (и эксплуатации) больших программных продуктов, таких, как текстовые процессоры илп электронные таблицы, вытекает, что необычные комбинации функций иногда кюгуг вызывать ошибки, по наиболее часто используемые функции всегда работают правильно.

20.1.1. Тестирование методом черного ящика Функциональное тестирование, или тестирование методом черного ящика базируется на том, что все тесты основываются на спецификации системы или ее компонентов. Система представляется как "черный ящик", поведение которого можно определить только посредством изгчсния се входных и соответствующих вьгходных данных. Другое название этого метода — ртуккциоиалакаг имстироагогиг — свлзаио с тем, что испытатель проверяет не реал пзацтпо ПО, а только его выполи лслтые функции. бкодиые дымке, ориводящио к иеврзвильнар работе системы быхотщые данные, указывающие иа иаличиэ дефектов Рис.

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

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

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

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

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

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

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