
- •Часть 1
- •Введение 4
- •2.1. Метод покрытия операторов
- •2.2. Метод покрытия решений (покрытия переходов)
- •2.3. Метод покрытия условий
- •2.4. Критерий решений (условий)
- •Д ва теста метода покрытия условий
- •2.5. Метод комбинаторного покрытия условий
- •3. Методика выполнения работы
- •3.1. Правила применения символов и линий в схемах программ
- •3.2. Пример разработки схемы программы
- •3.3. Порядок выполнения работы
- •4. Содержание отчета
- •5. Контрольные вопросы
- •6. Варианты заданий
- •Лабораторная работа 2 Разработка алгоритмов обработки файловой информации
- •Цель работы
- •Краткие теоретические сведения. Общие сведения о файловых структурах данных
- •Методика выполнения работы
- •Обработка файловой информации
- •16 Увеличить
- •3.3 Порядок выполнения работы
- •4. Содержание отчета
- •5. Контрольные вопросы
- •6. Варианты заданий
- •7.Приемы обработки информации, разработка схем и тестирование программ
- •Методические указания
- •450000, Уфа-центр, ул. К. Маркса, 12
Федеральное агентство по образованию
Государственное образовательное учреждение высшего
профессионального образования
Уфимский государственный авиационный технический университет
Кафедра технической кибернетики
Кафедра геоинформационных систем
1.ПРИЕМЫ ОБРАБОТКИ ИНФОРМАЦИИ,
2. РАЗРАБОТКА СХЕМ И ТЕСТИРОВАНИЕ
3.ПРОГРАММ
Лабораторный практикум
по дисциплине “Технология программирования”
Часть 1
Уфа 2005
Составители: В. Н. Мукасеева, Г. М. Сайфутдинова
УДК 004.43: С++ (07)
ББК 32. 973. 26 – 018.1 (я7)
Приемы обработки информации, разработка схем и тестирование программ: Лабораторный практикум по дисциплине “Технология программирования”.
Ч.1. / Уфимск. гос. авиац. техн. ун-т; Сост. В. Н. Мукасеева,
Г. М.Сайфутдинова - Уфа, 2005. – 35 с.
Содержатся сведения, касающиеся разработки алгоритмов обработки информации, соответствующих алгоритмам схем программ согласно ГОСТ 19.701-90 и методов тестирования программ с применением этих схем. Излагаются теоретические сведения о подходах и методах тестирования, о файловых структурах данных и их обработке. Приводятся описания операторов обработки файловых данных на языке программирования С++, примеры разработки алгоритмов обработки информации и соответствующих им схем программ. Теоретический и методический материалы сопровождаются примерами практических заданий.
Лабораторный практикум используются в курсах лабораторных работ по дисциплине “Технология программирования” для студентов, обучающихся по направлению 230100 - Информатика и вычислительная техника, специальностей 230101 – Вычислительные машины, комплексы, системы и сети, 230102 – Автоматизированные системы обработки информации и управления, 230104 – Системы автоматизированного проектирования, 230201 – Информационные системы и технологии.
Табл.7. Ил.10. Библиогр.: 7 назв.
Рецензенты: доктор техн.наук Р.А. Мунасыпов;
канд.техн.наук Р.Р.Каримов
© Уфимский государственный
авиационный
технический университет, 2005
Содержание
Введение 4
Лабораторная работа 1. Тестирование методами 5
“белого ящика”
1 Цель работы 5
2 Краткие теоретические сведения. Методы
“белого ящика” 5
2.1 Метод покрытия операторов 6
2.2 Метод покрытия решений (покрытия переходов) 6
2.3 Метод покрытия условий 7
2.4 Критерий решений (условий) 7
2.5 Метод комбинаторного покрытия условий 8
3 Методика выполнения работы 10
3.1 Правила применения символов и линий
в схемах программ 10
3.2 Пример разработки схемы программы 12
3.3 Порядок выполнения работы 15
4 Содержание отчета 15
5 Контрольные вопросы 16
6 Варианты заданий 16
Лабораторная работа 2. Разработка алгоритмов
обработки файловой информации 18
1 Цель работы 18
2 Краткие теоретические сведения. Файловые 18
структуры данных
3 Методика выполнения работы 20
3.1 Оперирование файлами в языке
программирования СИ++ 20
3.2 Обработка файловой информации 27
3.3 Порядок выполнения работы 31 4 Содержание отчета 31
5 Контрольные вопросы 32
6 Варианты заданий 32
Список литературы 33
Введение
Задачей 90-х годов и начала XXI века стало совершенствование качества компьютерных приложений, которое целиком определяется эффективностью и возможностями программного обеспечения. К этому периоду наметился разрыв между возможностями аппаратной и программной составляющих автоматизированных систем, обусловленный как расширением сфер автоматизации (автоматизироваться стали предметные области, в которых задачи либо слабо формализуются, либо не формализуются вовсе), так и сложностью программного обеспечения. Основным подходом к решению проблемы является технология создания такого программного обеспечения, которое надежно и эффективно работает в компьютерных приложениях.
Дисциплина “Технология программирования” посвящена изучению теоретических основ промышленного конструирования программных систем. Дисциплина охватывает широкий круг вопросов, таких, как методики разработки программ, способы разработки эффективных программ, разработка программ с защитой от ошибок, разработка спецификаций программ, методы тестирования и отладки программ и др. Практическое усвоение вопросов дисциплины происходит на протяжении всего периода обучения в вузе таким направлениям и специальностям, как информатика и вычислительная техника, автоматизированные системы обработки информации и управления, системы автоматизированного проектирования и ряд других.
В предлагаемых методических указаниях отражен лишь малый круг вопросов: разработка эффективных алгоритмов обработки данных и отображения этих алгоритмов в виде схем программ, а также тестирование программ на основе таких схем. Выполнение описанных в методических указаниях лабораторных работ должно помочь студенту в усвоении правил специфицирования программ согласно ГОСТ, общих правил кодирования обработки файловой информации и проектирования тестов для разработанных программ с целью установления соответствия спецификациям.
4.Лабораторная работа 1
5.Тестирование программ методами “белого ящика”
1. ЦЕЛЬ РАБОТЫ
Усвоение студентами методов тестирования логики программы, формализованного описания результатов тестирования и стандартов по составлению схем программ.
6.2. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ. МЕТОДЫ СТРАТЕГИИ ‘БЕЛОГО ЯЩИКА’
Тестирование программного обеспечения охватывает целый ряд видов деятельности, аналогичных последовательности процессов разработки программного обеспечения. В него входят /1/:
а) постановка задачи для теста,
б) проектирование теста,
в) написание тестов,
г) тестирование тестов,
д) выполнение тестов,
е) изучение результатов тестирования.
Решающую роль играет проектирование тестов. Возможны разные подходы к проектированию тестов. Первый состоит в том, что тесты проектируются на основе внешних спецификаций программ и модулей, либо спецификаций сопряжения программы или модуля. Программа при этом рассматривается как ‘черный ящик’ (стратегия ‘черного ящика’ или функциональный подход). Существо такого подхода - проверить соответствует ли программа внешним спецификациям. При этом логика модуля совершенно не принимается во внимание.
Второй подход основан на анализе логики программы (стратегия ‘белого ящика’ или структурный подход). Существо подхода - в проверке каждого пути, каждой ветви алгоритма. При этом внешняя спецификация во внимание не принимается.
Тестирование по принципу белого ящика характеризуется степенью, какой тесты выполняют или покрывают логику (исходный текст программы).
Покажем реализацию разных методов структурного тестирования на примере, фрагмент схемы программы которого приведен на рис. 2.1.
Рисунок 2.1 Фрагмент схемы программы