Курсовая работа. Моделирование службы доставки лекарств.- Part 10

Курсовая работа. Моделирование службы доставки лекарств.

3.2. Проведение тестирования

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

СерверИмя базыПользовательПароль
GoodServ\\SQLEXPRESSMedDelivMeds123456Med

Таблица 1. Корректные данные

Ход тестирования представлен в таблице 2

Номер тестаСерверИмя базыПользовательПарольСообщение программы
1Serv\\SQLEXPRESSMedDelivMeds123456MedСервер » Serv\\SQLEXPRESS » не найден
2GoodServ\\SQLEXPRESSmedMeds123456MedБаза «med » не найдена
3GoodServ\\SQLEXPRESSMedDelivuser123456MedНе верный пользователь или пароль
4GoodServ\\SQLEXPRESSMedDelivMeds12345Не верный пользователь или пароль
5GoodServ\\SQLEXPRESSMedDelivMeds123456MedСоединение установлено

Таблица 2. Результаты тестов

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

Следующим модулем для тестирования был выбран класс addNewProduct, который добавляет новую продукцию в базу данных. С данным классом и его формой будет работать обычный пользователь, который может умышленно ввести данные, нарушающие работоспособность программы или базы данных. В ходе тестирования данного класса было выявлено, что при отправке данных в базу не производится проверка поля ввода «Наименование Товара» на корректность ввода данных.Так как данные после ввода помещаются в SQL запрос и отправляются на сервер, пользователь при определенных знаниях может воспользоваться данной лазейкой и вставить вместо названия препарата некий запрос, способный повредить базу данных. В итоге на сервер уйдет запрос в запросе. Для исправления данной ситуации, необходимо доработать модуль checkProduct  и добавить ограничение на количество вводимых символов и, к примеру, стоп слова, которых не должно быть в названии товара (SELECT, UPDATE, INSERT и прочие).

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

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

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

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

Рис. 12 Таблица БД user

В Таблице 3 представлены корректные данные.

ЛогинПароль
lisa1234567

Таблица 3. Корректные данные

Данный пользователь был создан специально для тестов, поэтому после тестирования мы удалим его из базы для обеспечения большей безопасности. В таблице 4 представлены результаты тестов.

ЛогинПарольРеакция системы
lisa1234567Открытие главной формы программы
useruserНе верные данные
  Пустые поля

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

Рис. 13 Реакция программы на некорректные данные

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

Вывод по главе 3.

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

Страницы: 1 2 3 4 5 6 7 8 9 10 11



( Просмотров: 2 157 )
07 Фев 2020
 

Ваш отзыв