Разработка клиент-серверного приложения для автоматизации учёта движения товаров магазина интерьерных принадлежностей

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

?и.

 

.3.5 Сообщения

В процессе работы программного стенда пользователю могут выдаваться сообщения в виде стандартных диалоговых окон.

Перечень сообщений и порядок действия описан в документе Руководство оператора.

 

6. Тестирование информационной системы

 

.1 Программа и методика тестирования

 

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

Проверке в процессе тестирования подлежит процедура AddPur, которая используется для добавления записи в таблицу "Товары".

Порядок испытаний:

Тестирование методом белого ящика процедуры AddPur.

Тестирование методом чёрного ящика процедуры AddPur.

 

.1.1 Тестирование методом "белого ящика"

Для тестирования методом "белого ящика" построим потоковый граф на основании кода процедуры AddPur:

private void AddPur(){

(1)if ((mtbPurGoodID.Text != "")&

(2) (mtbPurSupID.Text != "")&

(3) (mtbPurCnt.Text != "")&

(4) (mtbPurPrice.Text !=""))

(5){con.Open();

(5) SqlCommandcom = con.CreateCommand();

(5)com.CommandText = "EXECUTE @result = AddPur @GID, @SID, @Cnt, @p, @d";

(5)com.Parameters.Add("@result", SqlDbType.Int);

(5)com.Parameters["@result"].Direction = ParameterDirection.Output;

(5)com.Parameters.Add("@GID", SqlDbType.Int).Value = Convert.ToInt32(mtbPurGoodID.Text);

(5)com.Parameters.Add("@SID", SqlDbType.VarChar).Value = mtbPurSupID.Text;

(5)com.Parameters.Add("@Cnt", SqlDbType.Int).Value = Convert.ToInt32(mtbPurCnt.Text);

(5)com.Parameters.Add("@p", SqlDbType.Money).Value = Convert.ToInt32(mtbPurPrice.Text);

(5)com.Parameters.Add("@d", SqlDbType.DateTime).Value = DateTime.Now.ToString();

(5)com.ExecuteNonQuery();

(5) int temp = Convert.ToInt32(com.Parameters["@result"].Value);

(6)if (temp != 0)

(7) MessageBox.Show("Некорректные данные");

(8) else

(8) MessageBox.Show("Закупка добавлена");

(9) con.Close();

(9) UpdateData();}

(10) else

(10) MessageBox.Show("Заполните все поля!");

(11)}}

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

Рисунок 39 - Потоковый граф тестирования процедуры AddPur

 

Определим цикломатическую сложность полученного графа 3 способами:

V(G) = 6 регионов = 6

V(G) = 15 дуг - 11 узлов + 2 = 6

V(G) = 5 предикатных узлов +1 = 6

Составим множество базовых путей:

-10-11

-2-10-11

-2-3-10-11

-2-3-4-10-11

-2-3-4-5-6-8-9-11

-2-3-4-5-6-7-9-11

На основе множества базовых путей составим тестовые варианты, по одному для каждого пути. Тестовые варианты приведены в таблице 4.

 

Таблица 4. Тестовые варианты

№ путиИсходные данныеОжидаемые результатыРеальные результаты1При вводе данных поле "Артикул" остается незаполненным "Добавление не будет выполнено, будет выведено сообщение о том, что не все поля заполнены.Запись не добавлена, выведено сообщение о том, что не все поля заполнены.2При вводе данных поле "Поставщик" остается незаполненным "Добавление не будет выполнено, будет выведено сообщение о том, что не все поля заполнены.Запись не добавлена, выведено сообщение о том, что не все поля заполнены.3При вводе данных поле "Количество" остается незаполненнымДобавление не будет выполнено, будет выведено сообщение о том, что не все поля заполнены.Запись не добавлена, выведено сообщение о том, что не все поля заполнены.4При вводе данных поле "Цена" остается незаполненнымДобавление не будет выполнено, будет выведено сообщение о том, что не все поля заполнены.Запись не добавлена, выведено сообщение о том, что не все поля заполнены.5При вводе данных в поле "Поставщик" введено не существующее наименование поставщикаДобавление не будет выполнено, будет выведено сообщение о том, что введены некорректные данныеЗапись не добавлена, выведено сообщение о том, что введены некорректные данные.6При вводе все поля заполнены верноДобавление не будет выполнено, запись появится в таблицеЗапись успешно добавлена

.1.2 Тестирование методом "черного ящика"

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

Для тестирования методом "черного ящика" процедуры AddPur воспользуемся способом разбиения на классы эквивалентности. На основании спецификации можно составить дерево разбиений.

Дерево разбиений приведено на рисунке 40.

 

Рисунок 40 - Дерево разбиений

 

Дерево разбиений имеет 3 листа. Составим тестовые варианты для каждого из листьев. Тестовые варианты приведены в таблице 5.

 

Таблица 5. Тестовые варианты для метода "черного ящика"

№Исходные данныеОжидаемые результатыРеальные результаты1При вводе данных поле "Артикул" остается незаполненным "Добавление не будет выполнено, будет выведено сообщение о том, что не все поля заполнены.Запись не добавлена, выведено сообщение о том, что не все поля заполнены.2При вводе данных в поле "Поставщик" введено не существующее наименование поставщикаДобавление не будет выполнено, будет выведено сообщение о том, что введены некорректные данныеЗапись не добавлена, выведено сообщение о том, что введены некорректные данные.3При вводе все поля заполнены верноДобавление не будет выпол