Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Гафаров_Отчет.doc
Скачиваний:
7
Добавлен:
11.03.2015
Размер:
1.09 Mб
Скачать

5 Вывод

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

Лабораторная работа № 2 «Технология тестирования ПО при структурном подходе»

1 Постановка задачи

Разработать и провести тесты для приложения, реализованного в лабораторной работе № 1, по методу «белого ящика».

2 Цель работы

Изучить метод «белого ящика» тестирования ПО и применить полученные знания на практике.

3 Проектирование тестов

Далее приведено проектирование тестов по методу «белого ящика» для узкого места приложения – метода определения касания. Формирование тестовых наборов осуществляется по принципу покрытия условий.

Код метода проверки касания.

function CheckContact: Integer;

var

Index: Integer;

MinSurfaceDistance: Double;

begin

Result := 0;

with MovementParams do

begin

// Проверить касание коробки.

if (GetBallRect.Left <= 0) and (BallVariable.X <= PreviousPoint.X) then

begin

Result := 1;

CalculateAlpha(ctBoxLeft, 0);

end

else

if (GetBallRect.Right >= BoxWidth) and (BallVariable.X >= PreviousPoint.X) then

begin

Result := 2;

CalculateAlpha(ctBoxRight, 0);

end

else

if (GetBallRect.Top >= BoxHeight) and (BallVariable.Y >= PreviousPoint.Y) then

begin

Result := 3;

CalculateAlpha(ctBoxTop, 0);

end

else

if (GetBallRect.Bottom <= 0) and (BallVariable.Y <= PreviousPoint.Y) then

begin

Result := 4;

CalculateAlpha(ctBoxBottom, 0)

end

else

begin

CalculateMinSurfaceDistance(Index, MinSurfaceDistance);

if (Index <> -1) and (MinSurfaceDistance <= BallVariable.Radius) and

(MinSurfaceDistance < DistBetweenPoints2R(Vector2R(Surface[Index].X,

Surface[Index].Y), PreviousPoint)) then

begin

Result := 5;

CalculateAlpha(ctSurface, Index);

end;

end;

end;

end;

Входными данными являются параметры передвижения MovementParams, параметры мячаBallVariable, и поверхностьSurface.

Представление метода в виде графа изображено на рисунке 3.1.

Рисунок 3.1 – Метод CheckContact, представленный в виде графа

Как видно из рисунка в методе имеется 5 условий, выполнение каждого из которых делает невозможным выполнение остальных. Таким образом, необходимо сформировать данные для следующих переходов 1-2-3-12, 1-2-4-5-12, 1-2-4-6-7-12, 1-2-4-6-8-9-12, 1-2-4-6-8-10-11-12 и 1-2-4-6-8-10-12. В таблице 3.1 приведены данные удовлетворяющие переходам.

Таблица 3.1.

Переход

Значения параметров

Ожидаемый результат

1-2-3-12

BallVariable.Radius = 20; BallVariable.X = 20; PreviousPointX = 20

1

1-2-4-5-12

BoxWidth = 600; BallVariable.Radius = 20; BallVariable.X = 581; PreviousPointX = 580

2

1-2-4-6-7-12

BoxHeight = 480; BoxWidth = 600; BallVariable.Radius = 20; BallVariable.Y = 461; BallVariable.X = 300; PreviousPointY = 460; PreviousPointX = 300

3

1-2-4-6-8-9-12

BoxHeight = 480; BoxWidth = 600; BallVariable.Radius = 20; BallVariable.Y = 20; BallVariable.X = 300; PreviousPointY = 21; PreviousPointX = 300

4

1-2-4-6-8-10-11-12

BoxHeight = 480; BoxWidth = 600; BallVariable.Radius = 20; BallVariable.Y = 40; BallVariable.X = 300; PreviousPointY = 41; PreviousPointX = 300;Surface[0] .X =300; Surface[0] .Y =20;

5

1-2-4-6-8-10-12

BoxHeight = 480; BoxWidth = 600; BallVariable.Radius = 20; BallVariable.Y = 40; BallVariable.X = 300; PreviousPointY = 20; PreviousPointX = 300;Surface[0] .X =300; Surface[0] .Y =20; Length(Surface) = 1;

0