Главная » Просмотр файлов » Волкова немного о её семинарах

Волкова немного о её семинарах (1119514), страница 3

Файл №1119514 Волкова немного о её семинарах (Волкова немного о её семинарах) 3 страницаВолкова немного о её семинарах (1119514) страница 32019-05-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

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

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

Обычно различают две стратегии тестирования: тестирование методами «белого ящика» и тестирование методами «черного ящика» .

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

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

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

Подробно прочитать о различных методиках тестирования можно в [11,12,13].

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

Основные функции отладчика в рамках ИСР программного обеспечения:

  1. пошаговое выполнение программы (шаг = строка; с трассировкой внутри вызываемой функции и без нее),

  2. выполнение программы до строки, в которой в редакторе стоит курсор,

  3. выделение выполняемой в данный момент строки,

  4. приостановка выполнения программы:

  • можно запросить значение переменной,

  • можно заказать вычисление некоторого выражения,

  • можно изменить значение переменной и продолжить выполнение программы (!но редко какой отладчик позволяет изменять программный код, т.е. поддерживает частичную перекомпиляцию),

  1. расстановка/снятие точек останова, которые визуализируются в текстовом редакторе,

  2. выдача всей информации в терминах исходной программы.

Автоматизировать процесс тестирования и отладки помогают следующие средства:

    • средства отслеживания тестового покрытия, определяющие участки кода, пройденные и пропущенные при тестировании;

    • профилировщики (см. лекцию 1), определяющие линейные участки кода;

    • средства построения срезов программы, т.е. всех операторов, которые могут влиять на значение некоторой переменной в некоторой точке программы.

Редакторы связей. Загрузчики.

Редактор связей (компоновщик) предназначен для связывания между собой (по внешним данным) объектных файлов, порождаемых компилятором, а также файлов библиотек, входящих в состав СП.

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

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

Одновременно с объединением текстов программных секций объединяются секции данных, таблицы идентификаторов и внешних имен. Разрешаются межсекционные ссылки.

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

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

Программные модули с оверлейной структурой (структурой с перекрытиями) используются в том случае, когда необходимо создать программу, логическое (виртуальное) адресное пространство которой должно быть больше, чем свободное место ОП, или даже больше, чем весь объем ОП. Использование оверлейной структуры предполагает, что вся программа может быть разбита на части - сегменты. Каждая оверлейная программа имеет одну главную часть (main) и несколько сегментов, причем в памяти машины одновременно могут находиться только ее главная часть (всегда) и один или несколько не перекрывающихся сегментов (когда к ним происходит обращение). Остальные же сегменты в это время находятся во внешней памяти.

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


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

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

A ( B ( F/G, H ), C, D/E ( I, J, K ) ).

Зная такую информацию и длину каждого сегмента, редактор связей может определить относительный начальный адрес каждого сегмента, т.к. каждый сегмент начинается сразу после своего отца. Например:

Сегмент Начальный адрес Длина

A 8000 1000

B 9000 500

F/G 9500 200

H 9500 300

C 9000 700

D/E 9000 800

I 9800 100

J 9800 150

K 9800 180

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

Редактор связей не может знать, где реально в ОП компьютера будет располагаться программа в момент ее выполнения, поэтому он работает не с конкретными адресами ячеек ОЗУ, а с некоторыми относительными адресами. Такие адреса отсчитываются от условного адреса начала области памяти, занимаемой результирующей программой.

Чтобы программа могла быть исполнена, необходим модуль, преобразующий относительные адреса в реальные, абсолютные адреса непосредственно в момент запуска программы на выполнение. Этот процесс называется трансляцией адресов и выполняет его модуль, называемый загрузчиком.

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

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

Библиотеки. ППП.

Существенной частью систем программирования являются библиотеки.

В настоящее время можно выделить 3 типа библиотек:

1. Библиотеки функций (или подпрограмм).

2. Библиотеки классов.

3. Библиотеки компонент.

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

Различают библиотеки для языков программирования (например, функции ввода-вывода, работа со строками) и библиотеки для решения задач в конкретной проблемной области (например, функции, реализующие алгоритмы линейной алгебры).

Библиотеки функций представляют собой откомпилированные объектные модули.

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

В библиотеке классов различают

    • конкретные классы,

    • абстрактные классы,

    • шаблоны классов.

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

Библиотеки классов включаются в программу на этапе компиляции и компилируются со всей программой вместе.

Библиотеки компонент - это библиотека готовых откомпилированных программных модулей, предназначенных для использования в качестве составной части программы, и которыми можно манипулировать во время разработки программы.

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

Примеры технологий, использующих библиотеки компонент:

    • Технология CORBA (Common Object Request Broker Architecture) от международной группы OMG (в которую входят и Borland, и Microsoft, и многие другие) позволяет использовать программные компоненты, размещённые как локально, так и дистанционно. На данный момент существуют реализации этой технологии для большинства ОС. Использование CORBA-компонент не зависит от языка, на котором они были написаны.

    • Технология COM (Common Object Model) от компании Microsoft под ОС Windows позволяет использовать локально размещённые компоненты, независимо от языка их реализации. Её развитие привело к распределённой архитектуре DCOM (Distributed COM), а затем к ActiveX.

    • Технология Java Beans от Sun Microsystems позволяет использовать компоненты, написанные на языке Java. Так как реализация Java-машины существует почти для всех ОС, поэтому отсутствует жёсткая привязка к конкретной ОС.

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

    • пакеты для решения типовых инженерных, планово-экономических, общенаучных задач;

    • пакеты системных программ;

    • пакеты для обеспечения систем автоматизированного проектирования и систем автоматизации научных исследований;

    • пакеты педагогических программных средств и другие.

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

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

Список файлов семинаров

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