Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом ИПОВС 2003 / Пояснительная запискаFinalVersion.doc
Скачиваний:
57
Добавлен:
16.04.2013
Размер:
1.28 Mб
Скачать
      1. Основные факторы надёжности системы

Система выбора оптимальных туристских маршрутов имеет следующие наиболее важные аспекты надёжности работы:

  • корректность работы базы данных;

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

  • устойчивость к неверному вводу информации.

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

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

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

      1. Метод «силовой отладки»

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

Рис. 11 Тестовая форма с параметрами алгоритма и выходными значениями

      1. Методы тестирования

Существует два основных подхода к тестированию:

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

  2. Тестирование программы как “белого ящика”. Стратегия белого ящика, или стратегия тестирования, управляемого логикой программы, позволяет использовать внутреннюю структуру программы. В этом случае программист получает тестовые данные путем анализа логики программы.

Также существует 3 основных способа тестирования: алгоритмическое, аналитическое и содержательное.

        1. Алгоритмическое тестирование

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