В«чорного ящикаВ» процедури 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
На основі безлічі базових шляхів складемо тестові варіанти, по одному для кожного шляху. Тестові варіанти наведені в табл...