tehnologia (1018792), страница 47

Файл №1018792 tehnologia (Г.С. Иванова - Учебник - Технология программирования) 47 страницаtehnologia (1018792) страница 472017-07-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Перечислите известные вам виды контроля качества программного обеспечения. Накаких этапах применяют каждый их них?3. Какие подходы к тестированию вы знаете? В чем они заключаются?4. Почему функциональное тестирование называют «тестированием по методучерного ящика»? Перечислите методы функционального тестирования и определите, в какихслучаях следует использовать каждый из них.5. Почему структурное тестирование называют «тестированием по методу белого илипрозрачного ящика»? Перечислите методы структурного тестирования и определитевозможности каждого из них.

Какой метод структурного тестирования обеспечиваетнаибольшую вероятность обнаружения ошибок?2856. Используя методы обоих подходов, сформируйте пакет тестов для тестированияпрограммы, вычисляющей действительные корни квадратного уравнения. Какие методы выиспользовали и почему?7. Чем нисходящее тестирование отличается от восходящего? Что понимают подкомплексным тестированием и чем оно отличается от тестирования компонент? Когдаможно прекращать тестирование компонентов?8. Перечислите виды тестирования системы в целом.

В каких случаях применяюткаждый из них?28610. ОТЛАДКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯОтладка программы - один их самых сложных этапов разработки программного обеспечения, требующийглубокого знания:• специфики управления используемыми техническими средствами,• операционной системы,• среды и языка программирования,• реализуемых процессов,• природы и специфики различных ошибок,• методик отладки и соответствующих программных средств.Обсуждению последних двух вопросов и посвящается данная глава.10.1. Классификация ошибокОтладка - это процесс локализации и исправления ошибок, обнаруженных притестировании программного обеспечения.

Локализацией называют процесс определенияоператора программы, выполнение которого вызвало нарушение нормальноговычислительного процесса. Для исправления ошибки необходимо определить ее причину, т.е. определить оператор или фрагмент, содержащие ошибку. Причины ошибок могут быть какочевидны, так и очень глубоко скрыты.В целом сложность отладки обусловлена следующими причинами:• требует от программиста глубоких знаний специфики управления используемымитехническими средствами, операционной системы, среды и языка программирования,реализуемых процессов, природы и специфики различных ошибок, методик отладки исоответствующих программных средств;• психологически дискомфортна, так как необходимо искать собственные ошибки и,как правило, в условиях ограниченного времени;• возможно взаимовлияние ошибок в разных частях программы, например, за счетзатирания области памяти одного модуля другим из-за ошибок адресации;• отсутствуют четко сформулированные методики отладки.287В соответствии с этапом обработки, на котором проявляются ошибки, различают (рис.10.1):синтаксические ошибки - ошибки, фиксируемые компилятором (транслятором,интерпретатором) при выполнении синтаксического и частично семантического анализапрограммы;ошибки компоновки - ошибки, обнаруженные компоновщиком (редактором связей)при объединении модулей программы;ошибки выполнения - ошибки, обнаруженные операционной системой, аппаратнымисредствами или пользователем при выполнении программы.Синтаксические ошибки.

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

В связи с этим говорят оязыках программирования с защищенным синтаксисом и с незащищенным синтаксисом. Кпервым, безусловно, можно отнести Pascal, имеющий очень простой и четко определенныйсинтаксис, хорошо проверяемый при компиляции программы, ко вторым - Си со всеми егомодификациями. Чего стоит хотя бы возможность выполнения присваивания в условномоператоре в Си, например:if (с=n) х=0; /* в данном случае не проверятся равенство с и n, а выполняетсяприсваивание с значения n, после чего результат операции сравнивается с нулем, еслипрограммист хотел выполнить не присваивание, а сравнение, то эта ошибка будетобнаружена только на этапе выполнения при получении результатов, отличающихся отожидаемых*/288Ошибки компоновки.

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

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

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

Все возможные причины ошибок можно разделить на следующиегруппы:• неверное определение исходных данных,• логические ошибки,•накопление погрешностей результатов вычислений (рис. 10.2).Неверное определение исходных данных происходит, если возникают любые ошибкипри выполнении операций ввода-вывода: ошибки передачи, ошибки преобразования, ошибкиперезаписи и ошибки данных. Причем использование специальных технических средств и289программирование с защитой ошибок (см. § 2.7) позволяет обнаружить и предотвратитьтолько часть этих ошибок, о чем безусловно не следует забывать.Логические ошибки имеют разную природу. Так они могут следовать из ошибок,допущенных при проектировании, например, при выборе методов, разработке алгоритмовили определении структуры классов, а могут быть непосредственно внесены прикодировании модуля.

К последней группе относят:• ошибки некорректного использования переменных, например, неудачныйвыбор типов данных, использование переменных до их инициализации, использованиеиндексов, выходящих за границы массивов, нарушения соответствия типов данных прииспользовании явного или неявного переопределения типа данных, расположенных в памятипри использовании нетипизированных переменных, открытых массивов, объединений,динамической памяти, адресной арифметики и т.п.;290• ошибки вычислении, например, некорректные вычисления над неарифметическимипеременными, некорректное использование целочисленной арифметики, некорректноепреобразование типов данных в процессе вычислений, ошибки, связанные с незнаниемприоритетов выполнения операций для арифметических и логических выражений, и т.

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

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

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

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

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