В
Критерій тестування: покриття умов
6
Натиснути клавішу <↑>
(вгору) і пересувати
курсор доти,
поки не досягне
кордону
В§ Курсор не повинен виходити
за межі поля
повне
відповідність
7
Натиснути клавішу <↓>
(вниз) і пересувати
курсор доти,
поки не досягне
кордону
В§ Курсор не повинен виходити
за межі поля
повне
відповідність
8
Натиснути клавішу <в†ђ>
(вліво) і пересувати
курсор доти,
поки не досягне
кордону
В§ Курсор не повинен виходити
за межі поля
повне
відповідність
9
Натиснути клавішу <в†’>
(вправо) і пересувати
курсор доти,
поки не досягне
кордону
В§ Курсор не повинен виходити
В§ за межі поля
повне
відповідність
10
навести курсор на
двері і натиснути
Enter
В§ Функцію не буде реаг-
В§ ровать на введення
повне
відповідність
11
навести курсор на
кімнату і натиснути
Enter
Функція повинна попроси
ть ввести вихід з лаби
Ринта.
повне
відповідність
Тестуємий модуль:
int Find (struct Lab * P, int x1, int y1, int x2, int y2)
{p> int x, y, k = 1, F = 1;
P-> Put [y2] [x2] = k; p> while (F)
{
F = 0;
for (x = 1; x <= MX; x + +)
{p> for (y = 1; y <= MY; y + +)
{p> if (P-> Put [y] [x] == k)
{p> if (P-> Map [y +1] [x]! = 0 && P-> Put [y +1] [x] == 0)
{ P-> Put [y +1] [x] = k +1; F = 1;}
if (P-> Map [y-1] [x]! = 0 && P-> Put [y-1] [x] == 0)
{ P-> Put [y-1] [x] = k +1; F = 1;}
if (P-> Map [y] [x +1]! = 0 && P-> Put [y] [x +1] == 0)
{ P-> Put [y] [x +1] = k +1; F = 1;}
if (P-> Map [y] [x-1]! = 0 && P-> Put [y] [x-1] == 0)
{ P-> Put [y] [x-1] = k +1; F = 1;}
} p> } p> } p> k + +;
} p> if (P-> Put [y1] [x1] == 0)
{
gotoxy (3,7); printf ("Шлях не знайдено");
}
else
{
gotoxy (3,7); printf ("Найкоротший шлях знайдений");
}
У модуль має передаватися карта поля і координати двох вершин х1, y1
і х2, y2 получениє від функції Vvod, між якими необхідно знайти
найкоротший шлях.
Г? Для цього модуля маємо наступні тести (Таблиця 3):
Таблиця 3 - Тести для модуля Find
№
тесту
В
Дія
Бажане поведе-
ня функції
Відповідність
В§
В§ Критерій тестування: покриття рішень/умов
1
Необхідно сформували-
ровать лабіринт і
ввести дві вершини,
між якими
необхідно знайти
найкоротший шлях
функція повинна знайти шлях
і видати відповідне
повідомлення
повне
відповідність
2
Необхідно сформували-
ровать незв'язаність
лабіринт і ввести 2
вершини, між
якими необхід-
мо знайти шлях
функція не повинна знайти
шлях і видати відпо-
вующее повідомлення
повне
відповідність
Текст програми
# include
void main ()
{
static struct Lab P;
int X1, X2, Y1, Y2;
char a;
do {
Grin (& P);
// q (& P);
Rasstan (& P),
Vvod (& P, & X1, & Y1, & X2, & Y2),
if (! Find (& P, X1, Y1, X2, Y2))
{
gotoxy (3,7); printf ("Шлях не знайдено ...