软件测试-白盒测试用例练习题

合集下载

软件测试-白盒测试用例练习题

软件测试-白盒测试用例练习题

白盒测试用例练习一、为以下所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖,并画出相应的程序流程图。

void DoWork (int x,int y,int z) {int k=0,j=0; if ( (x>3)&&(z<10) ) { k=x*y-1;j=sqrt(k); //语句块1} if ( (x==4)||(y>5) ) {j=x*y+10;} //语句块2 j=j%3; //语句块3 } a Y cN b eYx>3 and x=4 ork=x*y-1 k=0Nd由这个流程图可以看出,该程序模块有4条不同的路径: P1:(a-c-e) P2:(a-c-d) P3:(a-b-e) P4:(a-b-d) 将里面的判定条件和过程记录如下: 判定条件M ={x>3 and z<10} 判定条件N={x=4 or y>5} 1、 语句覆盖测试用例输入输出判定M 的取值判定N 的取值覆盖路径x=4,z=5,y=8 k=31,j=0 TTP1(a-c-e) 2、判定覆盖p1和p4可以作为测试用例,其中p1作为取真的路径,p4作为取反的路径。

测试用例输入 输出 判定M 的取值判定N 的取值覆盖路径x=4,z=5,y=8k=31,j=0TTP1(a-c-e) x=2,z=11,y =5k=0,j=0FFP4(a-b-d)也可以让测试用例测试路径P2和P3。

相应的两组输入数据如下: 测试用例输输出判定M 的取判定N 的取覆盖路径j=j%3j=x*y+1入值值x=5,z=5,y= 4 k=19,j=sqrt(19)%3T F P2(a-c-d)x=4,z=11,y=6k=0,j=1 F T P3(a-b-e)3、条件覆盖对于M:x>3取真时T1,取假时F1;z<10取真时T2,取假时F2;对于N:x=4取真时T3,取假时F3;y>5取真时T4,取假时F4。

白盒和黑盒测试用例测试题目

白盒和黑盒测试用例测试题目

一、问题:报表日期等价类划分和边界值分析设某公司要打印2001~2005年的
报表,其中报表日期为6位数字组成,其中,前4位为年份,后两位为月份。

二、请结合等价类方法给出getNumDaysInMonth(int month, int year)方法
的测试用例,其中getNumDaysInMonth方法根据给定的月份和年份返回该月份的总天数。

三、阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。

[说明]在 ERP(企业资源计划)系统中,“计划管理”模块的流程图如下:
[问题1]因果图法是功能测试案例设计方法中的一种,简述利用因果图导出测试用例需要经过哪几个步骤?
[问题2]根据题干中的流程图,利用因果图法,找出哪些是正确的输入条件,那些是正确的输出结果,将下列描述的字母编号填入表中。

a.可以进行销售发货管理
b.可用库存不满足销售需求(有可用库存)
c.可用库存不满足销售需求(无可用库存)
d.可用库存满足生产需求
e.可用库存不满足生产需求
f.可用库存不满足生产需求(无可用库存)
g.可以进行 MPS 运算
h.可用库存满足销售需求
i.生成主生产计划
j.生成计划采购单
k.生成计划生产定单
l.可以进行 MRP 运算
[问题3]下图画出“计划管理”模块的因果图。

请把问题2中列出的输入条件和输出结果的字母编号填入到空白框中相应的位置。

四、有一个在线购物的实例,用户进入一个在线购物网站进行购物,选购物品
后,进行在线购买,这时需要使用帐号登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。

五、根据如下流程图,写出白盒测试测试用例。

大连东软信息学院软件测试考题题库白盒测试方法习题及答案

大连东软信息学院软件测试考题题库白盒测试方法习题及答案

大连东软信息学院软件测试考题题库白盒测试方法习题及答案1.计算环路复杂度方法有哪三种,答:(1)V(G)=判定节点数+ 1 ;(2)V(G) = E-N+2 ;(3)V(G)=区域数+ 12.白盒测试有几种方法,白盒测试方法分为两大类:静态测试方法和动态测试方法。

答:静态测试方法:检查软件的表示和描述是否一致,没有冲突或者没有歧义。

动态测试方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。

4.比较白盒测试和黑盒测试,答:使用白盒测试方法时,测试根据程序的内部逻辑和指定的覆盖标准;黑盒测试法是通过分析程序的接口功能设计测试用例的。

5.为以下程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖。

int test(int A,int B){if((A>1) AND (B<10)) thenX=A-B;if((A=2) OR (B>20)) thenX=A+B;return x;}答:语句覆盖测试用例:A=2,B=0;判定覆盖测试用例:A=3,B=0;A=2,B=20;条件覆盖测试用例:A=2,B=0;A=0,B=21;6. 为以下程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖。

void DoWork (int x,int y,int z) {int k=0,j=0;if ( (x>3)&&(z<10) ){ k=x*y-1;j=sqrt(k);} //语句块1if ( (x==4)||(y>5) ){ j=x*y+10; } //语句块2j=j%3; //语句块3}答:语句覆盖测试用例:x=4、y=5、z=5;判定覆盖测试用例::x=4、y=5、z=5;x=2、y=5、z=5;条件覆盖测试用例:x=4、y=6、z=5 ;x=2、y=5、 z=15 ; 8.看代码程序: void Sort ( int iRecordNum, int iType )1 {2 int x=0;3 int y=0;4 while ( iRecordNum> 0 )5 {6 If ( iType==0 )7 x=y+2;8 else9 If ( iType==1 ) 10 x=y+10; 11 else12 x=y+20;13 }14 }要求(1)给以上代码画出控制流图(2)控制流图的环复杂度V(G),写出独立路径。

软件工程白盒测试练习及解答

软件工程白盒测试练习及解答

白盒测试练习1、什么是白盒测试?白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。

这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。

2、什么是测试用例?一组由前提条件、输入、执行条件、预期结果等组成,以完成对某个特定需求或者目标测试的数据,体现测试方案、方法、技术和策略的文档3、写出以上程序的所有路径;L1(1->2->3)L2(1->4->5->3)L3(1->2->6->7)L4(1->4->5->6->7)4、尝试用表格的形式描述满足以下情况的测试用例:a)写出满足语句覆盖需要的测试用例;解:语句覆盖就是程序中每一个语句至少能被执行一次运行结果b)写出满足判定覆盖(分支覆盖)需要的测试用例;解:判定覆盖就是程序中每个判定至少有一次为真值,有一次为假值,使得程序中每个分支至少执行一次运行结果c) 写出满足条件覆盖需要的测试用例;解:条件覆盖是程序各判定中的每个条件获得各种可能的取值至少满足一次运行结果d) 写出满足判定/条件覆盖需要的测试用例;解:判定/条件覆盖是程序中每个判定至少有一次为真值,有一次为假值,使得程序中每个分支至少执行一次,且使得各判定中的每个条件获得各种可能的取值至少满足一次。

运行结果e) 写出满足条件组合覆盖需要的测试用例。

解:条件组合覆盖是判定中条件的各种组合都至少被执行一次运行结果更改逻辑运算符以条件组合覆盖测试用例进行测试运行结果。

软件测试练习题

软件测试练习题

软件测试练习题白盒测试单元测试学号姓名1.以程序内部的逻辑结构为基础的测试用例设计技术属于()。

A.灰盒测试B.数据测试C.黑盒测试D.白盒测试2.即使对程序的所有路径都进行了测试,程序也可能存在没能检查出来的缺陷,其原因可能是()。

A.程序可能会因为缺少某些路径而存在问题B.即使是穷举路径测试也不能保证程序符合其设计规格说明C.穷举路径测试也可能不会暴露数据敏感性错误D.以上全部3.下列关于测试方法的叙述中不正确的是()。

A.从某种角度上讲,白盒测试和黑盒测试都属于动态测试B.功能测试属于黑盒测试C.对功能的测试通常要考虑程序的内部结构D.结构测试属于白盒测试4.不需要运行程序,通过收集有关代码的结构信息来对程序进行的测试是()。

A.性能测试B.黑盒测试C.白盒测试D.静态分析5.在白盒测试中,程序员要运用自己的智力和程序理解力,深入到源程序中进行测试,这样的好处是()。

A.重点测试B.数据完整性和内部边界C.测试覆盖和控制流D.以上全部6.关注在一连串的测试中如何选择合适的程序或子程序路径来执行有效的检查,这种测试极有可能是()。

A.结构测试B.黑盒测试C.功能测试D.静态测试7.在覆盖准则中,最常用的是()。

A.语句覆盖B.条件覆盖C.分支覆盖D.以上全部8.大多数实际情况下,性能测试的实现方法是()。

A.黑盒测试B.白盒测试C.静态分析D.可靠性测试9.如果一个判定中的复合条件表达式为(A>1)or(B<=3),则为了达到100%的条件覆盖率,至少需要设计()个测试用例。

A.1B.2C.3D.410.下列逻辑覆盖中,最强的是()A.语句覆盖B.条件覆盖C.路径覆盖D.条件组合覆盖11.关于逻辑覆盖,说法错误的是()。

A.DDP(判定路径覆盖)是判定覆盖的一个变体B.满足条件覆盖也一定满足判定覆盖C.指令块覆盖属于语句覆盖D.若判定覆盖率达到100%,则语句覆盖率也达到100%。

软件测试技术上机2 白盒测试

软件测试技术上机2 白盒测试

上机2 白盒测试
一、对下图所示程序段进行语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖方法进行测试用例设计。

1、语句覆盖:
2、判定覆盖
3、条件覆盖
5、组合覆盖
二、针对test函数按照基本路径测试方法设计测试用例。

int Test(int i_count, int i_flag)
{
1 int i_temp=0;
2 while (i_count>0)
{
3 If (0==i_flag)
{
4 i_temp=i_count+100;
5 break;
}
6 else
{
7 If (1==i_flag)
{
8 i_temp=i_temp+10;
}
9 else
{
10 i_temp=i_temp+20;
}
}
11 i_count--;
}
12 return i_temp;
}
解答:
1.画出程序控制流程图如下:
2.计算圈复杂度
从图中可以看到,V(G)=11(边数)-9(结点数)+2=3(判定结点数)+1=4,则上图的圈复杂图为4。

表示只要最多 4 个测试用例就可以达到基本路径覆盖。

3.确定独立路径的基本集合
路径1:1-2-3-4-5-12
路径2:1-2-12
路径3:1-2-3-6-7-8-11-2-12
路径4:1-2-3-6-7-9-10-11-2-12
4.设计测试用例。

白盒测试例题

白盒测试例题

例题2:应用白盒测试法的具体步骤:1.按照某种覆盖标准,选择一组需要覆盖的路径;2.确定上述路径所需的输入数据;3.计算与输入数据相应的输出。

下面以工资管理程序为例说明白盒测试方法的运用过程。

(白盒测试方法有6种)工资管理程序BONUS的输入数据是职员表(Employee Table)和部门销售表(Department Table)(图1)。

职员表由姓名(Name)、职务(Job)、部门(Dept.)和工资(Salary)四个属性组成。

部门销售表由部门(Dept)和销售量(Sales)组成。

程序的功能是:“为销售量最大的部门中每一个职工增加200元工资,但是,如果某个职员的原有工资已达15000元,或者他的职务是经理,则只给他增加100元。

如果程序能正常地完成,则输出出错码0;如果两表格中没有任何条目,则输出出错码1;如果没有职员在部门销售表中销售量最大的部门中工作,则输出出错码2;”工资管理程序BONUS的两个表如下:工资管理程序BONUS的源程序:参数表中EMPTAB、DEPTTAB分别是职员表和部门表,ESIZE、DSIZE分别是两个表的长度,ERRCODE是出错码。

这里略去了说明部分和注释。

Procedure Bonus(EMPTAB,DEPTTAB:TABLE; ESIZE,DSIZE,ERRCODE:INTEGER);/*最大销量和出错码初始化*/1. Begin MAXSALES:=0; ERRCODE:=0;/*判断表是否为空,空输出1,并退出程序,否则继续执行*/2. IF (ESIZE<=0) or (DSIZE<=0)3. THEN ERRCODE:=1;4. ELSE/*获得最大销量*/5. For i=1 to DSIZE6. If Sales(i)> MAXSALES7. then MAXSALES = Sales(i);/*找到销量最大的每一个部门,并做进一步处理*/8. For j=1 to DSIZE9. If Sales(j)= MAXSALES10. Then11. Begin Found:=False;/*找销量最大的职员所属部门对应的职员表中的职员并处理*/12. For k:=1 to ESIZE13. If (EMPTAB.DEPT(k)= DEPTTAB. DEPT(J))14. Then15. Begin Found:=True;/*如果该职员工资超过15000或职务是经理则加100工资,否则加200工资*/16. If (SALARY(k)>=15000.0) or (JOB(k)=”M”)17. Then18. SALARY(k):= SALARY(k)+100.0;19. Else20. SALARY(k):= SALARY(k)+200.0;21. End;/*如果找不到对应职员,则输出出错码2,否则出错码默认0*/22. If (!Found ) then ERRORCODE:=2;23. End24. End25. End用白盒测试方法设计测试用例。

白盒测试及例题

白盒测试及例题

基本路径测试
• 前提条件 测试进入的前提条件是在测试人员 已经对被测试对象有了一定的了解,基 本上明确了被测试软件的逻辑结构。 • 测试过程 过程是通过针对程序逻辑结构设计 和加载测试用例,驱动程序执行,以对 程序路径进行测试。测试结果是分析实 际的测试结果与预期的结果是否一致。
基本路径测试
• 在程序控制流图的基础上,通过分析控制构造的环 路复杂性,导出基本可执行路径集合,从而设计测 试用例。包括以下4个步骤和一个工具方法: 1. 程序的控制流图:描述程序控制流的一种图示 方法。 2. 程序圈复杂度:McCabe复杂性度量。从程序的 环路复杂性可导出程序基本路径集合中的独立 路径条数,这是确定程序中每个可执行语句至 少执行一次所必须的测试用例数目的上界。 3. 导出测试用例:根据圈复杂度和程序结构设计 用例数据输入和预期结果。 4. 准备测试用例:确保基本路径集中的每一条路
条件组合覆盖
• 针对上述问题又提出了另一种标准——―条 件组合覆盖”。它的含义是:执行足够的 例子,使得每个判定中条件的各种可能组 合都至少出现一次。显然,满足“条件组 合覆盖”的测试用例是一定满足“分支覆 盖”、“条件覆盖”和“分支/条件覆盖” 的。
条件组合覆盖
再看例1的程序,我们需要选择适当 的例子,使得下面 8种条件组合都能 够出现:
基本路径测试
工具方法: 图形矩阵:是在基本路径测试中起辅 助作用的软件工具,利用它可以实现自 动地确定一个基本路径集。
控制流图的符号
• 在介绍基本路径方法之前,必须先介绍一种简单的 控制流表示方法,即流图。流图是对待测试程序过 程处理的一种表示。流图使用下面的符号描述逻辑 控制流,每一种结构化构成元素有一个相应的流图 符号。
• • • • 白盒测试概念 测试覆盖标准 逻辑驱动测试 基本路径测试
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


白盒测试用例练习
一、为以下所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖,并画出相应的程序流程图。

void DoWork (int x,int y,int z)
{
int k=0,j=0;
if ( (x>3)&&(z<10) )
{ k=x*y-1;
j=sqrt(k); //语句块1
'
}
if ( (x==4)||(y>5) )
{
j=x*y+10;
} //语句块2
j=j%3; //语句块3
}
]
e
@
由这个流程图可以看出,该程序模块有4条不同的路径:
P1:(a-c-e) P2:(a-c-d)
'
P3:(a-b-e) P4:(a-b-d)
将里面的判定条件和过程记录如下:
判定条件M={x>3 and z<10}
判定条件N={x=4 or y>5}
1、语句覆盖
2、判定覆盖
-
p1和p4可以作为测试用例,其中p1作为取真的路径,p4作为取反的路径。

]
也可以让测试用例测试路径P2和P3。

相应的两组输入数据如下:

3、条件覆盖
对于M :x>3取真时T1,取假时F1; z<10取真时T2,取假时F2; 对于
N :x=4取真时T3,取假时F3; y>5取真时T4,取假时F4。

条件:x>3,z<10,x=4,y>5 条件:x<=3,z>=10,x!=4,y<=5
根据条件覆盖的基本思路,和这8个条件取值,组合测试用例如表所示:
4、判定/条件覆盖
5、组合覆盖

条件组合
1)x>3,z<10 2)x>3,z>=10
3) x<=3,z<10 4)x<=3,z>=10
5)x=4,y>5 6)x=4,y<=5
7)x!=4,y>5 8)x!=4,y<=5
6、路径覆盖
#
二、冒泡法排序:
#include<>
main()
{
int i,j,temp;
int a[10];
for(i=0;i<10;i++)
scanf ("%d,",&a[i]);
(
for(j=0;j<=9;j++) {
for (i=0;i<10-j;i++)
if (a[i]>a[i+1]) {
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;}
}
for(i=0;i<10;i++)

printf("%5d,",a[i] );
printf("\n");
}
2、程序流程图
3
~ 3白盒测试:
语句覆盖
判定覆盖
条件覆盖
路径覆盖。

相关文档
最新文档