软件测试课程设计报告书 下载本文

. . .

条件覆盖

x=1,y=1

x=-1,y=-1

..........

. . .

3.程序代码

#include /*static */int sign=0; static char m='T',n='T'; //int logicExample(int,int); int logicExample(int x,int y) {

int magic=0; if(x>0&&y>0) {

magic=x+y+10;sign++; } else {

magic=x+y-10;m='F'; }

if(magic<0) {

magic=0;sign+=2; }

else n='F'; return magic; }

main(){

..........

. . .

int x,y;

//static int sign=0;

//static char m='T',n='T',

char p[4][5]={\cout<<\cout<<\请输入 x:\cin>>x;

cout<<\请输入 y:\cin>>y;

cout<<\已知:0\cout<<\cout<<\测试结果分别是:\cout<<\

cout<<\的值 y的值 logic的值 判定M 判定N 覆盖路径\

cout<<\n';

cout<

cout<<\}

4.画出程序的控制流图

流程图:

3.2黑盒测试

1)选择测试方法

选择greatCircleDistance()函数

greatCircleDistance()计算球面距离,输入的分别为两个点的经度和纬度以及球的半径,以下为其源代码

..........

. . .

2)设计测试用例(用例列表)

针对此函数我运用了等价类划分的方法生成JUnit测试用例总共划分出25个用例,等价类分别是:

对LatitudeS划分:-90到0,0到90以及不合法输入; 对LongitudeS划分:-180到0,0到180以及不合法输入; 对LatitudeF划分:-90到0,0到90以及不合法输入; 对LongitudeF划分:-180到0,0到180以及不合法输入; 对半径R的划分:大于0以及不合法输入; 以下为具体的测试用例: LatitudeS LongitudeS LatitudeF LongitudeF R 预期结果 实际测试结果 30 30 30 30 100 0 通过 30 30 30 -120 100 115.98 通过 30 30 -60 30 100 157.08 通过 ..........