Специфицирование и тестирование программ

Краткие теоретические сведения о специфицировании и тестировании программ. Декомпозиция цели задачи на обеспечивающие подцели – функции обработки данных. Описание ограничений на входные данные, учитываемые в программе. Таблицы решений для функций задачи.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 07.07.2012
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

1. Краткие теоретические сведения о специфицировании и тестировании программ

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

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

Суть нисходящей стратегии в том, что цели разрабатываемого ПП структурируются по схеме: цели - подцели 1-го уровня - … - подцели i-го уровня - … - подцели n-уровня - функции до такой степени детализации, когда реализация подцелей последнего уровня (функций) становится очевидной.

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

На следующем этапе составляются внешние спецификации выявленных функций или, иначе, спецификации процессов. Фактически спецификации являются описаниями алгоритмов соответствующих функций. Для этих целей существует достаточно много методов, которые перечислим в порядке увеличения трудности проектирования алгоритмов:

- текстовое описание,

- структурированный естественный язык,

- таблица решений,

- дерево решений,

- визуальный язык,

- блок-схема,

- язык программирования.

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

2. Задание

Исходные данные и особенности алгоритма

Текстовые файлы на МД, структура записей которых приведена ниже:

Таблица 1 - Структура файла F1

№ предмета

Наименование предмета

Количество часов аудиторной нагрузки

Таблица 2 - Структура файла F2

№ группы

Фамилия, имя, отчество

№ предмета

Оценка

Результат обработки в виде выходного документа, представленного в таблице F3:

Таблица 3 - Структура файла F3

Фамилия, имя, отчество

№ группы

Название предмета

Объём аудиторной нагрузки

Оценка

Сгруппировать подряд оценки по предметам одного студента. Предусмотреть подсчёт среднего балла студента. Рекомендуется имена файлов типа F1 и F2 запрашивать с клавиатуры дисплея.

3. Декомпозиция цели задачи на обеспечивающие подцели - функции обработки данных

Схема декомпозиции цели задачи на обеспечивающие подцели - функции обработки данных приведена на рис. 1

Рис. 1. Схема декомпозиции цели задачи на обеспечивающие подцели - функции обработки данных

4. Описание ограничений на входные данные, учитываемые в программе обработки

4.1 Ограничения, накладываемые на входные данные, считываемые из файла F1

a) Поле «№ предмета» должно быть уникальным;

b) Поле «№ предмета» должно быть целым неотрицательным числом;

c) Поле «Наименование предмета» содержит буквы латинского и русского алфавита, а также символы пунктуации;

d) Поле «Количество часов аудиторной нагрузки» должно быть целым неотрицательным числом;

4.2 Ограничения, накладываемые на входные данные, считываемые из файла F2

a) Поле «№ группы» содержит буквы латинского и русского алфавита, цифры, а также символы пунктуации;

b) Поле «Фамилия, имя, отчество» должно содержать буквы латинского и русского алфавита, а также символы пунктуации;

c) Поле «№ предмета» должно быть целым неотрицательным числом и иметь соответствие в файле F1;

d) Поле «Оценка» должно быть целым неотрицательным числом;

5. Схемы

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

Схема работы модуля «Проверка на корректность файла F1»

Схема работы модуля «Проверка на корректность файла F2»

Схема работы модуля «Формирование выходного файла»

6. Таблицы решений для функций задачи

тестирование программа ограничение специфицирование

Методика построения ТР заключается в следующем:

а) определить все условия и действия в спецификации;

б) вписать действия и условия в таблицу;

в) в нумерованных столбцах отметить все возможные комбинации условий и выполняемых при выполнении условий действий;

г) при необходимости редуцировать таблицу (если есть 2 столбца, у которых перечень действий совпадает и которые отличаются только результатами условий `Д' и `Н' в одной строке, то такие столбцы могут быть слиты в один).

Таблица решений для подпрограммы «Проверка на корректность файла F1»

Условия

1

2

3

4

5

6

7

8

9

Файл существует и может быть открыт для чтения?

Н

Д

Д

Д

Д

Д

Д

Д

Д

Считаны все записи?

-

Н

Н

Н

Н

Н

Н

Н

Д

Поле «№ предмета» успешно считано?

-

-

Н

Д

Д

Д

Д

Д

-

Значение поля «№ предмета» уникально?

-

-

-

Н

Д

Д

Д

Д

-

Поле «Наименование предмета» успешно считано?

-

-

-

-

Н

Д

Д

Д

-

Значение поля «Наименование предмета» уникально?

-

-

-

-

-

Н

Д

Д

-

Поле «Количество часов аудиторной нагрузки» успешно считано?

-

-

-

-

-

-

Н

Д

-

Действия

Вывод сообщениея «Невозможно открыть файл F1»

1

Начать обработку следующей записи

1

2

2

2

2

2

2

Вывод сообщения «Ошибка чтения поля «№ предмета»»

1

Вывод сообщения «Значение поля «№ предмета» не уникально»

1

Вывод сообщения «Ошибка чтения поля «Наименовачние предмета»»

1

Вывод сообщения «Значение поля «Наименование предмета» не уникально»

1

Вывод сообщения «Ошибка чтения поля «Количество часов аудиторной нагрузки»»

1

Внести считанные данные в память

1

Завершить обработку файла F1

1

Таблица решений для подпрограммы «Проверка на корректность файла F2»

Условия

1

Файл существует и может быть открыт для чтения?

Н

Д

Д

Д

Д

Д

Д

Д

Считаны все записи?

Н

Н

Н

Н

Н

Н

Д

Поле «№ группы» успешно считано?

Н

Д

Д

Д

Д

Поле «Фамилия, имя, отчество» успешно считанно?

Н

Д

Д

Д

Поле «№ предмета» успешно считанно?

Н

Д

Д

Поле «Оценка» успешно считанно?

Н

Д

Действия

Вывод сообщениея «Невозможно открыть файл F2»

1

Начать обработку следующей записи

1

2

2

2

2

2

Вывод сообщения «Ошибка чтения поля «№ группы»»

1

Вывод сообщения «Ошибка чтения поля «Фамилия, имя, отчество»»

1

Вывод сообщения «№ предмета»

1

Вывод сообщение «Ошибка чтения поля «Оценка»»

1

Внести считанные данные в память

1

Завершить обработку файла F2

1

Таблица решений для подпрограммы «Формирование выходного файла F3»

Условия

1

2

3

Файл F3 существует?

Н

Д

Д

Д

Д

Д

Файл F3 можеть быть открыт для записи?

Н

Д

Д

Д

Д

Обработаны все записи?

Н

Н

Н

Д

Значению поля «№ предмета» второго файла есть соответствие в считанных из первого файла значениях?

Н

Д

Действия

Создать файл F3

1

Вывод сообщения «Невозможно записать в файл F3»

1

Начать обработку следующей записи

1

2

3

Вывод сообщения «Ошибка значения поля «№ предмета»»

1

Подсчитать средний балл

1

Запись данные в файл F3

2

Завершить формирование выходного файла

1

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

Тестирование программного обеспечения охватывает целый ряд видов деятельности, аналогичных последовательности процессов разработки программного обеспечения. В него входят:

а) постановка задачи для теста,

б) проектирование теста,

в) написание тестов,

г) тестирование тестов,

д) выполнение тестов,

е) изучение результатов тестирования.

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

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

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

- разрабатывать тесты, используя методы стратегии «черного ящика»;

- дополнительное тестирование, используя методы стратегии «белого ящика».

Тестирование функции «Проверка на корректность файла F1»

Тест №1: Проверка функционирования при несуществующем файле.

Содержание: файл F1.txt не существует

Ожидаемый результат:

Невозможно открыть файл F1.txt

Фактический результат:

Введите имя первого файла: F1.txt

Невозможно открыть файл F1.txt

Результат тестирования: неуспешный

Тест №2: Проверка функционирования при при некорректном вводе данных в поле «№ предмета».

Содержание:

файл F1.txt

1а; Математика; 140

Ожидаемый результат:

Ошибка в поле «№ предмета»

1а в 1а; Математика; 140

Запись будет пропущена.

Фактический результат:

Ошибка в поле «№ предмета»

1а в 1а; Математика; 140

Запись будет пропущена.

Результат тестирования: неуспешный

Тест №3: Проверка функционирования при неуникальных значениях поля «№ предмета».

Содержание:

файл F1.txt

1; Математика; 140

1; Русский язык; 80

Ожидаемый результат:

№ предмета 1 в записи «1; Русский язык; 80» не уникален.

Было в записи: 1, Математика, 140

Обе записи будут исключены из обработки.

Фактический результат:

Введите имя первого файла: F1.txt

№ предмета 1 в записи «1; Русский язык; 80» не уникален.

Было в записи: 1, Математика, 140

Обе записи будут исключены из обработки.

Результат тестирования: неуспешный

Тест №4: Проверка функционирования при использовании некорректного значения в поле «Наименование предмета».

Содержание:

файл F1.txt

1; Мат123*ематика; 140

Ожидаемый результат:

Ошибка в поле «Наименование предмета»

Мат123*ематика в 1; Мат123*ематика; 140

Запись будет пропущена.

Фактический результат:

Введите имя первого файла: F1.txt

Ошибка в поле «Наименование предмета»

Мат123*ематика в 1; Мат123*ематика; 140

Запись будет пропущена.

Результат тестирования: неуспешный

Тест №5: Проверка функционирования при использовании некорректного значения в поле «Количество часов аудиторной нагрузки».

Содержание:

файл F1.txt

1; Математика; 140а

Ожидаемый результат:

Ошибка в поле «Количество часов аудиторной нагрузки»

140а в 1; Математика; 140а

Запись будет пропущена.

Фактический результат:

Введите имя первого файла: F1.txt

Ошибка в поле «Количество часов аудиторной нагрузки»

140а в 1; Математика; 140а

Запись будет пропущена.

Результат тестирования: неуспешный

Тестирование функции «Проверка на корректность файла F2»

Тест №1: Проверка функционирования при несуществующем файле.

Содержание: файл F2.txt не существует

Ожидаемый результат:

Невозможно открыть файл F2.txt

Фактический результат:

Введите имя первого файла: F1.txt

Введите имя второго файла: F2.txt

Невозможно открыть файл F2.txt

Результат тестирования: неуспешный

Тест №2: Проверка функционирования при использовании некорректного значения в поле «Фамилия, имя, отчество».

Содержание:

файл F2.txt

РТ-126; Петров? 123Сергей Васильевич; 5; 5

Ожидаемый результат:

Ошибка в поле «Фамилия, имя, отчество»

Петров? 123Сергей Васильевич в РТ-126; Петров? 123Сергей Васильевич; 5; 5

Запись будет пропущена.

Фактический результат:

Введите имя второго файла: F2.txt

Ошибка в поле «Фамилия, имя, отчество»

Петров? 123Сергей Васильевич в РТ-126; Петров? 123Сергей Васильевич; 5; 5

Запись будет пропущена.

Результат тестирования: неуспешный

Тест №3: Проверка функционирования при использовании некорректного значения в поле «№ предмета».

Содержание:

файл F2.txt

РТ-126; Петров Сергей Васильевич; 5а; 5

Ожидаемый результат:

Ошибка в поле «№ предмета»

5а в РТ-126; Петров Сергей Васильевич; 5а; 5

Запись будет пропущена.

Фактический результат:

Введите имя второго файла: F2.txt

Ошибка в поле «№ предмета»

5а в РТ-126; Петров Сергей Васильевич; 5а; 5

Запись будет пропущена.

Результат тестирования: неуспешный

Тест №4: Проверка функционирования при использовании некорректного значения в поле «Оценка».

Содержание:

файл F2.txt

РТ-126; Петров Сергей Васильевич; 5; 5а

Ожидаемый результат:

Ошибка в поле «Оценка»

5а в РТ-126; Петров Сергей Васильевич; 5; 5а

Запись будет пропущена.

Фактический результат:

Введите имя второго файла: F2.txt

Ошибка в поле «Оценка»

5а в РТ-126; Петров Сергей Васильевич; 5; 5а

Запись будет пропущена.

Результат тестирования: неуспешный

Тестирование функции «Формирование выходного файла F3»

Тест №1: Проверка функционирования при отсутствии доступа к файлу.

Содержание: файл F3.txt занят другим приложением, или недостаточно прав для записи. Ожидаемый результат:

Невозможно записать в файл F3

Фактический результат:

Введите имя первого файла: F1.txt

Введите имя второго файла: F2.txt

Введите имя выходного файла: F3.txt

Невозможно записать в файл F3.txt

Результат тестирования: неуспешный

Тест №2: Проверка функционирования при несовпадении регистрационных номеров.

Содержание:

файл F1..txt

1; Математика; 140

файл F2..txt

РТ-126; Петров Сергей Васильевич; 2; 5

Ожидаемый результат:

Ошибка в поле «№ предмета», соответствие не найдено.

2 в РТ-126, Петров Сергей Васильевич, 2, 5

Фактический результат:

Введите имя первого файла: F1.txt

Введите имя второго файла: F2.txt

Введите имя выходного файла: F3.txt

Ошибка в поле «№ предмета», соответствие не найдено.

8 в РТ-126, Петров Сергей Васильевич, 8, 5

Результат тестирования: неуспешный

Безошибочное выполнение программы

Тест №1: Проверка функционирования при отсутствии ошибок в файлах. Содержание:

файл F1.txt

1; Математика; 140

2; Русский язык; 80

3; Физика; 100

4; Иностранный язык; 80

5; Информатика; 100

6; Экономика; 90

7; Психология; 80

файл F2.txt

РТ-126; Петров Сергей Васильевич; 5; 5

ИВТ-229; Иванов Иван Иванович; 1; 4

АСОИ-314; Николаев Геннадий Захирович; 1; 4

ИВТ-229; Иванов Иван Иванович; 3; 4

ИВТ-229; Иванов Иван Иванович; 4; 3

РТ-126; Петров Сергей Васильевич; 7; 4

АСОИ-314; Николаев Геннадий Захирович; 3; 3

ИВТ-229; Иванов Иван Иванович; 2; 5

АСОИ-314; Николаев Геннадий Захирович; 5; 3

РТ-126; Петров Сергей Васильевич; 6; 5

АСОИ-314; Николаев Геннадий Захирович; 7; 3

Ожидаемый результат:

Петров Сергей Васильевич, РТ-126, Информатика, 100, 5

Петров Сергей Васильевич, РТ-126, Психология, 80, 4

Петров Сергей Васильевич, РТ-126, Экономика, 90, 5

Средний балл: 4.66666666667

Иванов Иван Иванович, ИВТ-229, Математика, 140, 4

Иванов Иван Иванович, ИВТ-229, Физика, 100, 4

Иванов Иван Иванович, ИВТ-229, Иностранный язык, 80, 3

Иванов Иван Иванович, ИВТ-229, Русский язык, 80, 5

Средний балл: 4.0

Николаев Геннадий Захирович, АСОИ-314, Математика, 140, 4

Николаев Геннадий Захирович, АСОИ-314, Физика, 100, 3

Николаев Геннадий Захирович, АСОИ-314, Информатика, 100, 3

Николаев Геннадий Захирович, АСОИ-314, Психология, 80, 3

Средний балл: 3.25

Таблица в файле F3.txt

Фактический результат:

Введите имя первого файла: F1.txt

Введите имя второго файла: F2.txt

Введите имя выходного файла: F3.txt

Петров Сергей Васильевич, РТ-126, Информатика, 100, 5

Петров Сергей Васильевич, РТ-126, Психология, 80, 4

Петров Сергей Васильевич, РТ-126, Экономика, 90, 5

Средний балл: 4.66666666667

Иванов Иван Иванович, ИВТ-229, Математика, 140, 4

Иванов Иван Иванович, ИВТ-229, Физика, 100, 4

Иванов Иван Иванович, ИВТ-229, Иностранный язык, 80, 3

Иванов Иван Иванович, ИВТ-229, Русский язык, 80, 5

Средний балл: 4.0

Николаев Геннадий Захирович, АСОИ-314, Математика, 140, 4

Николаев Геннадий Захирович, АСОИ-314, Физика, 100, 3

Николаев Геннадий Захирович, АСОИ-314, Информатика, 100, 3

Николаев Геннадий Захирович, АСОИ-314, Психология, 80, 3

Средний балл: 3.25

Результат тестирования: успешный

Выводы

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

Список литературы

1. Немнюгин С.А. Программирование - М.: Питер, 2007.

2. Программирование под ред. В.В. Старлова - М: Питер, 2006

3. Кент Бек: Экстремальное программирование: разработка через тестирование - Питер, 2008

4. Канер, Фолк, Нгуен, Тестирование программного обеспечения. (Перевод с английского), 2005, издательство ДиаСофт

5. Бахтизин В.В., Глухова Л.А. Стандартизация и сертификация программного обеспечения: Учеб. пособие/ В.В. Бахтизин, Л.А. Глухова - Мн.: БГУИР, 2006. - 200 с.

6. Роберт Калбертсон, Крис Браун, Гэри Кобб. Быстрое тестирование: Издательский дом «Вильямс» /Серия института качества программного обеспечения - 374 с.

7. Синицын С.В., Налютин Н.Ю. Верификация программного обеспечения. М.:БИНОМ, 2008, 368 c.

8. Брукс Ф. Мифический человеко-месяц или как создаются программные системы. - Пер. с англ. - СПб.: Символ-Плюс, 2001. - 304 стр.: ил.

9. Котляров В.П. Основы тестирования программного обеспечения. Интернет-университет информационных технологий - INTUIT.ru, 2006 г.

10. Смагин В.А., Солдатенко В.С., Кузнецов В.В. Моделирование и обеспечение надёжности программных средств АСУ. - СПб.: ВИКУ им. А.Ф. Можайского, 1999.

Размещено на Allbest.ru


Подобные документы

  • Структура целей разрабатываемой программы и ограничения на входные и выходные данные. Таблицы решений для функции "Чтение и проверка на корректность файла". Тестирование функции "Проверка на корректность". Результат обработки в виде выходного документа.

    курсовая работа [4,1 M], добавлен 26.07.2014

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

    курсовая работа [4,1 M], добавлен 07.04.2012

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

    курсовая работа [29,2 K], добавлен 28.11.2010

  • Входные данные программы в файле "School.txt". Метод решения задачи и функциональная структура программы. Main – главная функция, формирование таблицы данных из файла. Блок-схема функции вывода фамилии победителей, занявших первые три призовых места.

    курсовая работа [68,4 K], добавлен 17.06.2012

  • Составление таблицы согласно образцу в программе MS Excel. Создание данных таблицы базы данных. Введение формул в программе MS Excel. Установление связи между таблицами. Создание запроса на выборку данных из одной таблицы с помощью мастер запросов.

    контрольная работа [4,0 M], добавлен 17.04.2016

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

    курсовая работа [1,2 M], добавлен 31.05.2013

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

    курсовая работа [2,0 M], добавлен 28.05.2015

  • Применение табличных процессоров в обработке экономической информации. Характеристика пакетов прикладных программ, содержащих электронные таблицы. Элементы электронной таблицы. Типы данных, используемых в электронных таблицах. Функции обработки данных.

    курсовая работа [64,8 K], добавлен 25.04.2009

  • Технико-математическое описание задачи. Требования к программе учета книг и читателей библиотеки. Описание языка программирования. Алгоритмы обработки информации. Текст программы. Инструкция на выполнение: вызов и загрузка, входные и выходные данные.

    дипломная работа [1,2 M], добавлен 29.06.2012

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

    курсовая работа [907,1 K], добавлен 10.01.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.