思考与练习16.docx
- 文档编号:5975743
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:13
- 大小:39.83KB
思考与练习16.docx
《思考与练习16.docx》由会员分享,可在线阅读,更多相关《思考与练习16.docx(13页珍藏版)》请在冰豆网上搜索。
思考与练习16
思考与练习16——系统测试
单项选择题:
1.在软件生命周期的哪一个阶段,软件缺陷修复费用最低(C)
(A)需求分析(编制产品说明书)(B)设计
(C)编码(D)产品发布
2.为了提高测试的效率,应该(D)
(A)随机地选取测试数据;
(B)取一切可能的输入数据作为测试数据;
(C)在完成编码以后制定软件的测试计划;
(D)选择发现错误可能性大的数据作为测试数据。
3.侧重于观察资源耗尽情况下的软件表现的系统测试被称为(B)
(A)强度测试(B)压力测试
(C)容量测试(D)性能测试
4.必须要求用户参与的测试阶段是(D)
(A)单元测试(B)集成测试
(C)确认测试(D)验收测试
5.软件测试员究竟做些什么。
(C)
(A)软件测试员的目的是发现软件缺陷
(B)软件测试员的目的是发现软件缺陷,尽可能早一些
(C)软件测试员的目的是发现软件缺陷,尽可能早一些,并确保其得以修复
(D)软件测试员的目的是发现软件缺陷,尽可能早一些,并将其得以修复
6.划分软件测试属于白盒测试还是黑盒测试的依据是(C)
(A)是否执行程序代码
(B)是否能看到软件设计文档
(C)是否能看到被测源程序
(D)运行结果是否确定
7.下列项目中不属于测试文档的是(C)
(A)测试计划(B)测试用例
(C)程序流程图(D)测试报告
8.如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的(B)
(A)判定覆盖(B)条件覆盖
(C)判定/条件覆盖(D)组合覆盖
9.下列说法不正确的是(B)
(A)测试不能证明软件的正确性;
(B)测试员需要良好的沟通技巧;
(C)QA与testing属于一个层次的概念;
(D)成功的测试是发现了错误的测试。
10.在进行单元测试时,常用的方法是(A)
(A)采用黑盒测试,辅之以白盒测试;
(B)采用白盒测试,辅之以黑盒测试;
(C)只使用黑盒测试;
(D)只使用白盒测试。
11.使用白盒测试方法时,确定测试数据的依据是指定的覆盖标准和(B)
(A)程序的注释
(B)程序的内部逻辑
(C)用户使用说明书
(D)程序的需求说明
12.软件测试的目的是(B)
(A)发现程序中的所有错误(B)尽可能多地发现程序中的错误
(C)证明程序是正确的(D)调试程序
13.下列___不属于测试原则的内容(A)
(A)软件测试是有风险的行为(B)完全测试程序是不可能的
(C)测试无法显示潜伏的软件缺陷(D)找到的缺陷越多软件的缺陷就越少
14.导致软件缺陷的最大原因是(B)
(A)编制说明书(B)设计
(C)编码(D)测试
15.修复软件缺陷费用最高的是____阶段:
(B)
(A)编制说明书(B)设计
(C)编写代码(D)发布
16.白盒测试是根据程序的(C)来设计测试用例,黑盒测试是根据软件的规格说明来设计测试用例。
(A)功能(B)性能
(C)内部逻辑(D)内部数据
17.条件覆盖的目的是(B)
(A)使每个判定的所有可能的条件取值组合至少执行一次
(B)使程序中的每个判定至少都获得一次“真”值和“假”值。
(C)使程序中的每个判定中每个条件的可能值至少满足一次。
(D)使程序中的每个可执行语句至少执行一次。
18.一个程序中所含有的路径数与____有着直接的关系。
(A)
(A)程序的复杂程度(B)程序语句行数
(C)程序模块数(D)程序指令执行时间
19.配置测试(C)
(A)是指检查软件之间是否正确交互和共享信息(B)是交互适应性、实用性和有效性的集中体现
(C)是指使用各种硬件来测试软件操作的过程(D)检查缺陷是否有效改正
20.调试是(A)
(A)发现与预先定义的规格和标准不符合的问题
(B)发现软件错误征兆的过程
(C)有计划的、可重复的过程
(D)消除软件错误的过程
21.在软件底层进行的测试称为(C)
(A)系统测试(B)集成测试(C)单元测试(D)功能测试
22.在确定黑盒测试策略时,优先选用的方法是(B)
(A)边界值分析法(B)等价类划分
(C)错误推断法(D)决策表方法
23.下列___不属于软件缺陷(A)
(A)测试人员主观认为不合理的地方
(B)软件未达到产品说明书标明的功能
(C)软件出现了产品说明书指明不会出现的错误
(D)软件功能超出产品说明书指明范围
24.产品发布后修复软件缺陷比项目开发早期这样做的费用要高_____(B)
(A)1~2倍(B)10~20倍(C)50倍(D)100倍或更高
25.从下列关于软件测试的叙述中,选出5条正确的叙述。
()
(1)用白盒法测试时,测试用例是根据程序内部逻辑设计的。
(2)尽量用公共过程或子程序去代替重复的代码段。
(3)测试是为了验证该软件已正确地实现了用户的要求。
(4)对于连锁型分支结构,若有n个判定语句,则有2n条路径。
(5)尽量采用复合的条件测试,以避免嵌套的分支结构。
(6)GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁。
(7)发现错误多的程序模块,残留在模块中的错误也多。
(8)黑盒测试方法中最有效的是因果图法。
等价类划分
(9)在做程序的单元测试时,桩(存根)模块比驱动模块容易编写。
(10)程序效率的提高主要应通过选择高效的算法来实现。
26.软件测试是采用(A)执行软件的活动。
A.测试用例
B.输入数据
C.测试环境
D.输入条件
27.不属于逻辑覆盖方法的是(D)。
A.组合覆盖B.判定覆盖
C.条件覆盖D.接口覆盖
28.(A)是选择若干个测试用例,运行被测程序,使得程序中的每个可执行语句至少执行一次。
A、条件覆盖B、组合覆盖
C、判定覆盖D、语句覆盖
29.(B)是设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。
C、判定-条件覆盖B、组合覆盖
C、判定覆盖D、条件覆盖
30.某次程序调试没有出现预计的结果,下列(B)不可能是导致出错的原因。
A.变量没有初始化B.编写的语句书写格式不规范
C.循环控制出错D.代码输入有误
判断题:
软件测试是有效的排除软件缺陷的手段。
(Y)
1.程序员与测试工作无关。
(N)
2.程序员兼任测试员可以提高工作效率。
(N)
3.产品说明书(需求文档)的变更应当受到控制。
()
4.白盒测试的“条件覆盖”标准强于“判定覆盖”。
()
5.软件开发全过程的测试工作都可以实现自动化。
(N)
6.找出的软件缺陷越多,说明剩下的软件缺陷越少。
(N)
7.白盒测试的条件覆盖标准强于判定覆盖。
(N)
8.验收测试是以最终用户为主的测试。
(Y)
9.测试程序仅仅按预期方式运行就行了。
(N)
10.软件测试工具可以代替软件测试员。
(N)
11.最重要的用户界面要素是软件符合现行标准和规范。
(Y)
12.软件测试的目的是尽可能多的找出软件的缺陷。
(Y)
13.验收测试是由最终用户来实施的。
(N)
14.负载测试是验证要检验的系统的能力最高能达到什么程度。
(Y)
15.不存在质量很高但可靠性很差的产品。
(N)
16.总是首先设计黑盒测试用例。
(Y)
17.测试程序仅仅按预期方式运行就行了。
(N)
18.一个程序中所含有的路径数与程序的复杂程度有着直接的关系。
(Y)
19.永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。
(Y)
简答:
1.为什么要进行软件测试?
什么是软件测试?
软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。
2.软件测试的模型有哪些?
各自特点是什么?
V模型:
强调软件开发的协作和速度,反映测试活动与分析设计关系,清楚描述了测试阶段和研发过程间各阶段对应关系
W模型:
双V模型组成,分别代表测试和开发过程强调测试伴随整个软件开发周期,测试开发同步进行,有利于尽早发现问题,测试不仅是程序,包括需求和设计
优点:
有利于及时了解项目难度和测试风险,及早制定应对措施,显著减少总体测试时间,加快项目进度
3.测试的原则是什么?
测试原则四种类型:
模块测试(功能说明检验错误,模块功能结构图,错误处理,独立路径编程人员完成)联合测试(也叫集成测试,实施版本划分,接口问题测试各个接口,设计分析人员)验收测试(系统说明书,用户进行的黑盒测试功能完全)安全测试,压力测试()
4.白盒测试和黑盒测试是什么?
黑盒测试的概念
若被测程序与特定的功能相联系,我们可以针对功能设计测试,以证实各功能完全可执行,同时在功能中寻找错误
把测试对象看做一个黑盒子,完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否正确。
黑盒测试又叫做功能测试或数据驱动测试。
●黑盒测试类似于中医:
使用望、闻、问、切
白盒测试
●若被测程序与特定的结构相联系,我们可以针对结构设计测试,以确保内部的“所有齿轮相吻合”,即软件的内部过程是合理的,是遵照规定执行的
●白盒测试又称玻璃盒测试。
把测试对象看作一个透明的盒子,充分利用其逻辑结构和有关信息,设计和选择测试用例。
●白盒测试又称为结构测试或逻辑驱动测试
●白盒测试类似于西医看病,通过X光、CT扫描等手段
总体上分为静态方法和动态方法两大类。
静态:
关键功能是检查软件的表示和描述是否一致,没有冲突或歧义动态:
语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖
5.如何划分等价类?
等价类分法是将测试空间划分成若干个子集,并且满足每个子集中的任一数据对揭露程序中的缺陷都是等价的,这些子集就叫做等价类或者叫等价子集。
可以划分成两个等价类,一个是有效数据的等价类,另一个是无效数据的等价类,设计测试用例时就可以从这两个等价类中分别取一个输入数据来得到两个测试用例
等价类划分(有效等价类,无效等价类)黑盒测试
6.系统交付使用后,系统转换有哪些方式?
这些方式有哪些优缺点?
系统转换有以下三种方式:
(1)直接转换。
优点:
这种转换过程简单快捷,费用低;缺点:
风险很大,这种方式仅适合用于小型管理信息系统的转换。
(2)并行转换。
优点:
这种方式安全保险,缺点:
费用高。
这种方式适合银行,财务和某些企业的核心系统的转换过程。
(3)分段转换。
优点:
这种方式即可以保证转换过程的平稳和安全,减少风险,又可以避免较高的费用;缺点:
存在新老系统对应部分的衔接不平滑的问题这种方式使用在大量的管理信息系统的转换。
7.什么是测试用例?
为什么要设计测试用例?
测试用例(TestCase)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
●语句覆盖
●判断(分支)覆盖
●条件覆盖
●分支-条件覆盖
●组合覆盖
8.什么是软件测试?
软件测试与调试有什么区别?
软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。
软件测试是软件测试人员和程序员都参与的一项工作,是贯穿整个生命周期的,只需要发现软件的错误,而软件调试主要是程序员自己参与,对程序(设计、编码)进行修改、排除错误,主要是在开发阶段。
综合题:
1.按要求给出下列程序的测试用例(要求写出必要的说明):
(1)语句覆盖程序运行时每个可执行语句至少被执行一次
测试用例
A,B,X
(A>1)and
(B=0)
(A=2)or
(X>1)
执行路径
TestCase1
2,0,3
True
True
ace
程序按路径a,c,e顺序执行,程序中的4个语句都被执行一次,符合语句覆盖的要求。
(2)判定覆盖程序中每个判断条件的真值分支和假值分支至少被执行一遍。
测试用例
A,B,X
(A>1)and
(B=0)
(A=2)or
(X>1)
执行路径
TestCase1
2,0,3
True
True
ace
TestCase2
1,0,1
False
False
abd
采用这一组测试用例,公共程序段的4个判断分支b,c,d,e都被覆盖到了。
测试用例
A,B,X
(A>1)and
(B=0)
(A=2)or
(X>1)
执行路径
TestCase3
3,0,1
True
False
acd
TestCase4
2,1,3
False
True
abe
采用这一组测试用例,公共程序段的4个判断分支b,c,d,e也都被覆盖到了。
需要注意的是,上述两组测试用例在满足判定覆盖的同时,还完成了语句覆盖,因此判定覆盖要比语句覆盖更强一些。
但是,此时如果程序段中的第二个判定条件X>1误写成X<1,执行上述测试用例,原路径abe执行而不影响结果。
对上述示例程序段,设计两个测试用例,使它们能通过路径ace和abd或通过路径acd及abe,即可达到“判定覆盖”的标准。
(3)
条件覆盖程序中每个判断条件中的每个判断式的真值和假值至少被执行一遍。
在第一个判定(A>1)AND(B=0)中应考虑到各种条件取值的情况:
A>1为true,记为T1;
A>1为false,记为-T1;
B=0为true,记为T2;
B=0为false,记为-T2;
同样,对于第二个判定(A=2)OR(X>1)应考虑到:
A=2为true,记为T3;
A=2为false,记为-T3;
X>1为true,记为T4;
X>1为false,记为-t4;
测试用例
A,B,X
执行路径
覆盖条件
TestCase1
2,0,3
ace
T1,T2,T3,T4
TestCase5
1,1,1
abd
-T1,-T2,-T3,-T4
这两个测试用例不但覆盖了4个条件的全部8种情况,而且将两个判定的4个分支b、c、d、e也同时覆盖了,即同时达到了条件覆盖和判定覆盖。
测试用例
A,B,X
执行路径
覆盖条件
测试用例
TestCase6
1,0,3
abe
-T1,T2,-T3,T4
TestCase6
TestCase4
2,1,1
abe
T1,-T2,T3,-T4
TestCase4
上表中虽然覆盖了4个内部判断式的8种真假值情况。
但是这组测试用例的执行路径是abe,仅是覆盖了判断条件的4个真假分支中的2个。
所以,需要设计一种能同时满足判断覆盖和条件覆盖的覆盖测试方法,即判断/条件覆盖测试。
(4)判定-条件覆盖执行被测试程序时,程序中每个判断条件的真假值分支至少被执行一遍,并且每个判断条件的内部判断式的真假值分支也要被执行一遍。
测试用例
A,B,X
执行路径
覆盖条件
(A>1)and
(B=0)
(A=2)or
(X>1)
TestCase1
2,0,3
ace
T1,T2,T3,T4
True
True
TestCase5
1,1,1
abd
-T1,-T2,-T3,-T4
False
False
(5)条件组合覆盖执行被测试程序时,程序中每个判断条件的内部判断式的各种真假组合可能都至少被执行一遍。
在上述示例程序段中,每个判定各包含有两个条件,这两个条件在判定中有8种可能的组合:
1.A>1,B=0,记为T1,T2;
2.A>1,B<>0,记为T1,-T2;
3.A<=1,B=0,记为-T1,T2;
4.A<=1,B<>0,记为-T1,-T2;
5.A=2,X>1,记为T3,T4;
6.A=2,X<=1,记为T3,-T4;
7.A<>2,X>1,记为-T3,T4;
8.A<>2,X<=1,记为-T3,-T4;
测试用例
A,B,X
执行路径
覆盖条件
覆盖组合号
TestCase1
2,0,3
ace
T1,T2,T3,T4
1,5
TestCase4
2,1,1
abe
T1,-T2,T3,-T4
2,6
TestCase5
1,1,1
abd
-T1,-T2,-T3,-T4
4,8
TestCase6
1,0,3
abe
-T1,T2,-T3,T4
3,7
2.在三角形计算中,要求三角型的三个边长:
A、B和C。
当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。
若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角形”。
程序伪代码、控制流程图已给出,为了测试这个程序的正确性,你能举出哪些测试用例?
1.Programtriangle2
2.Dima,b,cAsInteger
3.DimIsATriangleAsBoolean
4.
Output(“Enter3integerswhicharesidesofatriangle”)
5.Input(a,b,c)
6.Output(“SideAis”,a)
7.Output(“SideBis”,b)
8.Output(“SideCis”,c)
9.If(a
10.ThenIsATriangle=True
11.ElseIsATriangle=False
12.EndIf
13.IfIsATrangle
14.Thenif(a=b)AND(b=c)
15.ThenOutput(“Equilateral”)
16.ElseIf(a<>b)AND(a<>c)AND(b<>c)
17.ThenOutput(“Scalence”)
18.ElseOutput(“Isosecles”)
19.EndIf
20.EndIf
21.ElseOutput(“NOTaTriangle”)
22.EndIf
23.Endtriangle2
3.有一段程序如下,请设计测试用例以满足语句覆盖要求。
voidDoWork(intx,inty,intz)
{
intk=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
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 思考 练习 16