Junit白盒测试测试用例Word格式文档下载.docx

上传人:b****6 文档编号:17714328 上传时间:2022-12-08 格式:DOCX 页数:17 大小:20.77KB
下载 相关 举报
Junit白盒测试测试用例Word格式文档下载.docx_第1页
第1页 / 共17页
Junit白盒测试测试用例Word格式文档下载.docx_第2页
第2页 / 共17页
Junit白盒测试测试用例Word格式文档下载.docx_第3页
第3页 / 共17页
Junit白盒测试测试用例Word格式文档下载.docx_第4页
第4页 / 共17页
Junit白盒测试测试用例Word格式文档下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

Junit白盒测试测试用例Word格式文档下载.docx

《Junit白盒测试测试用例Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Junit白盒测试测试用例Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。

Junit白盒测试测试用例Word格式文档下载.docx

检查所写文档,有需要进行修改

2.2、测试环境

下表列出了测试的系统环境

机器环境

工作计算机

软件环境

(相关软件、操作系统等)

WindowsXPSP3

jdk1.6.0_06

EclipsePlatformVersion:

3.3.3

硬件环境

(设备、网络等)

笔记本电脑

2.3、测试工具

用途

工具名称

生产厂商

版本

单元测试

JUNIT

JUnit.org

4.7/3.8

三、测试

3.1、greatCircleDistance()函数

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

publicstaticdoublegreatCircleDistance(doublelatitudeS,

doublelongitudeS,doublelatitudeF,doublelongitudeF,doubler)

{

if(latitudeS<

=-90||latitudeS>

=90||

latitudeF<

=-90||latitudeF>

longitudeS<

=-180||longitudeS>

=180||

longitudeF<

=-180||longitudeF>

=180||r<

0){

thrownewIllegalArgumentException();

}

latitudeS=Math.toRadians(latitudeS);

latitudeF=Math.toRadians(latitudeF);

longitudeS=Math.toRadians(longitudeS);

longitudeF=Math.toRadians(longitudeF);

doubledeltaLongitude=longitudeF-longitudeS;

doublea=Math.cos(latitudeF)*Math.sin(deltaLongitude);

doubleb=Math.cos(latitudeS)*Math.sin(latitudeF);

b-=Math.sin(latitudeS)*Math.cos(latitudeF)

*Math.cos(deltaLongitude);

doublec=Math.sin(latitudeS)*Math.sin(latitudeF);

c+=Math.cos(latitudeS)*Math.cos(latitudeF)

if(c<

0)

c=-c;

returnMath.atan(Math.sqrt(a*a+b*b)/c)*r;

}

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

●对latitudeS划分:

-90到0,0到90以及不合法输入;

●对longitudeS划分:

-180到0,0到180以及不合法输入;

●对latitudeF划分:

●对longitudeF划分:

●对半径r的划分:

大于0以及不合法的输入;

以下为具体的测试用例:

latitudeS

longitudeS

latitudeF

longitudeF

r

预期结果

实际测试结果

30

100

通过

-120

115.98

-60

157.08

63.003

131.812

89.566

112.296

135.256

100.807

72.273

50.536

120

60

抛出异常

-210

210

-100

3.2、compareBytes()函数

compareBytes()方法实现了数组的比较,将数组a的内容与数组b的内容比较,比较时将数组中数据视为无符号数。

当a小于b时返回-1,a大于b时返回1,相等时返回0。

以下为源代码:

publicstaticintcompareBytes(byte[]a,intaOff,byte[]b,intbOff,intlen)

{

if(a==null||b==null){

thrownewIllegalArgumentException("

Illegalarray"

);

if(aOff<

0||bOff<

Illegaloffset"

if(len<

Illegallen"

if(len>

a.length-aOff||len>

b.length-bOff){

Notenoughbyteslefttocompare!

"

for(inti=0;

i<

len;

i++){

//wewantourcomparisontobeunsigned.

finalintab=a[aOff+i]&

0xff;

finalintbb=b[bOff+i]&

if(ab>

bb){

return1;

}elseif(ab<

return-1;

}

return0;

}

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

●数组a:

可划分为合法输入与不合法输入(具体为null);

●aOff:

可以划分为<

0以及>

=a.length;

●数组b:

可划分为合法输入与不合法输入(具体为null);

●bOff:

=b.length;

●len:

可以划分为合法与不合法(具体包括len<

0以及len>

b.length–bOff;

●此外,数组a,b还需考虑符号扩展问题。

对于数组中元素,需分别考虑其大于0、小于0的情况(此时,其对应的无符号数大于或等于0x80)。

数组a

aOff

数组b

bOff

len

null

1

{5,6,2,3}

2

{1,2,3}

-1

3

-2

4

{1,2,3,4}

{5,6,3,3}

{5,6,0xf0,3}

{1,0xf0,3}

{5,6,0xf1,3}

{1,3,3}

{1,0xff,3}

{1,0xf1,3}

{1,3,2}

{1,3,0xf0}

{5,6,3,0xf1}

{5,6,3,2}

{1,3,0xf1}

{5,6,3,0xf0}

3.3、getHue()函数

getHue()方法是计算HSL颜色模型中的Hue参数,以下为其源码:

publicstaticfloatgetHue(floatred,floatgreen,floatblue,floatmax,floatmin)

floathue=max-min;

if(hue>

0.0f){

if(max==red){

hue=(green-blue)/hue;

if(hue<

hue+=6.0f;

elseif(max==green){

hue=2.0f+(blue-red)/hue;

elseif(max==blue){

hue=4.0f+(red-green)/hue;

else{

thrownewIllegalArgumentException("

invalidmax"

hue*=60f;

elseif(hue<

0.0f){

max<

min"

returnhue;

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

●对max参数进行划分:

max=blue,max=red,max=red

max=green,max不等于以上三种参数中的任何一种,max<

min。

●当max=red时,进行如下划分:

green>

blue,green<

=blue

red

green

blue

max

min

0.2

0.6

0.8

200

40

320

80

0.5

3.4、arraycopy()函数

Arraycopy()方法实现了数组的复制,将源数组src的内容复制到数组dst中,以下为源代码:

publicstaticvoidarraycopy(byte[]src,intsrc_position,byte[]dst,intdst_position,intlength)

if(src==null)

srcwasnull"

if(dst==null)

dstwasnull"

if(length<

lengthwaslessthan0"

if(src_position<

thrownewIllegalArgumentException("

src_positionwaslessthan0.Actualvalue"

+src_position);

if(src_position+length>

src.length)

src_position+lengthwouldoverrunthesrcarray.Expectedendat"

+(src_position+length)+"

actualendat"

+src.length);

if(dst_position<

dst_positionwaslessthan0.Actualvalue"

+dst_position);

if(dst_position+length>

dst.length)

dst_position+lengthwouldoverrunthedstarray.Expectedendat"

+(dst_position+length)+"

+dst.length);

System.arraycopy(src,src_position,dst,dst_position,length);

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

●数组Src:

●src_position:

可分为合法输入以及不合法输入,其中不合法输入包括:

小于0,src_position+length>

=src.length,其中合法输入又可分为等于0和大于0;

●数组dst:

可划分为合法输入与不合法输入(具体为null),其中合法输入可分为和src是同一数组以及不是同一数组的情况;

●dst_position:

可分为合法输入以及不合法输入,其中不合法输入包括:

小于0,dst_position+length>

=dst.length,其中合法输入又可分为等于0和大于0;

●length:

可划分为合法输入以及不合法输入(具体指length<

0);

数组src

src_position

数组dst

dst_position

length

{1,2}

{3,4}

{3,4,5,6}

{3,4,5}

{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}

与src为同一数组

5

同上

{0,1,0,1,2,3,4,,7,8,9,10,11,12,13,14,15,16}

{2,3,4,5,6,5,6,7,8,9,10,11,12,13,14,15,16}

10

{0,1,2,10,11,12,13,14,8,9,10,11,12,13,14,15,16}

{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}

数组dst不变

{2,3,4,5,6,5,6,7,8,9,10,11,12,13,14,15,16}

{0,1,2,10,11,12,13,14,8,9,10,11,12,13,14,15,16}

3.5、computeIntersection()函数

computeIntersection()方法计算两个矩形相交部分所形成的矩形的坐标,以下为其源码:

publicstaticRectanglecomputeIntersection(intx,inty,intwidth,intheight,Rectangledest)

if(dest==null)

returnnull;

if(x<

0||y<

0||width<

0||height<

intx1=(x>

dest.x)?

x:

dest.x;

intx2=((x+width)<

(dest.x+dest.width))?

(x+width):

(dest.x+

dest.width);

inty1=(y>

dest.y)?

y:

dest.y;

inty2=((y+height)<

(dest.y+dest.height)?

(y+height):

(dest.y+

dest.height));

dest.x=x1;

dest.y=y1;

dest.width=x2-x1;

dest.height=y2-y1;

//Ifrectanglesdon'

tintersect,returnzero'

dintersection.

if(dest.width<

0||dest.height<

dest.x=dest.y=dest.width=dest.height=0;

returndest;

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

●针对第一个矩形的属性坐标(x,y),宽width以及高height大体分为合法输入和不合法输入(具体为输入小于0的数)。

●合法输入中有根据两个矩形的位置的不同情况又进行了划分,具体而言,设第一个矩形的左上角顶点坐标为(x1,y1),右下角顶点坐标为(x2,y2),x1、x2与第二个矩形横坐标的关系有:

小于其左边横坐标,在二边中间,大于右边横坐标。

y1、y2与第二个矩形纵坐标的关系也可做类似划分。

●dest:

分为null和合法输入;

x

y

width

height

dest

-10

(10,10,100,100)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 家庭教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1