《软件测试黑盒白盒测试方法综合实训》文档格式.docx

上传人:b****5 文档编号:17412164 上传时间:2022-12-01 格式:DOCX 页数:26 大小:643.82KB
下载 相关 举报
《软件测试黑盒白盒测试方法综合实训》文档格式.docx_第1页
第1页 / 共26页
《软件测试黑盒白盒测试方法综合实训》文档格式.docx_第2页
第2页 / 共26页
《软件测试黑盒白盒测试方法综合实训》文档格式.docx_第3页
第3页 / 共26页
《软件测试黑盒白盒测试方法综合实训》文档格式.docx_第4页
第4页 / 共26页
《软件测试黑盒白盒测试方法综合实训》文档格式.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

《软件测试黑盒白盒测试方法综合实训》文档格式.docx

《《软件测试黑盒白盒测试方法综合实训》文档格式.docx》由会员分享,可在线阅读,更多相关《《软件测试黑盒白盒测试方法综合实训》文档格式.docx(26页珍藏版)》请在冰豆网上搜索。

《软件测试黑盒白盒测试方法综合实训》文档格式.docx

T12

Day>

31

闰年

T4

输入2月29日

T13

输入闰年2月30日

平年

T5

输入2月28日

T14

输入类型

T6

输入int性

T15

输入除int型任意型

等价类测试法:

测试用例

输入

预期结果

测试结果

覆盖等价类

2010-1-1

2010/01/02

T1,T2,T3,T6

2

2000-2-29

2001/03/01

3

2001-02-28

2001-03-01

4

2600-3-4

无效输入

5

1800-5-12

6

1997-0-1

7

1998-20-1

8

2018-1-0

9

2018-3-66

10

2000-2-30

11

2014-2-29

DAEE*&

多变量边界测试法:

对于n个变量的程序采用五点法产生4n+1个测试用例,本实验题有三个变量即有4*3+1=13个测试用例

1900-1-1

1900-1-2

1901-3-9

1901-3-10

1975-6-15

1975-6-16

2049-8-11

2049-8-12

2050-12-31

1999-1-13

1992-1-14

1992-2-13

1992-2-14

2001-11-9

2001-11-10

2018-12-9

2018-12-10

2003-8-1

2003-8-2

2011-8-2

2011-8-3

2015-7-30

2015-8-1

13

2016-5-31

2015-6-1

3、结果分析与问题讨论

通过本次实验,我对黑盒测试用例有了进一步的了解。

实验要求使用等价类划分法、边界值法的设计测试用例。

在分析边界值设计时测试有点混,因为针对于本实验可以采用多变量边界值分析(通常采用“五点法”)或者健壮性边界值分析(通常采用“七点法”),本题有是有三个变量的程序,采用五点法将产生4n+1=4*3+1=13个测试用例,对于多变量健壮性边界值分析,需要设计6n+1=6*3+1=19个测试用例。

在本次实验我采用的方法是五点法,测试用例比较多,需要认真分析。

(二)黑盒测试实训二

理解黑盒测试的基本方法,掌握因果图法和决策表法设计测试用例。

1)某软件规格说明书包含这样的要求:

第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;

如果第二列字符不是数字,则给出信息M。

要求:

a.根据问题描述画出因果图。

b.画出决策表并设计测试用例。

1)根据题意,

条件桩:

问题的所有条件:

c1:

第一列为Ac2:

第一列为Bc3:

第二列为数字

条件项:

对条件桩给出的条件列出所有可能的取值

c1:

1-第一列为A,0-第一列不为A

c2:

1-第一列为B,0-第一列不为B

c3:

1-第二列为数字,0-第一列不为数字

动作桩:

出现问题时按规定可能采取的操作

结果:

e1:

修改文件e2:

给出信息Le3:

给出信息M

2)其对应的因果图如下:

C为中间节点,考虑到原因c1和c2不可能同时为1,因此在因果图上加上E(异或)约束。

b:

根据因果图创建决策表

条件桩

条件项

c1

c2

c3

c中间节点

动作桩

动作项

e1

e2

e3

测试用例:

规则号

输入数据

预期输出

Case1

1c2:

1c3:

c1和c2不可能同时为1

Case2

Case3

A3

修改文件

Case4

A*

Case5

B1

Case6

B/

Case7

C5

给出信息L

Case8

M@

给出信息L,M

2)支付宝个人认证中,分为两部分:

个人身份认证和银行卡认证。

这两者都通过后,认为个人认证成功。

个人身份认证需要提交个人基本信息及身份证复印件。

银行卡认证分为两种:

提现认证和充值认证。

a.根据问题描述画出因果图。

b.画出决策表并设计测试用例。

步骤一:

分析问题,列出原因和结果。

画出因果图,将原因与结果用关系连接线连接。

根据因果图生成决策表。

根据决策表设计测试用例。

C1:

个人基本信息

C2:

身份证复印件 

C3:

提现认证

C4:

充值认证

1—个人基本信息正确 

 

0—个人基本信息不准确

1—身份证复印件有效 

0—身份证复印件无效

1—提现认证成功 

0—提现认证失败

1—充值认证成功 

0—充值认证失败

A1:

个人身份认证成功。

A2:

银行卡认证成功

A3:

支付宝个人认证成功

动作项:

指出在条件项的各组取值情况下采取的动作

H1:

√--个人身份认证成功 

H2:

√--银行可认证成功

H3:

√--支付宝个人认证成功 

因果图:

根据因果图推导出决策表

c4

A1

A2

A3

0c2:

0c3:

0c4:

支付宝个人认证失败 

1c4:

支付宝个人认证成功 

支付宝个人认证失败,银行卡认证失败 

支付宝个人认证成功,银行卡认证失败 

Case5

支付宝个人认证失败,银行卡认证成功

支付宝个人认证失败,银行卡认证失败

Case9

Case10

Case11

Case12

Case13

Case14

14

Case15

15

Case16

16

3.结果分析与问题讨论

通过本次黑盒测试实训,从结果上看,因果图只是清晰地表达了需求分析的内容,为了得到测试用例,我们需要借助于决策表,因果图中的“因”和“果”直接可以作为条件桩和动作桩。

在画因果图的时候,要注意分析有些条件是不可以同时存在。

(三)白盒测试实训一

1.实训目的

a.掌握路径测试、数据流测试的基本方法。

b.运用路径测试、数据流测试的方法设计测试用例。

2.实验内容、步骤及结果

1)阅读下面代码。

0voidDoWork(intx,inty,intz){

1intk=0,j=0;

2if((x>

3)&

&

(z<

10))

3{

4k=x*y-1;

5j=sqrt(k);

6}

7if((x==4)||(y>

5))

8j=x*y+10;

9}

①使用路径测试的方法

a.画出控制流图。

b.计算环形复杂度并列出基本路径。

c.根据基本路径设计测试用例并执行测试。

②使用数据流测试法

a.根据已画出的控制流图分析代码中所有变量的定义使用(区分谓词使用和计算使用)节点、定义使用对、定义使用路径(注明是否为定义清除路径)。

b.根据全定义-使用路径覆盖准则(测试路径需要覆盖所有定义点到所有使用点的路径)找出测试路径并设计测试用例并执行测试。

根据代码画出相关图形。

根据不同测试方法设计测试用例。

运行代码执行测试用例

控制流图

环形复杂度分为两个圈计算,圈1和圈2分别如下:

圈1:

V(G)=6-5+2=3

圈2:

V(G)=5-4+2=3

总独立路径为:

圈1复杂度*圈2复杂度=9条(取8条即可,分别为:

路径1:

2(x>

3)→7(x==4)→7(y>

5)→9

路径2:

5)→8→9

路径3:

3)

→2(z<

10)→7(x==4)→7(y>

路径4:

路径5:

3)→2(z<

10)→4→5→7(y==4)→7(y>

路径6:

10)→4→5→7(x==4)→7(y>

路径7:

10)→7(x==4)

→8→9

路径8:

10)→4→5→7(x==4)

根据基本路径设计测试用例并执行测试。

测试用例表:

测试用例名称

测试数据

测试路径

x=2,y=4,z=0

K=0,j=0

路径1

x=2,y=6,z=0

k=0,j=22

路径2

x=5,y=4,z=11

k=0,j=0

路径3

x=5,y=6,z=9

k=29,j=40

路径4

x=5,y=4,z=8

k=19,j=4

路径5

x=6,y=6,z=7

k=35,j=46

路径6

x=4,y=0,z=12

k=0,j=10

路径7

x=4,y=0,z=4

k=-1,j=10

路径8

变量

定义节点

使用节点

定义-使用对(DUpath)

(开始节点,结束节点)

定义-使用路径(是否为定义-清除路径)

计算使用

谓词使用

x

4,8

2,7

(0,4),(0,8),(0,2),(0,7)

0-1-2(F)

0-1-2-4-5-7(F)

0-1-2-4(F)

0-(F)

y

(0,4),(0,8),(0,7)

z

(0,2)

0-1-2(F)

k

1,4

(1,5),(4,5)

1-2-4-5(F)

4-5(T)

j

1,5,8

b.根据全定义-使用路径覆盖准则(测试路径需要覆盖所有定义点到所有使用点的路径)找出测试路径并设计测试用例并执行测试。

测试路径1:

0-

测试路径2:

0-1-2-7-9

测试路径3:

0-1-2-7-8-9

测试路径4:

x=4,y=6,z=2

k=27,j=38

x=2,y=2,z=11

x=2,y=6,z=3

x=5,y=2,z=2

k=9,j=3

要正确分析判断程序的走向,然后画出控制流图。

根据控制流图计算环形(圈)复杂度,主要运用两种方法计算环形复杂度:

(1)V(G)=E-N+2

(2)V(G)=P+1,正确计算出环形复杂度,并确定独立路径,用测试用例来测试路径。

复杂度是独立路径数的上界,独立路径可以小于复杂度。

先计算预期结果,再用代码验证预期结果与测试结果是否一致。

(四)白盒测试实训二

a.掌握逻辑覆盖的基本方法。

b.运用逻辑覆盖的方法设计测试用例。

1)阅读下面源码。

#include<

iostream>

usingnamespacestd;

intmain()

{

intb;

intc;

inta;

cin>

>

a>

b>

c;

if(a*b*c!

=0&

(a+b>

c&

b+c>

a&

a+c>

b))

{

if(a==b&

b==c)

{

cout<

<

"

您输入的是等边三角形!

"

;

}

elseif((a==b||b==c)||a==c)

您输入的是等腰三角形!

elseif((a*a+b*b==c*c)||(b*b+c*c==a*a)||(a*a+c*c==b*b))

您输入的是直角三角形!

else{

cout<

普通三角形"

}

else{

您输入的不能构成三角形"

}

a.画出程序流程图。

b.分析判断语句与条件表达式。

c.分别使用逻辑覆盖的5种覆盖标准设计测试用例并执行测试。

步骤二:

根据5种覆盖标准计测试用例。

b.分析判断语句与条件表达式。

(1)a*b*c!

b)这四个条件必须同时满足才能构成三角形,若不满足其中任意一项都不可能构成三角形。

(2)a==b&

b==c在a*b*c!

b)成立的情况下,满足a==b&

b==c这两个条件,输出的三角形是等边三角形,若不满足其中任意一项,则不能输出等边三角形

(3)(a==b||b==c)||a==c,在a*b*c!

b)成立的情况下,且a==b&

b==c不成立,满足(a==b||b==c)||a==c这三个条件,输出等腰三角形,则不能输出等腰三角形

(4)(a*a+b*b==c*c)||(b*b+c*c==a*a)||(a*a+c*c==b*b),在a*b*c!

b==c不成立,(a==b||b==c)||a==c也不成立,满足(a*a+b*b==c*c)||(b*b+c*c==a*a)||(a*a+c*c==b*b)这个条件输出直角三角形,否则输出普通三角形。

在a*b*c!

b)成立的情况下

1.语句覆盖:

选择足够多的测试数据,使得程序中的每一个可执行语句至少执行一次

变量取值(a,b,c)

执行路径

2,3,4

acegi

普通三角形

2.判定(分支)覆盖:

使得程序中的每一个判断至少获得一次“真”和一次“假”

1,2,3

ab

不能构成三角形

3,3,3

acd

等边三角形

4,4,5

acef

等腰三角形

3,4,5

acegh

直角三角形

3.条件覆盖:

使得程序中每个判定表达式中的每个条件至少获得一次“真”和一次“假”

第一个判定表达式:

a*b*c!

=0取真值,记为T1

=0取假值,即a*b*c=0,记为~T1

a+b>

c取真值,记为T2

c取假值,即a+b≤c,记为~T2

b+c>

a取真值,记为T3

a取假值,即b+c≤a,记为~T3

a+c>

b取真值,记为T4

b取假值,即a+c≤b,记为~T4

第二个判定表达式:

a==b取真值,记为T5

a==b取假值,即a≠b,记为~T5

b==c取真值,记为T6

b==c取假值,即b≠c,记为~T6

第三个判定表达式:

a==b取真值,记为T7

a==b取假值,即a≠b,记为~T7

b==c取真值,记为T8

b==c取假值,即b≠c,记为~T8

a==c取真值,记为T9

a==c取假值,即a≠c,记为~T9

第四个判定表达式:

a*a+b*b==c*c取真值,记为T10

a*a+b*b==c*c取假值,即a*a+b*b≠c*c,记为~T10

b*b+c*c==a*a取真值,记为T11

b*b+c*c==a*a取假值,即b*b+c*c≠a*a,记为~T11

a*a+c*c==b*b取真值,记为T12

a*a+c*c==b*b取假值,即a*a+c*c≠b*b记为~T12

条件覆盖的测试用例

覆盖条件

T1,T2,T3,T4,~T5,~T6,~T7,~T8,~T9,~T10,~T11,~T12

1,0,0

~T1,T2,~T3,T4,~T5,T6,~T7,T8,~T9,~T10,~T11,~T12

1,1,1

T1,~T2,~T3,~T4,T5,T6,T7,T8,T9,T10,T11,T12

测试结果:

4.判定/条件组合:

=0,a+b>

c,b+c>

a,a+c>

b,记为T1,T2,T3,T4

=0,a+b≤c,b+c>

b,记为T1,~T2,T3,T4

c,b+c≤a,a+c>

b,记为T1,T2,~T3,T4

a,a+c≤b,记为T1,T2,T3,~T4

a*b*c==0,a+b>

b,记为~T1,T2,~T3,T4

a*b*c==0,a+b≤c,b+c>

a,a+c>

b,记为~T1,~T2,T3,T4

a,a+c≤b,记为~T1,T2,T3,~T4

a*b*c==0,a+b≤c,b+c≤a,a+c>

b,记为~T1,~T2,~T3,T4

a*b*c==0,a+b≤c,b+c>

a,a+c≤b,记为~T1,~T2,T3,~T4

c,b+c≤a,a+c≤b,记为~T1,T2,~T3,~T4

a*b*c==0,a+b≤c,b+c≤a,a+c≤b,记为~T1,~T2,~T3,~T4

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

当前位置:首页 > 高等教育 > 法学

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

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