Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания.doc
Скачиваний:
26
Добавлен:
16.12.2014
Размер:
89.09 Кб
Скачать

9

Министерство образования Российской федерации

Федеральное агентство по образованию

Саратовский государственный технический университет

имени Гагарина Ю.А.

Методические указания

по курсу « Метрология, стандартизация и сертификация программного обеспечения»

к выполнению лабораторных работ

для студентов специальности 220040

Электронное издание локального распространения

Одобрено

редакционно-издательским советом

Саратовского государственного

технического университета имени Гагарина Ю.А.

Саратов 2012

Все права на размножение и распространение в любой форме остаются за разработчиком.

Нелегальное копирование и использование данного продукта запрещено.

Составители: Лалетина Татьяна Любомировна

Данилова Татьяна Владимировна

Рецензент А. И. Сайкин

410054, Саратов, ул. Политехническая, 77

Научно-техническая библиотека СГТУ

тел. 52-63-81, 52-56-01

http://lib.sstu.ru

Регистрационный

номер

© Саратовский государственный

технический университет имени Гагарина Ю.А

Введение

Данные методические указания предназначены для студентов 3-го курса специальности ПВС, изучающих дисциплину «Метрология, стандартизация и сертификация ПО». Лабораторные работы рассчитаны на 17 аудиторных часов работы в дисплейном классе. Дополнительно предполагается самостоятельное изучение некоторых теоретических вопросов по источникам, указанным в имеющемся списке литературы.

При выполнении практической части лабораторных работ студентам необходимо составить программы на алгоритмических языках программирования Pascal и С++, изученных ими на предыдущих курсах в рамках дисциплин «Программирование на языках высокого уровня» и «Объектно-ориентированное программирование».

Лабораторная работа № 1

(8 аудиторных часов)

Теоретическая часть

Целью лабораторной работы № 1 является изучение студентами методов тестирования и отладки ПО, а также приобретение ими навыков оформления программной документации согласно ЕСПД.

Основные принципы тестирования

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

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

С точки зрения преследуемой цели, различают следующие виды тестирования:

  • автономное;

  • сопряжений;

  • внешних функций;

  • комплексное;

  • приемлемости;

  • настройки.

Суть автономного тестирования заключается в контроле отдельного программного модуля. Для организации автономного тестирования необходимо знать структуру модуля и его внешние связи.

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

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

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

При тестировании приемлемости проверяется соответствие программы требованиям пользователя.

И, наконец, при тестировании настройки осуществляется проверка приспособленности программы к настройке на различные условия ее применения.

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

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

Организация тестирования

При подготовке и выполнении тестирования ПО приходится решать две основные задачи:

  • проектирование тестов;

  • организация тестирования.

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

Восходящее тестирование. При этом методе программа собирается и тестируется снизу вверх. Первыми автономно тестируются модули нижнего уровня.

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

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

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

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

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

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

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

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

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

При выборе методов интеграции следует учитывать следующие факторы:

  • время до момента сборки модулей;

  • время до момента создания первых работающих "скелетных" версий программ;

  • необходимость "заглушек";

  • необходимость драйверов;

  • степень допустимого параллелизма на ранних стадиях тестирования;

  • возможность тестирования каждого пути;

  • сложность планирования, контроля и управления в процессе тестирования;

  • экономия машинного времени.

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

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

Соседние файлы в предмете Метрология