基本路径法练习
- 格式:pptx
- 大小:674.50 KB
- 文档页数:17
1设计下列伪码程序的语句覆盖和路径覆盖测试用例:STARTINPUT(A,B,C)IF A>5THEN X=10ELSE X=1END IFIF B>10THEN Y=20ELSE Y=2END IFIF C>15THEN Z=30ELSE Z=3END IFPRINT(X,Y,Z)STOP答:(1)语句覆盖的测试用例因为每个判定表达式为真或为假时均有赋值语句,为了使每个语句都至少执行一次,总共需要两组测试数据,以便使得每个判定表达式取值为真或为假各一次。
下面是实现语句覆盖的典型测试用例:l使3个判定表达式之值全为假输入:A=1,B=1,C=1预期的输出:X=1,Y=2,Z=3l使3个判定表达式之值全为真输入:A=20,B=40,C=60预期的输出:X=10,Y=20,Z=30(2)路径覆盖的测试用例本程序共有8条可能的执行通路,为做到路径覆盖总共需要8组测试数据。
下面是实现路径覆盖的典型测试用例:l3个判定表达式之值全为假输入:A=1,B=1,C=1预期的输出:X=1,Y=2,Z=3l3个判定表达式依次为假、假、真输入:A=1,B=1,C=60预期的输出:X=1,Y=2,Z=30l3个判定表达式依次为假、真、假输入:A=1,B=40,C=1预期的输出:X=1,Y=20,Z=3l3个判定表达式依次为假、真、真输入:A=1,B=40,C=60预期的输出:X=1,Y=20,Z=30l3个判定表达式依次为真、假、假输入:A=20,B=1,C=1预期的输出:X=10,Y=2,Z=3l3个判定表达式依次为真、假、真输入:A=20,B=1,C=60预期的输出:X=10,Y=2,Z=30l3个判定表达式依次为真、真、假输入:A=20,B=40,C=1预期的输出:X=10,Y=20,Z=3l3个判定表达式全为真输入:A=20,B=40,C=60预期的输出:X=10,Y=20,Z=302设计下列伪码程序的分支覆盖和条件组合覆盖测试用例:STARTINPUT(A,B,C,D)IF (A>0) AND (B>0)THEN X=A+BELSE X=A-BEND IFIF (C>A) OR (D<B)THEN Y=C-DELSE Y=C+DEND IFPRINT(X,Y)STOP答:(1)分支覆盖(即判定覆盖)标准为,不仅使每个语句至少执行一次,而且使每个判定表达式的每个分支都至少执行一次。
第一章选择题1. Myers在1979年提出了一个重要观点,即软件测试的目的是为了( B )。
(A)证明程序正确(B)查找程序错误(C)改正程序错误(D)验证程序无错误2. 以下哪个选项不属于软件缺陷( D )。
(A)软件没有实现产品规格说明所要求的功能(B)软件中出现了产品规格说明不应该出现的功能(C)软件实现了产品规格说明中的部分功能(D)软件实现了产品规格说明所要求的功能但因受性能限制而未考虑可移植性问题3. 下列关于缺陷产生原因的叙述中,不属于技术问题的是( A )。
(A)文档错误,内容不正确或拼写错误(B)系统结构不合理(C)语法错误(D)接口传递不匹配,导致模块集成出现问题4. 对于软件测试分类,下列各项都是按照不同阶段来进行的划分,除了( C )。
(A)单元测试(B)集成测试(C)黑盒测试(D)系统测试5. 软件产品必须首先提供用户所需要的( D )。
(A)性能(B)人机界面(C)可靠性(D)功能简答题1. 简述软件测试与软件开发的关系。
2. 回忆自己用过的所有软件中遇到的bug,请写出软件名及其bug的表现形式。
3. 写写你对于国内市场对软件测试工程师的需求及能力要求的看法。
4. 如果你想从事软件测试工作,你怎样做职业准备,应具备怎样的素质。
第六章1. 评审方法按照正式化程度逐渐增强的是( D )。
(A)临时评审、走查、同行评审、轮查、会议评审(B)临时评审、走查、轮查、同行评审、会议评审(C)会议评审、小组评审、走查、同行评审、临时评审(D)临时评审、轮查、同行评审、走查、会议评审2. 对于软件需求分析报告和核心模块的代码,一般最好采用( C )。
(A)临时评审(B)同行评审(C)会议评审(D)轮查第七章1.测试程序时不在机器上直接运行程序,而是采用人工检查或计算机辅助静态分析的手段检查程序,这种测试称为_______。
(10分)A.白盒测试B.黑盒测试C.静态测试D.动态测试2. 评审方法按照正式化程度逐渐增强的是_____。
具体图片请看上面的图,这是一个流图,现在要导出独立路径,
书本给出的答案是这样的:有3条路径
3-4-5-6-7,8
3-5-7,8
3-5-6-7,8
请问为什么不可以是这样的答案呢?
3-4-5-6-7,8
3-5-7,8
3-4-5-7,8(这是多出来的路径,为什么不可以还是什么原因呢)
3-5-6-7,8
路径集所要求的是覆盖所有语句,而不是所有路径,而且一般要求用尽可能少的路径完成用例设计,以便用例数尽可能少。
所谓独立路径,是指至少包含一条新边的路径,也就是包含一些前面的路径未包含的语句,当所有的语句都包含了,基路径集就够了。
基路径集是非唯一的。
3-4-5-7,8(这是多出来的路径,为什么不可以还是什么原因呢),这条路径的所有边都已被其他路径包含,所以不算它。
void Sort(int iRecordNum,int iType)
1 {
2 int x=0;
3 int y=0;
4 while (iRecordNum-- > 0)
5 {
6if(0= =iType)
7x=y+2;
8 else
9if(1= =iType)
10 x=y+10;
11 else
12 x=y+20;
13 }
14 printf(“x=%d,y=%d”,x,y);}。
白盒测试的基本路径测试法一、白盒测试的主要测试方法1、代码检查法2、静态结构分析法3、静态质量度量法4、逻辑覆盖法5、基本路径测试法(应用最广泛)6、域测试7、符号测试8、Z路径覆盖9、程序变异二、基本路径测试法1、定义:基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。
设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。
2、基本路径测试法的基本步骤1) 程序的控制流图:描述程序控制流的一种图示方法。
2)程序圈复杂度:McCabe复杂性度量。
从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。
3) 导出测试用例:根据圈复杂度和程序结构设计用例数据输入和预期结果.4) 准备测试用例:确保基本路径集中的每一条路径的执行.3、基本路径测试法的工具方法1)图形矩阵:是在基本路径测试中起辅助作用的软件工具,利用它可以实现自动地确定一个基本路径集。
三、程序的控制流图控制流程图是描述程序控制流的一种图示方法。
圆圈称为控制流图的一个结点,表示一个或多个无分支的语句或源程序语句流图只有二种图形符号:图中的每一个圆称为流图的结点,代表一条或多条语句。
流图中的箭头称为边或连接,代表控制流。
任何过程设计都要被翻译成控制流图。
1、根据程序流程图化成控制流图在将程序流程图简化成控制流图时,应注意:1)在选择或多分支结构中,分支的汇聚处应有一个汇聚结点.2)边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。
如下页图所示:如果判断中的条件表达式是由一个或多个逻辑运算符(OR,AND, NAND,NOR) 连接的复合条件表达式,则需要改为一系列只有单条件的嵌套的判断。
例如:1 if a or b2 x3 else4 y对应的逻辑为:独立路径:至少沿一条新的边移动的路径2、实例说明基本路径测试法的步骤:第一步:画出控制流图流程图用来描述程序控制结构。
⽩盒测试-基本路径法⼀、定义基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执⾏路径集合,从⽽设计测试⽤例的⽅法。
⼆、基本路径测试的步骤1)画出程序控制流图(前提是已经有了程序流程图)2)计算环路复杂度3)导出独⽴路径(可执⾏路径)4)设计测试⽤例三、认识控制流图1、描述程序控制流的⼀种图⽰⽅法,控制流图中只有2种图形符号:结点:标有编号的圆圈表⽰控制流线或边或连接:以箭头表⽰2、各种语句结构的控制流图3、认识什么是区域区域:边和结点圈定的区域叫做区域。
封闭区域+开放区域4、如果判断中的条件表达式是由⼀个或多个逻辑运算符(OR, AND, NAND, NOR) 连接的复合条件表达式,则需要改为⼀系列只有单条件的嵌套的判断。
If(a>1 and b<2){…}If(a>1){If(b<2){…}}(a)流程图四、环形复杂度的计算有以下三种⽅法计算环形复杂度:a)流图中封闭区域的数量+1个开放区域=总的区域数=环形复杂度b)给定流图G的环形复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量;c)给定流图G的环形复杂度V(G),定义为V(G)=P+1,P是流图G中判定结点的数量。
五、举例1)画出程序控制流图2)计算环形复杂度a)流图中封闭区域的数量+1个开放区域=总的区域数=环形复杂度3个封闭区域+1个开放区域=4b)给定流图G的环形复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量;V(G)=E-N+2=11-9+2=4c)给定流图G的环形复杂度V(G),定义为V(G)=P+1,P是流图G中判定结点的数量。
V(G)=P+1=3+1=43)导出独⽴路径注:因为环形复杂度为4,所以有四条独⽴路径PATH1:1-11PATH2:1-2-3-4-5-10-1-11PATH3:1-2-3-6-7-9-10-1-11PATH4:1-2-3-6-8-9-10-1-114)设计测试⽤例(略)。
白盒测试基本路径法实训报告三角形本次实训我选择了使用白盒测试基本路径法对三角形程序进行测试。
1. 程序代码下面是被测试的三角形程序的代码:```#include <stdio.h>#include <stdlib.h>int triangle(int a, int b, int c){if (a <= 0 || b <= 0 || c <= 0) {return 0;}if (a + b <= c || b + c <= a || c + a <= b) {return 0;}if (a == b && b == c) {return 1;}if (a == b || b == c || c == a) {return 2;}}int main(){int a, b, c;printf("Please input the length of three sides: ");scanf("%d %d %d", &a, &b, &c);int t = triangle(a, b, c);if (t == 0) {printf("Not a triangle.");} else if (t == 1) {printf("Equilateral triangle.");} else if (t == 2) {printf("Isosceles triangle.");} else {printf("Scalene triangle.");}}```2. 基本路径设计为了得到程序的所有可能执行路径,我们首先需要构建其控制流程图。
下面是三角形程序的控制流程图: 我们可以通过该图来得到程序的基本路径:1. 1-2-3-142. 1-2-4-5-6-8-9-10-11-12-13-143. 1-2-4-5-6-7-8-9-10-11-12-13-143. 测试用例设计根据基本路径,我们需要设计测试用例来覆盖所有的基本路径。
超级记忆术基本方法是什么什么是记忆桩(也叫路径记忆法)把一些关键词按一定顺序(桩子)记录下来,有三种很常用:身体桩、数字桩和地点桩。
超级记忆术1、身体桩从头开始:眼睛、鼻子、嘴巴、脖子、肩膀、肚子、屁股、脚。
这只是按照我习惯的顺序,你可以加入耳朵、胸、小腿等等。
然后怎么用比如你想去超市买以下这些东西:色拉油、酱油、卫生纸、味精、拖把、猪肉、酸奶和面条。
有的人会列清单,现在试着练习一下记忆力,请从头开始想象:眼睛色拉油:色拉油熏到眼睛(此时两个词顺序不重要)鼻子酱油:鼻子里插着酱油瓶嘴巴卫生纸:嘴巴塞着卫生纸脖子味精:脖子上洒满了味精肩膀拖把:肩膀上扛着拖把。
后边就不写了,总之按照身体的顺序,把想买的东西一对一联想起来,画面越有趣,记忆越深刻。
身体桩记东西很快,但不能常用,容易把这次和上次混淆。
超级记忆术2、数字桩建立一套自己的数字桩表,也可以在网上搜一搜数字桩。
熟记下来。
1可以想象成一颗树,2是一只鸭子,3是一只耳朵,现在来试着记住36计:1树瞒天过海:躺进树洞里,瞒着天过了海2鸭子围魏救赵:鸭子围着围巾去救赵薇3耳朵借刀杀人:耳朵里拔出一把剪刀杀了人后边就不写了。
用30分钟就可以把36计按顺序记下来。
超级记忆术3、地点桩这个是最常用的,可以从你住的房子开始,每个房间挑选出4-5个桩子,比如客厅就是:沙发、茶几、壁画、电视,不要选每个房间都有的东西,比如地板。
适合用来记演讲,比如有篇文章。
第一步:提取关键词,别忘了可视化。
第二步,把它们串联起来!第三步:把关键词放到合适的地点桩这个过程会提高概括能力和想象力,在找关键词梳理逻辑关系时,就加深了理解,思维导图也是这个意思。
超级记忆术4、词句桩在问题中找出关键词或句,用每个字做桩子来跟答案对应串联联想的方法。
例子1:王安石变法的主要内容有保甲法、青苗法、农田水利法、募役法和方田均税法。
王王八抱甲鱼(保田法)安安居农民安居的地方,地里有青苗(青苗法)石石头农民们用石头做成大坝,进行农田水利建设(农田水利法)变政变政变时,国家会通过(募役法)征兵法法官法官把田平均分配来缴税(方田均税法)例子2:财经法规1.对玩忽职守罪,处3年以下有期徒刑或拘役;情节特别严重的处3年到7年有期徒刑2.对徇私舞弊罪,处5年以下有期徒刑或拘役;情节特别严重的处5年以上10年以下有期徒刑3.对泄漏国家秘密罪,处3年以下有期徒刑或拘役;情节特别严重的处3年以上7年以下有期徒刑财财主财主往虎(玩忽)耳朵(3)里插拐杖(7)经经理经理熏死(徇私)钩子(5)上的蛇(10)法法官法官歇米(泄密)去喂山鸡(3、7)还有一些小贴士可以提高记忆力,通过良好的饮食:比如三文鱼等富含omega-3、蓝莓等抗氧化,多米尼克本身是银杏叶提取物(有文献表明这种药物可以防止老年痴呆)的狂热爱好者,此外,训练时滴酒不沾。