Программа как формализованное описание процесса о бработки данных. Программное средство. Целью программирования является описание процессов обработки данных в дальнейшем  просто

Вид материалаПрограмма
Тестирование модулей
Нисходящее тестирование
Комбинируемый подход
Критерии завершения тестирования и отладки.
Оценочное тестирование
Накопление погрешностей
Методы отладки программного обеспечения и
Интегрированные средства отладки.
Общая методика отладки программного обеспечения.
Пример отладочного вывода информации в контрольных точках
Руководство пользователя
Руководство пользователя, содержит следующие разделы
Руководство системного программиста (администратора)
Должен содержать следующие разделы
Подобный материал:
1   2   3   4   5   6   7   8

Тестирование модулей


При тестировании модулей программного обеспечения, возможно применение нисходящего и восходящего подхода тестирования.

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



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



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

Достоинства: - ранняя проверка основных модулей и многократное тестирование сопряжения модулей.

Комбинируемый подход - объединение нисходящего и восходящего тестирования. Модули верхних уровней тестируют нисходящим способом, а модули нижних уровней – восходящим.


Критерии завершения тестирования и отладки.

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

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

Оценочное тестирование


Целью оценочного тестирования (тестирование системы в целом) является тестирование программы на соответствие основным требованиям.
  • тестирование удобства использования – последовательная проверка соответствия программного продукта и документации на него основным положениям технического задания.
  • тестирование на предельных объемах – проверка работоспособности программы на максимально больших объемах данных, например объемах текстов, таблиц, большом количестве файлов и т.д.
  • тестирование на предельных нагрузках – проверка выполнения программы на возможность обработки большого объема данных, поступивших в течение короткого времени.
  • тестирование удобства эксплуатации – анализ психологических факторов, возникающих при работе с программным обеспечением; это тестирование позволяет определить, удобен ли интерфейс, не раздражает ли цветовое или звуковое сопровождение и т.п.
  • тестирование защиты – проверка защиты, например от несанкционированного доступа к информации.
  • Тестирование производительности – определение пропускной способности при заданной конфигурации и нагрузке.
  • Тестирование требований к памяти – определение реальных потребностей в оперативной и внешней памяти.
  • Тестирование конфигурации оборудования – проверка работоспособности программного обеспечения на разном оборудовании.
  • Тестирование совместимости – проверка преемственности версий: в тех случаях, если очередная версия системы меняет формат данных, она должна предусматривать специальные конвекторы, обеспечивающие возможность работы с файлами, созданными предыдущей версии системы.
  • Тестирование удобства установки – проверка удобства установки.
  • Тестирование надежности – проверка надежности с использованием соответствующих математических моделей.
  • Тестирование восстановления – проверка восстановления программного обеспечения, например системы, включающей базу данных, после сбоев оборудования и программы.
  • тестирование удобства обслуживания – проверка средств обслуживания, включенных в программное обеспечение.
  • тестирование документации – тщательная проверка документации, например, если документация содержит примеры, то их все необходимо попробовать.
  • тестирование процедуры – проверка ручных процессов, предполагаемых в системе.

Как правило, для каждого типа программного обеспечения выполняют те виды тестирования, которые являются для него наиболее важным. Так базы данных обязательно тестируют на предельных объемах, а системы реального времени – на предельных нагрузках.


Отладка программного обеспечения

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

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

Неверное определение исходных данных происходит, если возникают ошибки при выполнении операций ввода-вывода: ошибки передачи, ошибки преобразования, ошибки перезаписи и ошибки данных.

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

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


Методы отладки программного обеспечения и

средства получения дополнительной информации

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

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

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

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

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

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


Общая методика отладки программного обеспечения.

1 этап – изучение проявленной ошибки. Изучение характера ошибки и осмысление того вследствие чего произошла ошибка.

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

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

4 этап – исправление ошибки – внесение исправлений в фрагмент программы.

5 этап – повторное тестирование.

Пример отладочного вывода информации в контрольных точках




Составление программной документации.

Пояснительная записка.

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

Содержание пояснительной записки (ГОСТ 19.404-79)
  1. введение - в данном разделе указывают наименование программы и документы, на основании которого ведется разработка.
  2. назначение и область применения – в данном разделе указывают назначение программы и дают краткую характеристику области применения.
  3. технические характеристики – содержит следующие подразделы:
    • постановка задачи, описание применяемых математических методов и допущений и ограничений, связанных с выбранным математическим аппаратом.
    • описание алгоритмов и функционирования программы с обоснованием принятых решений.
    • описание и обоснование выбора способа организации входных и выходных данных.
    • описание и обоснование выбора состава технических и программных средств на основании проведенных расчетов или анализов.



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

Руководство пользователя

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

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

Руководство системного программиста (администратора)

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

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