Главная » Просмотр файлов » Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения

Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения (1015641), страница 15

Файл №1015641 Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения (Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения) 15 страницаКалайда В.Т., Романенко В.В. Технология разработки программного обеспечения (1015641) страница 152017-06-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

В качестве примера можно рассмотреть операционные системы IBM S/370. В одной из версий операционной системы 47 % ошибок, обнаруженных пользователями, приходилось на 4 % модулей системы.Преимущество рассматриваемого принципа заключается втом, что он позволяет ввести обратную связь в процесс тестирования. Если в какой-нибудь части программы обнаруженобольше ошибок, чем в других, то на ее тестирование должныбыть направлены дополнительные усилия.Тестирование — процесс творческий.Вполне вероятно, что для тестирования большой программы требуется больший творческий потенциал, чем для ее проектирования.

Выше было показано, что нельзя дать гарантию построения теста, обнаруживающего все ошибки. В дальнейшемздесь будут обсуждаться методы построения хороших наборовтестов, но применение этих методов должно быть творческим.Чтобы подчеркнуть некоторые мысли, высказанные в настоящем разделе, приведем еще раз три наиболее важных принципа тестирования.Тестирование — это процесс выполнения программ с целью обнаружения ошибок.Хорошим считается тест, который имеет высокую вероятность обнаружения еще не выявленной ошибки.Удачным считается тест, который обнаруживает ещене выявленную ошибку.6.3 Ручное тестированиеВ течение многих лет большинство программистов былиубеждены в том, что программы пишутся исключительно длявыполнения их на машине и не предназначены для чтения чело-98веком, а единственным способом тестирования программы является ее исполнение на ЭВМ. Это мнение стало изменяться вначале 70-х годов, а значительной степени — благодаря книгеВейнберга «Психология программирования для ЭВМ».

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

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

Скорее этиметоды способствуют существенному увеличению производительности и повышению надежности программы. Во-первых,они обычно позволяют раньше обнаружить ошибки, уменьшитьстоимость исправления последних и увеличить вероятностьтого, что корректировка произведена правильно. Во-вторых,психология программистов, по-видимому, изменяется, когда начинается тестирование на ЭВМ. Возрастает внутреннее напряжение, и появляется тенденция «исправлять ошибки так быстро,как только это возможно». В результате программисты допускают больше промахов при корректировке ошибок, уже найден-99ных во время тестирования на ЭВМ, чем при корректировкеошибок, найденных на более ранних этапах.6.3.1 Инспекции и сквозные просмотрыИнспекции исходного текста и сквозные просмотры являются основными методами ручного тестирования.

Так как этидва метода имеют много общего, они рассматриваются здесьсовместно. Различия между ними обсуждаются в последующихразделах.Инспекции и сквозные просмотры включают в себя чтение или визуальную проверку программы группой лиц. Эти методы развиты из идей Вейнберга. Оба метода предполагают некоторую подготовительную работу. Завершающим этапом является «обмен мнениями» — собрание, проводимое участниками проверки. Цель такого собрания — нахождение ошибок, ноне их устранение (т.е.

тестирование, а не отладка).Инспекции и сквозные просмотры широко практикуютсяв настоящее время, но причины их успеха до сих пор еще недостаточно выяснены. Не удивительно, что они связаны с некоторыми принципами (п. 6.2). Заметим, что данный процесс выполняется группой лиц (оптимально — три-четыре человека), лишьодин из которых является автором программы. Следовательно,программа, по существу, тестируется не автором, а другимилюдьми, которые руководствуются изложенными выше принципами, обычно не эффективными при тестировании собственнойпрограммы.

Фактически, «инспекция» и «сквозной просмотр»— просто новые названия старого метода «проверки за столом»(состоящего в том, что программист просматривает свою программу перед ее тестированием), однако они гораздо более эффективны опять-таки по той же причине: в процессе участвуетне только автор программы, но и другие лица. Результатом использования этих методов, по-видимому, также является болеенизкая стоимость отладки (исправления ошибок), так как вовремя поиска ошибок обычно точно определяют их природу.Кроме того, с помощью данных методов обнаруживают группыошибок, что позволяет в дальнейшем корректировать несколькоошибок сразу. С другой стороны, при тестировании на ЭВМобычно выявляют только симптомы ошибок (например, про-100грамма не закончилась или напечатала бессмысленный результат), а сами они определяются поодиночке.Эксперименты по применению этих методов показали,что с их помощью для типичных программ можно находить от30 до 70 % ошибок логического проектирования и кодирования(однако эти методы не эффективны при определении ошибокпроектирования «высокого уровня», например сделанных в процессе анализа требований).

Так, экспериментально установлено,что при проведении инспекций и сквозных просмотров определяются в среднем 38 % общего числа ошибок в учебных программах. При использовании инспекций исходного текста вфирме IBM эффективность обнаружения ошибок составляет80 % (в данном случае имеется в виду не 80 % общего числаошибок, поскольку, как отмечалось в п. 6.2, общее число ошибок в программе никогда не известно, а 80 % всех ошибок,найденных к моменту окончания процесса тестирования).

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

Подразумевается, что инспекции,сквозные просмотры и тестирование, основанное на использовании ЭВМ, дополняют друг друга; эффективность обнаружения ошибок уменьшится, если тот или иной из этих подходовне будет использован.Наконец, хотя эти методы весьма важны при тестировании новых программ, они представляют не меньшую ценностьпри тестировании модифицированных программ. Опыт показал,что в случае модификации существующих программ вноситсябольшее число ошибок (измеряемое числом ошибок на вновьнаписанные операторы), чем при написании новой программы.Следовательно, модифицированные программы также должныбыть подвергнуты тестированию с применением данных методов.1016.3.2 Инспекции исходного текстаИнспекции исходного текста представляют собой наборпроцедур и приемов обнаружения ошибок при изучении (чтении) текста группой специалистов.

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

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

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

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

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

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