Рефераты. Информационная система ГИБДД

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

Тестирование программы методом «белого ящика»

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

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

Восходящее тестирование.

При восходящем подходе программа собирается и тестируется «снизу вверх». Только модули самого нижнего уровня тестируются изолированно, автономно. После того как тестирование этих модулей завершено, вызов их должен быть так же надежен, как вызов встроенной функции языка или оператор присваивания. Затем тестируются модули, непосредственно вызывающие уже проверенные. Эти модули более высокого уровня тестируются не автономно, а вместе с уже проверенными модулями более низкого уровня. Процесс повторяется до тех пор, пока не будет достигнута вершина. Здесь завершается и тестирование модулей, и тестирование сопряжений программы. При восходящем тестировании для каждого модуля необходим драйвер: нужно подавать тесты в соответствии с сопряжением тестируемого модуля. Одно из возможных решений -- написать для каждого модуля небольшую ведущую программу. Тестовые данные представляются как «встроенные» непосредственно в эту программу переменные и структуры данных, и она многократно вызывает тестируемый модуль, с каждым вызовом передавая ему новые тестовые данные. Имеется и лучшее решение: воспользоваться программой тестирования модулей - это инструмент тестирования, позволяющий описывать тесты на специальном языке и избавляющий от необходимости писать драйверы. Здесь отсутствуют проблемы, связанные с невозможностью или трудностью создания всех тестовых ситуаций, характерные для нисходящего тестирования. Драйвер как средство тестирования применяется непосредственно к тому модулю, который тестируется, где нет промежуточных модулей, которые следует принимать во внимание. Не существует также и трудностей с незавершенностью тестирования одного модуля при переходе к тестированию другого, потому что при восходящем тестировании с применением нескольких версий заглушки нет сложностей с представлением тестовых данных.

Нисходящее тестирование.

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

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

2.6.3 Процесс и результат тестирования

Объектом испытаний в дипломном проекте является программа база данных «Информационная система ГИБДД».

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

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

Программа база данных «Информационная система ГИБДД» была протестирована методом «чёрного ящика».

Тест №1. Запуск программы.

Результат: Программа запускается без ошибок.

Тест №2. Проверка работы меню (выбирается любой пункт меню).

Результат: Открытие необходимого окна.

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

Результат: Работа с базой данных выполняется правильно.

Тест №4. Проверка кнопки для выполнения запроса.

Результат: Запрос выполняется верно.

Тест №5. Проверка кнопки для открытия «Справки».

Результат: Открытие необходимого окна.

Тест №6. Проверка кнопки для просмотра информации «О программе»

Результат: Открытие необходимого окна.

Тест №7. Проверка пункта меню «Выход».

Результат: Пункт меню «Выход» работает без ошибок.

Все компоненты работают исправно. Все функции в программе

отвечают поставленным требованиям. В случае неправильных действий программа выдает предусмотренные в ней сообщения. Тест пройден успешно.

2.7 Программная документация

2.7.1 Руководство программиста

Назначение и условия применения программы:

1) приложение «Информационная система ГИБДД» представляет собой программу для управления базой данных;

2) программа полностью автоматизирует труд оператора ЭВМ: автоматически заносит вводимые пользователем данные в таблицы базы данных, изменяет структуру таблиц (добавление/удаление записей)

3) программа хранит все сведения об автомобилях и их владельцев: личные данные владельца и автомобиля.

4) также программа хранит сведения о дорожно-транспортном происшествии: место ДТП, ущерб, количество пострадавших и т. д.

Загрузка программы возможна с дискеты, жесткого диска, CD диска, открыванием файла с именем «БД ГИБДД.exe».

Программа использует БД Paradox, для доступа к данным используется BDE версии 5.

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

a) Скопировать каталог программы на жесткий диск.

b) Установить BDE. Для этого нужно запустить BDE Administrator
(\Program Files\Common Files\Borland Shared\BDE\bdeadmin.exe). Затем создать псевдоним базы данных (Object\New). В выпадающем списке выбрать драйвер БД - STANDARD и переименовать его на STANDARD2. Убедиться, что Default Driver = PARADOX (при необходимости выбрать из выпадающего списка).

c) Записать изменения (Object\Apply).

d) После всего этого запустить файл «Информационная система ГИБДД.exe».

2.7.2 Руководство оператора

Для запуска программы, необходимо запустить файл с именем «Информационная система ГИБДД.exe».

После открытия этого файла появляется главная форма «Информационная система ГИБДД» (рисунок 1). Здесь оператор может выбрать базу данных, с которой хочет работать, вызвать справку и информацию «О программе», а также выйти из программы.

Рисунок 1 Окно главной формы.

Если оператор нажмет на вкладку «Справочник номеров частных владельцев» (которая находится в меню «Файл» на левой стороне окна), то появится окно (рисунок 2) в котором хранится база данных о номерах выданных частным владельцам. В этом окне имеется фильтрация по техосмотру, диапазон (поиск данных по дате) и при вводе номера автомобиля появляется вся информация о владельце и автомобиле (состоит из вкладок).

Страницы: 1, 2, 3, 4, 5, 6, 7



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.