白盒测试方法习题及答案
大连东软信息学院软件测试考题题库白盒测试方法习题及答案
大连东软信息学院软件测试考题题库白盒测试方法习题及答案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)需求分析阶段最重要的技术文档是( C )。
A)项目开发计划B) 设计说明书C)需求规格说明书D) 可行性分析报告(2)在软件工程中,白盒测试法可用于测试程序的内部结构。
此方法将程序看作是(A )A) 路径的集合B) 循环的集合C) 目标的集合 D) 地址的集合(3)在以下模块耦合性类型中,模块之间独立性最差的类型是( D )A) 非直接耦合B) 标记耦合C)控制耦合D)内容耦合(4)软件详细设计的主要任务是对(A)进行的详细设计。
A) 算法和数据结构B) 外部接口C)软件编码D)功能(5)Jackson方法是一种面向(C)的结构化方法。
A) 数据流B) 对象C)数据结构D)控制流(6)一个成功的测试可以( D )。
A) 表明程序没有错误B) 发现所有错误C)提高软件可靠性D)发现尚未发现的错误(7)下述陈述中,哪一个不是软件健壮性的度量指标?(C )。
A)失败后重新启动所需的时间B)引起失败的时间所占的百分比C)失败前的平均工作时间D)在一次失败中数据恶化的概率(8)黑盒技术设计测试用例的方法之一为( A )。
A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试(9)CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是(D )。
A)工作无序,项目进行过程中经常放弃当初的计划B)建立了项目级的管理制度C)建立了企业级的管理制度D)软件过程中活动的生产率和质量是可度量的(10)在面向数据流的软件设计方法中,一般将信息流分为( A )。
A)变换流和事务流B)变换流和控制流C)事务流和控制流D)数据流和控制流(11)软件设计中一般将用到图形工具,下述哪种工具可用作设计的图形工具。
( ABCDEF )A)结构图B)实体关系图C)IPO图D)流程图E) N-S图F) 判定树(12)软件需求分析阶段建立原型的主要目地是( C )。
A)确定系统的性能要求B)确定系统的运行要求C)确定系统是否满足用户需要D)确定系统是否满足开发人员需要(13)要显示描绘软件开发项目各作业的依赖关系,应选择(B )。
软件测试(第2版 慕课版)课后习题答案
第一章软件测试基础课后习题答案1.什么是软件测试?软件测试发现一个应用从开始到结束时的错误,测试是一个过程。
(Glenford J.Myers 提出对软件测试的定义)测试是发现错误而执行的一个程序或系统的过程测试以发现故障为目的,是为了发现故障而执行程序过程2.软件测试涉及哪几个关键问题?软件测试的经济性原则谁来测试(who)测试什么(what)什么时候测试(when)怎样进行测试(how)测试的停止标准是什么(which)3.为什么说软件需求说明是软件故障的最大来源?软件需求是描述了系统有哪些功能,功能操作,性能如何等问题,是开发阶段的重要文档,也是后期软件开发的重要依据。
如果软件需求一开始就错了,在后面处理过程则会把错误放大,这样使得修复起来成本就是提升。
4.简述软件测试的复杂性和经济性。
复杂性1.完全测试是不现实的2.软件测试是有风险的3.杀虫剂现象4.缺陷的不确定性经济性软件测试是软件生命期中费用消耗最大的环节。
测试费用除了测试的直接消耗外,还包括其他的相关费用5.分析最近发生的软件质量事故,并简要分析产生的原因。
具体案例具体分子6.启动Windows计算器,输入“6,000-6=”(逗号不能少),观察计算结果,这是软件故障吗?为什么?这是软件故障中的界面缺陷。
由于无法输入逗号,无法进行输入,当做一个界面缺陷,因为不符合需求,原本是小数点变成了逗号。
7.软件测试应遵循哪些重要的原则或方针?1.完全测试程序是不可能的2.软件测试是有风险的3.测试无法找到隐藏的软件故障4.存在的故障数量与发现的故障数量成正比5.杀虫剂现象6.并非所有软件故障都能修复7.一般不要丢弃测试用例8.应避免测试自己编写的程序9.软件测试是一项复杂且具有创造性的和需要高度智慧的挑战性任务8.假定无法完全测试某一程序,那么在决定是否应该停止测试时应考虑哪些问题?在工作中,常用的停止测试标准有五类:测试超过了预定时间,停止测试执行了所有测试用例但没有发现故障,停止测试使用特定的测试用例方法作为判断测试停止的基础正面指出测试完成要求,如发现并修改70个软件故障根据单位是见查出故障数量决定是否停止测试9 . 假如星期一测试软件的某一功能时,每小时能发现一个新的软件故障,那么星期二会以什么频率发现软件故障?第一感觉就是与第一天(星期一)的一样,既然前一天发现的频率以每小时都有新的故障,说明软件的缺陷很高,所以第二天也可能有同样的频率。
《软件工程》课后习题答案
1、可行性研究的目的是用最小的代价,在尽可能短的时间内,确定该项目是否能够开发。
2、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是工程化。
3、喷泉模型是一种以需求分析为动力,以对象为驱动的模型。
4、需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求。
5、可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性、经济可行性、社会可行性。
6、可行性研究的目的不是去开发一个软件项目,而是研究这个软件项目是否值得开发,其中的问题能否解决。
7、判定树较判定表直观易读,判定表进行逻辑验证较严格,能把所有的可能性全部都考虑到。
可将两种工具结合起来,先用判定表做底稿,在此基础上产生判定树。
8、软件工具的发展特点是软件工具有单一工具向多个工具集成化方向发展。
重视用户界面的设计,不断的采用新理论和新技术。
软件工具的商品化推动了软件产业的发展,而软件产业的发展,又增加了对软件工具的需求,促进了软件工具的商品化进程。
9、环境集成主要有数据集成、界面集成、控制集成、平台集成、过程集成。
10、可行性研究实质上是进行一项简化、压缩了的需求分析、设计过程。
11、结构化方法有结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。
12、投资回收期就是累计的经济效益等于最初的项目投资所需的时间。
13、详细描述处理过程常用三种描述工具:图形、表格和语言。
14、数据流图中,每个加工至少有一个输入流和一个输出流。
15、结构化设计以数据流为基础映射成软件结构。
16、当数据流图中某个加工的一组动作存在着多个条件复杂组合的判断时,使用判定表或判定树较好。
17、由于运用原型的目的和方式不同,在使用原型时也采取不同的策略,有抛弃策略和附加策略。
18、有两类维护技术:在开发阶段是用来减少错误、提高软件可维护性面向维护的技术,在维护阶段用来提高维护的效率和质量的维护支援技术。
软件测试练习题及答案
软件测试练习题及答案、判断01 )测试是为了验证软件已正确地实现了用户的要求。
错02 )白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。
对03 )白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。
错04)程序员兼任测试员可以提高工作效率。
错05 )黑盒测试的测试用例是根据应用程序的功能需求设计的。
对06 )当软件代码开发结束时,软件测试过程才开始。
错07 )据有关数据统计,代码中 60%以上的缺陷可以通过代码审查发现出来。
对08)无效等价类是无效的输入数据构成的集合,因此无需考虑无效的等价类划分。
错09 )软件本地化就是将一个软件产品按特定国家或语言市场的需要翻译过来。
错10)在压力测试中通常采用的是黑盒测试方法。
对11)软件测试员无法对产品说明书进行白盒测试。
对12)功能测试工具主要适合于回归测试。
对13)测试人员说:“没有可运行的程序,我无法进行测试工作” 。
错14)自底向上集成需要测试员编写驱动程序。
对15)测试是可以穷尽的。
错16)自动化测试相比手工测试而言,能发现更多的错误。
错17)软件测试自动化可以提高测试效率,可以代替手工测试。
错语句至少被执行一次。
对18)语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行19) Beta 测试是验收测试的一种。
对20 )软件开发全过程的测试工作都可以实现自动化。
错21 )软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。
错22)结构性测试是根据软件的规格说明来设计测试用例。
错23 )软件测试工具可以代替软件测试员。
错24 )通过软件测试,可以证明程序的正确性。
错25)在单元测试中,驱动程序模拟被测模块工作过程中所调用的下层模块。
错26)软件缺陷可能会被修复,可能会被保留或者标识出来。
对27)测试用例是由测试输入数据和对应的实际输出结果这两部分组成。
错28)单元测试通常由开发人员进行。
对(29 )现在人们普遍认为软件测试不应该贯穿整个软件生命周期,而应在编程完毕之后再进行,这样可以降低成本。
软件测试基本原理与实践第四章课后习题答案
软件测试基本原理与实践第四章课后习题答案1. 白盒测试只能由程序员完成。
[判断题] *对错(正确答案)2. 控制流图中只有结点和边。
[判断题] *对(正确答案)错3. 程序员与测试工作无关。
[判断题] *对错(正确答案)4. 白盒测试的“条件覆盖”标准强于“判定覆盖”。
[判断题] *对错(正确答案)5. 白盒测试中,满足条件覆盖的测试用例一定能够满足判定覆盖。
[判断题] *对错(正确答案)6. 语句覆盖是白盒测试中覆盖程度最弱的一种覆盖。
[判断题] *对(正确答案)错7. 白盒测试能够发现100%的程序缺陷。
[判断题] *对错(正确答案)8. 软件开发全过程的测试工作都可以实现自动化。
[判断题] *对错(正确答案)9. 采用自动化测试有可能延误项目进度。
[判断题] *对(正确答案)错10. 程序员兼任测试员可以提高工作效率。
[判断题] *对错(正确答案)11. 测试人员要坚持原则,缺陷未修复完坚决不予通过。
[判断题] *对(正确答案)错12. 好的测试员坚持不懈追求完美。
[判断题] *对错(正确答案)13. 单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。
[判断题] *对(正确答案)错14. 单元测试能发现约80%的软件缺陷 [判断题] *对(正确答案)错15. 单元测试属于动态测试 [判断题] *对(正确答案)错16. 测试是证明软件正确的方法。
[判断题] *对错(正确答案)17. 等价类划分属于黑盒测试技术而循环测试属于白盒测试。
[判断题] *对(正确答案)错18. 测试中应该对有效和无效、期望和不期望的输入都要测试。
[判断题] *错19. 程序中隐藏错误的概率与其发现的错误数成正比。
[判断题] *对(正确答案)错20. 测试应从“大规模”开始,逐步转向“小规模”。
[判断题] *对错(正确答案)21. 找出的软件缺陷越多,说明剩下的软件缺陷越少。
下列属于白盒测试方法的是多选题
下列属于白盒测试方法的是多选题
在软件测试过程中,白盒测试是一种重要的测试方法,它通过分析软件内部结构、代码逻辑和路径覆盖来评估软件的质量。
下面列举了几种属于白盒测试方法的选项,让我们一起来对其进行了解和分析。
1.代码覆盖率测试:代码覆盖率测试是一种白盒测试方法,它旨在评
估测试用例对代码的覆盖程度。
通过执行测试用例并测量其覆盖的代码行数、分支数等指标,可以评估测试的充分性。
2.路径覆盖测试:路径覆盖测试是一种白盒测试技术,其目标是覆盖
软件的所有执行路径。
通过分析代码中的分支语句,循环结构等,设计测试用例以覆盖各种路径,以发现潜在的逻辑错误。
3.数据流分析:数据流分析是一种白盒测试方法,通过分析程序对变
量的定义、使用和传递情况,识别潜在的数据流问题,如未初始化变量、数据依赖等,从而提高程序的可靠性。
4.控制流分析:控制流分析是一种白盒测试技术,通过分析程序的控
制流结构,设计测试用例以覆盖各种控制路径,从而发现可能存在的控制流错误和逻辑错误。
以上所述是几种典型的白盒测试方法,通过合理灵活地运用这些方法,可以有效确保软件的质量和可靠性。
在实际的软件测试工作中,测试人员可以根据具体的需求和场景选择合适的白盒测试方法,并对其进行深入理解和应用,以提升测试效率和发现问题的能力。
软件测试技术(习题卷8)
软件测试技术(习题卷8)第1部分:单项选择题,共56题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]黑盒测试用例设计方法包括( )等A)等价类划分法、因果图法、正交试验设计法、功能图法、路径覆盖法、语句覆盖法B)等价类划分法、边界值分析法、判定表驱动法、场景法、错误推测法、因果图法、正交试验设计法、功能图法C)因果图法、边界值分析法、判定表驱动法、场景法、Z路径覆盖法D)场景法、错误推测法、因果图法、正交试验设计法、功能图法、域测试法答案:B解析:2.[单选题]软件测试是软件质量保证的重要手段,下列( )是软件测试的任务。
①预防软件发生错误;②发现改正程序错误;③提供诊断错误信息。
A)①B)②C)③D)以上都对答案:D解析:3.[单选题]在软件测试前,需要确定软件测试的优先级,优先级越高的测试项,应优先得到测试,如下哪个因素是与测试优先级最不相关的( )。
A)测试的难易程度B)开发修正缺陷的容易程度C)容易出错的测试项D)客户最常使用的产品特性答案:A解析:4.[单选题]( )是选择若干个测试用例,运行被测程序,使得程序中的每个可执行语句至少执行一次。
A)条件覆盖B)组合覆盖C)判定覆盖D)语句覆盖答案:D解析:5.[单选题]我做事不喜欢半途而废A)强烈同意B)同意C)不同意D)最不同意答案:A解析:6.[单选题]走查主要包括以下哪些内容( ) ①检查代码和设计的一致性 ②标准的遵循和可读性 ③评审对象主要是软件A)②③B)②③④C)①②③④D)①②③答案:C解析:7.[单选题]不属于单元测试内容的是( )。
A)模块接口测试B)局部数据结构测试C)独立路径测试D)用户界面测试答案:D解析:8.[单选题]下面四种说法中正确的是A)因果图法是建立在决策表法基础上的一种白盒测试方法;B)等价类划分法是边界值分析法的基础;C)健壮性等价类测试的测试用例要求在有效等价类中取值;D)在任何情况下做黑盒测试皆应首先考虑使用错误推断法。
白盒测试作业题目-附答案
1.说出静态白盒测试的几个好处
答:进行静态白盒测试的首要原因是尽早发现软件缺陷,以找出动态黑盒测试难以发现或隔离的软件缺陷。
另一个好处是给黑盒测试人员提供思路。
2.判断是非:静态白盒测试可以找出需求遗漏之处和相关问题。
答:错误,因为静态白盒测试保证程序中所有关键路径的测试,防止由于没有执行的路径在实际投入运行后执行到发生意外的情况,但无法找出需求遗漏之处和相关问题。
3.正式审查由哪些关键要素组成?
答:确定问题、遵守规则、准备、编写报告
4.为以下流程图所示的程序段设计一组测试用例,要求分别满足语句覆盖、判
定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖
语句覆盖:
判定覆盖
条件覆盖
将X>8 真为T1,假为F1 将Y>5 真为T2,假为F2 将X>0 真为T3,假为F3 将Y>0 真为T4,假为F4 将X>16 真为T5,假为F5 将Y>10 真为T6,假为F6
判定/条件覆盖
条件组合覆盖
组合1:T1,T2 组合5:T3,T4 组合9:T5,T6 组合2:T1,F2 组合6:T3,F4 组合10:T5,F6 组合3:F1,T2 组合7:F3,T4 组合11:F5,T6 组合4:F1,F2 组合8:F3,F4 组合12:F5,F6
路径覆盖:
所有路径:a b c d e f g h k m n p
6. 按照基本路径测试方法设计测试用例
●画流图、计算环形复杂度
●导出独立路径
流图如下:。
软件测试习题答案
《软件测试技术》习题一.简答题和应用题:1测试人员面试题01.为什么要在一个团队中开展软件测试工作?因为没有经过测试的软件很难在发布之前知道该软件的质量,在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。
02.您认为做好测试用例设计工作的关键是什么?白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。
不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题。
2.什么是软件测试?答:软件测试是为了发现错误而执行程序的过程。
或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
3.比较软件测试过程和软件开发过程?4.比较白盒测试和黑盒测试?使用白盒测试方法时,确定测试数据应根据程序的内部逻辑和指定的覆盖标准;黑盒测试法是通过分析程序的接口功能来设计测试用例的。
5.简述软件测试的步骤?软件测试的复杂性分析;软件测试方法与策略;单元测试;集成测试;确认测试;验收测试;测试后的调试;面向对象的软件测试!6.什么是测试用例答:测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果。
测试用例是执行的最小实体。
7.软件测试的步骤答:单元测试、集成测试、系统测试、确认测试(产品发布)定义时期:问题定义,可行性研究;开发时期:需求分析,软件设计,编码,测试;维护时期:维护;8.QTP 工具使用流程答: 录制测试脚本,编辑测试(结构化)脚本(专家视图),调试测试脚本,运行测试脚本, 概要设计 需求分析 详细设计 编 码 单元测试 集成测试 确认测试 需求规格说明书概要设计说明书 说明书 软件开发过程 软件的测试过程 逐 步 细 化 逐 步 集 成分析测试结果(QTP自动产生测试报告)9.了解4-5中软件测试类型二.填空题:1.单元测试是以详细设计说明书为指导,测试源程序代码;集成测试以概要设计说明书为指导,测试软件结构;确认测试以需求分析说明书为指导。
软件测试理论习题与答案完整版
一、选择题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)语句覆盖B)判定覆盖C)条件覆盖D)条件组合覆盖10.在黑盒测试中,着重检查输入条件组合的方法是( ).A)等价类划分法B)边界值分析法C)错误推测法D)因果图法11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是( ).A)系统功能B)局部数据结构C)重要的执行路径D)错误处理12.软件测试过程中的集成测试主要是为了发现( )阶段的错误.A)需求分析B)概要设计C)详细设计D)编码13.不属于白盒测试的技术是( ).A)路径覆盖B)判定覆盖C)循环覆盖D)边界值分析14.集成测试时,能较早发现高层模块接口错误的测试方法为( ).A)自顶向下渐增式测试B)自底向上渐增式测试C)非渐增式测试D)系统测试15.确认测试以( )文档作为测试的基础.A)需求规格说明书B)设计说明书C)源程序D)开发计划16.使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准.A)程序内部逻辑B)程序的复杂度C)使用说明书D)程序的功能17.程序的三种基本结构是( ).A)过程子,程序,分程序B)顺序,选择,循环C)递归,堆栈,队列D)调用,返回,转移18.结构化程序设计的一种基本方法是( )A)筛选法B)递归法C)归纳法D)逐步求精法19.软件调试的目的是( )A)找出错误所在并改正之B)排除存在错误的可能性C)对错误性质进行分类D)统计出错的次数20.程序三种基本结构的共同特点是( )A)不能嵌套使用B)只能用来写简单程序C)已经用硬件实现D)只有一个入口和一个出口21.下面说法正确的是( ).A)经过测试没有发现错误说明程序正确B)测试的目标是为了证明程序没有错误C)成功的测试是发现了迄今尚未发现的错误的测试D)成功的测试是没有发现错误的测试22.覆盖准则最强的是( ).A)语句覆盖B)判定覆盖C)条件覆盖D)路径覆盖23.发现错误能力最弱的是( ).A)语句覆盖B)判定覆盖C)条件覆盖D)路径覆盖24.实际的逻辑覆盖测试中,一般以( )为主设计测试用例.A)条件覆盖B)判定覆盖C)条件组合覆盖D)路径覆盖25.下面( )方法能够有效地检测输入条件的各种组合可能引起的错误.A)等价类划分B)边界值分析C)错误推测D)因果图26.与确认测试阶段有关的文档是( ).A)需求规格说明书B)概要设计说明书C)详细设计说明书D)源程序27.超出软件工程范围的测试是( ).A)单元测试B)集成测试C)确认测试D)系统测试28.软件测试不需要了解软件设计的( ).A)功能B)内部结构C)处理过程D)条件29.( )方法需要考察模块间的接口和各模块之间的联系.A)单元测试B)集成测试C)确认测试D)系统测试30.调试应该由( )完成.A)与源程序无关的程序员B)编制该源程序的程序员C)不了解软件设计的机构D)设计该软件的机构31.基线是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发生错误时,我们可以返回到最近和最恰当的( )上.A)配置项B)程序C)基线D)过程32.版本管理是对系统不同版本进行的( )过程A)标识与跟踪B)标识变更C)发布变更D)控制变更33.在变更控制中,管理各个用户存取和修改一个特定软件配置对象的权限是( ).A)异步控制B)同步控制C)存取控制D)基线控制34. 在配置管理中,"登入"和"检出"处理实现了两个重要的变更控制要素,即同步控制和( ).A)异步控制B)同步控制C)基线控制D)存取控制35. 按照软件配置管理的原始指导思想,受控制的对象应是( ).A)软件元素B)软件配置项C)软件项目D)软件过程36. 软件配置项是软件配置管理的对象,指的是软件工程过程中所产生的( ).A)接口B)软件环境C)信息项D)版本37.在变更控制中,可用来确保由不同用户所执行的并发控制是( ).A)异步控制B)同步控制C)存取控制D)基线控制38.以下说法错误的是( ).A)软件配置管理简称SCIB)软件配置项是配置管理的基本单位C)软件配置实际上是一动态的概念D)软件工程过程中某一阶段的变更均要引起软件配置的变更39.在设计人机界面时,应主要考虑的因素有( ).系统响应时间B)错误处理C)用户求助机制D)以上都是40.人机界面的风格大致经过了( )代的演变A)一B)二C)三D) 四二、填空题1.软件测试的目的是尽可能多地发现软件中存在的(),将()作为纠错的依据.2.测试阶段的基本任务是根据软件开发各阶段的()和程序的(),精心设计一组(),利用这些实例执行(),找出软种()和().3.测试用例由()和预期的()两部分组成.4.软件测试方法一般分为两大类:()方法和()方法.5.动态测试通过()发现错误.根据()的设计方法不同,动态测试又分为()与()两类.6.静态测试采用()和()的手段对程序进行检测.7.人工审查程序偏重于()的检验,而软件审查除了审查()还要对各阶段()进行检验.8.计算机辅助静态分析利用()工具对测试程序进行()分析.9.黑盒法只在软件的()处进行测试,依据()说明书,检查程序是否满足()要求.10.白盒法必须考虑程序的()和(),以检查()的细节为基础,对程序中尽可能多的逻辑路径进行().11.白盒测试是()测试,被测对象是(),以程序的()为基础设计测试用例.12.逻辑覆盖是对程序内部有()存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为(),(),()()6种覆盖技术.13.实际的逻辑覆盖测试中,一般以()覆盖为主设计测试用例,然后再补充部分用例,以达到()覆盖测试标准.14.循环覆盖是对程序内部有()存在的逻辑结构设计测试用例,它通过限制()来测试.15.基本路径测试是在程序()基础上,通过分析控制构造的()复杂性,导出()集合,从而设计测试用例.16.黑盒测试是()测试,用黑盒技术设计测试用例有4种方法:(),(),()和().17.等价类划分从程序的()说明,找出一个输入条件通常是()或(),然后将每个输入条件划分成两个或多个()18.边界值分析是将测试()情况作为重点目标,选取正好等于,刚刚大于或刚刚小于()的测试数据.如果输入或输出域是则应选取集合的()元素和()元素作为测试用例.19.在测试程序时,根据经验或直觉推测程序中可能存在的各种错误,称为().20.因果图的基本原理是通过画()图,把用自然语言描述的()转换为(),最后为()每一列设计一个测试用例.21.测试的综合策略是在测试中,联合使用各种()方法.通常先用()法设计基本的测试用例,再用()法补充一些必要22.软件测试过程中需要3类信息:(),()和().23.软件测试一般经过4个测试: (), (), ()和().24. 指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错和()的文档.25.单元测试主要测试的5个基本特征: (), (), (), ()和().26.在单元测试中,需要为被测模块设计()模块和()模块. ()用来模拟被测模块的上级调用模块, ()用来代替被的模块.27.集成测试指在()测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试.也称()测试或()测28.集成测试的方法有两种: ()和().29.渐增式测试有两种不同的组装模块的方法: ()和().30.自顶向下渐增式测试不需要编写()模块,只需要编写()模块,其步骤是从()模块开始,沿着被测程序的()步向下测试,它有两种组合策略: ()和().31.自底向上渐增式测试不需要编写()模块,只需要编写()模块.32.确认测试指检查软件的()与()是否与()说明书中确定的指标相符合,又称()测试.33.确认测试在模拟环境下运用()测试方法,由()和()参加的测试.34.确认测试开始前需要制定()计划,结束后要写出()报告.其测试用例要选用()的数据.35.软件配置审查的任务是检查软件的所有文档资料的()和().36.调试也称(),是在成功的测试之后才开始进行,其目的是确定错误的()和(),并改正错误.37.调试技术包括(), (), ()和().38.回溯法调试是从()出发,而归纳法调试是从()入手.39.被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为()测试.40.用等价类划分法设计一个测试用例时,使其覆盖()尚未被覆盖的合理等价类.41.用等价类划分法设计一个测试用例时,使其覆盖()不合理等价类.42.在单元测试时,需要为被测模块设计().43.在集成测试时有两种测试方法,它们是().44.软件测试是为了()而执行程序的过程.45.运行被测程序的方法称为()测试.46.动态测试中,主要测试软件功能的方法称为()法.47.选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准称为().48.要覆盖含循环结构的所有路径是不可能的,一般通过限制()来测试.49.用等价类划分法设计测试用例时,如果被测程序的某个输入条件规定了取值范围,则可确定一个合理的等在和().50.凭经验或直觉推测程序中可能存在的错误而设计测试用例的方法是().51.集成测试中的具体方法是().52.确认测试阶段的两项工作是().53.在单元测试中,测试一个模块时,需要设计().54.软件配置管理,简称SCM,它用于整个软件工程过程.其主要目标是: (), (), (), ().55.SCM是一组管理整个软件生存期各阶段中()的活动.56.基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果.因此,基线可以作为项目的一个().三、名词解释1.软件测试2.静态测试3.动态测试4.黑盒测试5.白盒测试6.语句覆盖7.判定覆盖8.条件覆盖9.判定/条件覆盖10.条件组合覆盖11.路径覆盖12.测试用例13.驱动模块14.桩模块15.单元测试16.集成测试17.确认测试18.渐增式测试19.非渐增式测试20.调试21.人的因素的含义22.基线23.软件配置管理24.软件配置项四、简答题1.为什么说软件测试是软件开发中不可缺少的重要一环,但不是软件质量保证的安全网2.软件测试的目的是什么为什么把软件测试的目的定义为只是发现错误3.软件测试应当遵循什么原则为什么要遵循这些原则4.软件测试的步骤是什么这些测试与软件开发各阶段之间的关系5.软件测试的过程是什么6.单元测试,集成测试和确认测试各自主要目标是什么它们之间有什么不同相互有什么关系7.什么是黑盒测试与白盒测试它们都适应哪些测试8.简述软件测试与软件调试的区别.9.软件配置管理的任务.10.试述第三代界面的优点.11.试述人机界面的设计过程.五、综合题1.变量的命名规则一般规定如下:变量名的长度不多于40个字符,第一个字符必须为英文字母,其他字母可以英文字母,数字以意组合.请用等价分类法设计测试用例.2.某商场在"五一"期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于100元,按A类标准收费(不打折),一次购物累100元,按B类标准收费(打9折);会员顾客一次购物累计少于1000元,按C类标准收费(打8折),一次购物累计等于或多于标准收费(打7折).测试对象是按以上要求计算顾客收费模块,按照路径覆盖法设计测试用例.3.下面是某程序的流程图:(1)计算它的环路复杂性.(2)为了完成基本路径测试,求它的一组独立的路径.一、选择题1.B2.B3.C4.D5.A6.B7.C8.B9.D 10.D11.A 12.B 13.D 14.A 15.A 16.A 17.B 18.D 19.A 20.D21.C 22.D 23.A 24.C 25.D 26.A 27.D 28.D 29.B 30.B31.C 32.A 33.D 34.B 35.C 36.B 37.B 38.A 39.D 40.D二、填空题1. 错误测试结果2. 文档资料内部结构测试用例程序错误缺陷3. 输入数据输出数据4. 动态测试静态测试5. 运行程序测试用例黑盒测试白盒测试6. 人工检测计算机辅助静态分析7. 编码质量编码软件产品8. 静态分析特性9. 接口需求规格功能10. 内部结构处理过程处理过程测试11. 结构源程序内部逻辑12. 判定语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖13. 条件组合路径14. 循环循环次数15. 控制流程图环路基本路径16. 功能等价类划分边界值分析错误推测因果图17. 功能一句话一个短语等价类18. 边界边界值第一个最后一个19. 错误推测法20. 因果功能说明判定表判定表21. 测试黑盒白盒22. 软件配置测试配置测试工具23. 单元测试集成测试确认测试系统测试24. 单元测试编码详细设计25. 模块模块接口局部数据结构重要的执行路径错误处理边界条件26. 驱动桩驱动模块桩模块27. 单元组装联合28. 非渐增式测试渐增式测试29. 自顶向下结合自底向上结合30. 驱动桩顶层软件结构图深度优先策略宽度优先策略31. 桩驱动32. 功能性能需求规格有效性33. 黑盒专门测试人员用户34. 测试测试分析实际运用35. 完整性正确性36. 纠错原因位置37. 简单调试归纳法调试演绎法调试回溯法调试38. 程序产生错误的地方测试结果发现的线索39.静态40.尽可能多的41.一个42.驱动模块与桩模块43.渐增式和非渐增式44.发现错误45.动态测试46.黑盒法47.判定覆盖48.循环次数49.两个不合理的等价类50.错误推测法51.渐增式和非渐增式测试方法52.进行确认测试和软件配置审查53.驱动模块和桩模块54.标识变更控制变更确保变更正确地实现报告有关变更55.变更56.检查点三、名词解释1. 软件测试指为了发现软件中的错误而执行软件的过程.它的目标是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据.2. 静态测试指被测试的程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测.3. 动态测试指通过运行程序发现错误.4. 黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试.5. 白盒测试指把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致.6. 语句覆盖指设计足够的测试用例,使被测程序中每个语句至少执行一次.7. 判定覆盖指设计足够的测试用例,使被测程序中每个判定表达式至少获得一次"真"值或"假"值,从而使程序的每个分支至少都通过一次,因此判定覆盖又称分支覆盖.8. 条件覆盖指设计足够测试用例,使判定表达式中每个条件的各种可能的值至少出现一次.9. 判定/条件覆盖指设计足够的测试用例,使得判定表达式中每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次.10. 条件组合覆盖指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次.11. 路径覆盖指设计足够的测试用例,覆盖被测程序中所有可能的路径.12. 测试用例指为寻找程序中的错误而精心设计的一组测试数据.13. 驱动模块指用来模拟被测模块的上级调用模块,其功能比真正的上级模块简单得多,它只完成接受测试数据,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结果并输出.14. 桩模块指用来代替被测试模块所调用的模块,其作用是返回被测试模块所需的信息.15. 单元测试指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误.16. 集成测试指在单元测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试.也称组装测试或联合测试.17. 确认测试指检查软件的功能与性能是否与需求规格说明书中确定的指标相符合,又称有效性测试.18. 渐增式测试指逐个把未经过测试的模块组装到已经过测试的模块上去,进行集成测试.每加入一个新模块进行一次集成测试,重复此过程直到程序组装完毕.19. 非渐增式测试指首先对每个模块分别进行单元测试,然后把所有的模块按设计要求组装在一起进行测试.20. 调试指确定错误的原因和位置,并改正错误的过程,也称纠错.21. 1)人对感知过程的认识,包括视觉,阅读时的认知心理,记忆,归纳与演绎推理等;2)用户已有的技能和行为方式;3)用户所要求的完成的整个任务以及用户对人机交互部分的特殊要求.22. 已经通过正式复审和批准的某规约或产品,它因此可以作为进一步开发的基础,并且只能遵循正式的变化控制过程得到改变.23. 软件配置管理,简称SCM,它用于整个软件工程过程.其主要目标是:标识变更,控制变更,确保变更正确地实现,报告有关变更.SCM是一组管理整个软件生存期各阶段中变更的活动.24. 软件配置项是软件工程中产生的信息项,它是配置管理的基本单位,对已成为基线的SCI,虽然可以修改,但必须按照一个特殊的正确的过程进行评估,确认每一处的修改.四、简答题1. ①软件测试是软件开发中不可缺少的重要一环,原因是:·测试的工作量约占整个项目开发工作量的40%左右,几乎一半.如果是关系到人的生命安全的软件,测试的工作量还要成倍增加.·软件测试代表了需求分析,设计,编码的最终复审.②软件测试不是软件质量保证的安全网,因为软件测试只能发现错误,不能保证没有错误.2. 软件测试的目的有:①软件测试是为了发现错误而执行程序的过程.②一个好的测试用例能够发现至今尚未发现的错误.③一个成功的测试是发现了至今尚未发现的错误.软件测试的目标定义为只是发现错误,原因是软件测试可以有两个目标,一个是预防错误,另一个是发现错误.由于软件开发是人的创造性劳动,人的活动不可能完美无缺,错误可能发生在任何一个阶段,因此预防错误这一目标几乎是不可实现的,所以软件测试的目标定义为只是发现错误.3. 软件测试应当遵循原则如下:①用例由输入数据和预期的输出数据两部分组成,因为这样便于对照检查,做到有的放矢.②用例不仅选用合理的输入数据,还要选择不合理的输入数据.因为当以特殊方式使用程序时,会突然发现程序中有许多错误,故使用预期的不合理的输入数据进行程序测试,比用合理的输入数据收获要大,从而能更多地发现错误,提高程序可靠性.③除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做的事,因为如果程序做了它不应该做的事,即使程序能做它应该做的事,程序也是错误的.④应制定测试计划并严格执行,因为这样可以排除随意性.⑤长期保留测试用例,因为测试用例的设计耗费很大的工作量,而修改后的程序可能有新的错误,需要进行回归测试,故必须将测试用例作为文档保存,使测试具有可重复性,同时测试用例是将来系统维护测试与确认的依据,保存测试用例也为以后的维护提供方便.⑥对发现错误较多的程序段,应进行更深入的测试,因为发现错误较多的程序段,其质量较差,同时在修改错误过程中又容易引入新的错误.⑦程序员避免测试自己设计的程序,因为测试目的是找错.从心理学角度讲,程序员大多对自己的程序存有偏见,总认为没有错误或错误不大,另外程序员对需求规格说明的理解而引入的错误则更难发现,应该由别人或另外的机构来测试会更客观,更有效.4. ①软件测试的步骤如图7-3所示.图7-3 软件测试的步骤②这些测试与软件开发各阶段之间的关系如图7-2所示.因为系统测试已经超出了软件工程的范围,所以图7-2中的系统测试不包括在内.5. 软件测试是一个规则的过程,包括测试设计,测试执行以及测试结果比较等.①测试设计:根据软件开发各阶段的文档资料和程序的内部结构,利用各种设计测试用例技术精心设计测试用例.②测试执行:利用这些测试用例执行程序,得到测试结果.③测试结果比较:将预期的结果与实际测试结果进行比较,如果二者不符合,对于出现的错误进行纠错,并修改相应文档.修改后的程序还要进行再次测试,直到满意为止.如果测试发现不了错误,可能由于测试配置考虑不周到,应考虑重新制定测试方案,设计测试用例.6. 单元测试,集成测试和确认测试各自主要目标是:①单元测试的主要目标是检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误.②集成测试的主要目标是检查与设计相关的软件体系结构的有关问题.③确认测试的主要目标是检查已实现的软件是否满足需求规格说明书中确定的各种需求.单元测试,集成测试和确认测试之间的不同如下:①测试内容不同:单元测试集中于单个模块的功能和结构检验,其测试内容主要包括模块接口,局部数据结构,重要的执行路径,错误处理和边界测试;集成测试集中于模块组合的功能和软件结构检验,其测试内容主要包括模块组装中可能出现的问题,即数据穿过接口可能丢失,一个模块可能破坏另一个模块的内容,子功能组装可能不等于主功能,全程数据结构问题,误差累积问题;确认测试集中于论证软件需求的可追溯性,主要包括测试软件功能和性能是否与软件需求一致,测试软件配置的所有程序与文档是否正确完整而且一致.②测试的方法不同:单元测试总是使用白盒测试法,为被测模块设计驱动模块和桩模块;集成测试使用渐增式测试和非渐增式测试,渐增式测试又有分为自顶向下结合法和自底向上结合法;确认测试总是使用黑盒测试法.③发现的错误不同:单元测试发现的错误主要是在编码阶段产生的错误,集成测试发现的错误主要是在设计阶段产生的错误,确认测试发现的错误主要是在需求分析阶段产生的错误.④涉及的文档不同:单元测试涉及编码和详细设计文档,集成测试涉及详细设计文档和概要设计文档,确认测试涉及软件需求规格说明书和用户手册.三者相互关系是:单元测试,集成测试和确认测试是顺序实现的.首先单元测试对各个模块进行测试,然后集成测试以单元测试为基础,将所有已测模块按照设计要求组装成一个完整的系统,对模块组合的功能和软件结构检验进行测试,最后确认测试是以集成测试为基础,测试集成的软件是否满足需求规格说明书中确定的各种需求.7. ①黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试.②白盒测试指把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致.③白盒测试适应的测试有单元测试,逻辑覆盖(按逻辑覆盖程度不同,有语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖和路径覆盖.),循环覆盖(限制循环次数,有单循环和嵌套循环)和基本路径测试.④黑盒测试适应的测试有:确认测试,等价类划分,边界值分析,错误推测和因果图.8. 软件测试与软件调试在目的,技术和方法等方面存在很大的区别,主要表现在:①测试从一个侧面证明程序员的失败,而调试是为了证明程序员的正确.②测试从已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的只是程序是否通过测试.调试一般以不可知的内部条件开始,除统计性调试外,结果是不可预见的.③测试是有计划的,并要进行测试设计,而调试是不受时间约束的.④测试是一个发现错误,改正错误,重新测试的过程,而调试是一个推理过程.⑤测试的执行是有规程的,而调试的执行往往要求程序员进行必要的推理及知觉的飞跃.⑥测试经常由独立的测试组在不了解软件设计的前提下完成,而调试必须由了解详细设计的程序员完成.⑦大多数测试的执行和设计可由工具支持,而调试时,程序员能利用的工具主要是调试器.五、综合题1.①划分等价类下表.等价类划分表。
软件测试技术基础教程》习题解答
第一章软件测试理论一、选择题1.软件测试的目的是C。
A.表明软件的正确性B.评价软件质量C.尽可能发现软件中的错误D.判定软件是否合格2.下面关于软件测试的说法,A是错误的。
A.软件测试是程序测试B.软件测试贯穿于软件定义和开发的整个期间C.需求规格说明、设计规格说明都是软件测试的对象D.程序是软件测试的对象3.某软件公司在招聘软件评测师时,应聘者甲向公司做如下保证:①经过自己测试的软件今后不会再出现问题;②在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问题多,就重点审查该程序,以免不利于团结;③承诺不需要其他人员,自己就可以独立进行测试工作;④发扬咬定青山不放松的精神,不把所有问题都找出来,决不罢休;你认为应聘者甲的保证B。
A.①、④是正确的B.②是正确的C.都是正确的D.都不正确4.软件测试的对象包括B。
A.目标程序和相关文档B.源程序、目标程序、数据及相关文档C.目标程序、操作系统和平台软件D.源程序和目标程序5.导致软件缺陷的原因有很多,①-④是可能的原因,其中最主要的原因包括D。
①软件需求说明书编写的不全面,不完整,不准确,而且经常更改②软件设计说明书③软件操作人员的水平④开发人员不能很好的理解需求说明书和沟通不足A.①、②、③B.①、③C.②、③D.①、④二、简答题1.简述软件测试发展的历史及软件测试的现状。
参考答案:软件测试是伴随着软件的产生而产生的。
在软件行业发展初期,没有系统意义上的软件测试,更多的是一种类似调试的测试,测试用例的设计和选取也都是根据测试人员的经验随机进行的,大多数测试的目的是为了证明系统可以正常运行。
到了20世纪70年代以后,很多测试理论和测试方法应运而生,逐渐形成了一套完整的体系。
在产业界,从20世纪70年代后期到20世纪80年代中期,很多软件企业成立了QA或者SQA部门。
后来QA的职能转变为流程监控(包括监控测试流程),而测试(Testing)则从QA中分离出来成为独立的组织职能。
软件测试技术(习题卷4)
软件测试技术(习题卷4)第1部分:单项选择题,共56题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]组装测试计划是在( )阶段制定的。
A)可行性研究与计划B)需求分析C)概要设计D)详细设计答案:C解析:2.[单选题]单元测试将根据在哪个阶段中产生的规格说明进行。
A)可行性研究与计划B)需求分析C)概要设计D)详细设计答案:D解析:3.[单选题]下列哪项工作与软件缺陷管理和追踪无关 ()A)对缺陷应该包含的信息条目、状态分类等进行完善设计B)通过软件系统自动发送通知给相关开发和测试人员,使缺陷得到及时处理C)对测试用例的执行结果进行记录和追踪D)通过一些历史曲线和统计曲线来分析和预测未来的缺陷发现情况答案:C解析:4.[单选题]我需要肯定自己的价值A)强烈同意B)同意C)不同意D)最不同意答案:B解析:5.[单选题]若一个通讯簿最多可以输入100条记录,则下列选项中设计的测试用例最优的是( )。
(选择一项)A)分别输入1、50、100条记录B)分别输入0、1、50、99、100条记录C)分别输入0、1、99、100、101条记录D)分别输入0、1、50、99、100、101条记录答案:D解析:6.[单选题]测试程序时不在机器上直接运行程序,而是采用人工检查或计算机辅助静态分析的手段检查程序。
这种测试C)静态测试D)动态测试答案:C解析:7.[单选题]如果系统输入条件存在组合的情况,那么设计测试用例应该选择( )测试方法。
A)等价类法B)边界值法C)因果图D)随机测试答案:C解析:8.[单选题]以下关于Web应用软件测试的说法中,正确的是A)链接测试是Web应用软件测试的一项内容B)Web应用软件测试通常不考虑安全性测试C)与传统软件相比,Web应用软件测试更简单D)Web应用软件只能进行黑盒测试,不能进行白盒测试答案:A解析:9.[单选题]测试工程师的工作范围会包括检视代码、评审开发文档,这属于( )A)动态测试B)静态测试C)黑盒测试D)白盒测试答案:B解析:10.[单选题]下面哪项内容不包含在测试计划文档中( )A)测试标准B)测试用例C)测试策略D)测试时间安排答案:B解析:11.[单选题]下列关于缺陷分类的说法中错误的是( )。
软件测试习题参考答案
本书习题参考答案第1章软件测试概述1. 软件具有几个特点,请详细说明。
软件具有8个特点:(1) 软件是一种逻辑实体,而不是具体的物理实体。
因而它具有抽象性。
(2) 软件的生产与硬件不同,它没有明显的制造过程。
对软件的质量控制,必须着重在软件开发方面下功夫。
(3) 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。
然而它存在退化问题,必须要对其进行多次的修改与维护。
(4) 软件的开发和运行常常受到计算机系统的制约,对计算机系统有着不同程度的依赖性。
为了解除这种依赖性,在软件开发中提出了软件移植的问题。
(5) 软件的开发至今尚未完全摆脱人工艺的开发方式。
(6) 软件本身是复杂的。
软件的复杂性可能来自它所反映的实际问题的复杂性,也可能来自程序逻辑结构的复杂性。
(7) 软件成本相当昂贵。
软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动,它的成本是比较高的。
(8) 相当多的软件工作涉及到社会因素。
许多软件的开发和运行涉及机构、体制及管理方式等问题,它直接影响到项目的成败。
2.软件的分类方法都有哪些?软件的分类方法有如下 4种:(1)按软件的功能分类(系统软件,支撑软件,应用软件)(2)按软件服务对象的范围分类(项目软件,市场软件)(3)按开发软件所需要的人力、时间以及完成的源程序行数分类。
(大型,小型,中型,微型)(4)按软件工作方式分类按软件的工作方式分为:实时处理软件、分时软件、交互式软件、批处理软件。
3. 软件测试的概念软件测试是软件工程中的一个环节,是开发项目整体的一部分。
软件测试是有计划有组织的,是保证软件质量的一种手段,它是软件工程中一个非常重要的环节。
因此,可以认为它是伴随软件工程的诞生而诞生的,伴随着软件复杂程度的增加、规模的增大,软件测试作为一种能够保证软件质量的有效手段,越来越受到人们的重视,软件测试最终目的是使产品达到完美。
4. 软件测试的方法有哪些?软件的测试方法有3种,即用试题测试、用新旧两个系统作平行处理测试和软件测试自动化工具测试。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[试题分类]:[04]白盒测试方法/[0400][综合]白盒测试方法1. 下面不属于白盒测试能保证的是。
A. 模块中所有独立途径至少测试一次B. 测试所以逻辑决策真和假两个方面C. 在所有循环的边界内部和边界上执行循环体D. 不正确或漏掉的功能答案:D分数:1题型:单选题难度:12. 因果图方法是根据()之间的因果关系来设计测试用例的。
A. 输入与输岀B. 设计与实现C. 条件与结果D. 主程序与子程序答案:A分数:1题型:单选题难度:13. 使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准A. 程序的内部逻辑B. 程序的复杂程度C. 使用说明书D. 程序的功能答案:A分数:1题型:单选题难度:14. 软件测试中常用的静态分析方法是()和接口分析。
A. 引用分析B. 算法分析C. 可靠性分析D. 效率分析答案:A分数:1题型:单选题难度:15. 软件测试中常用的静态分析方法是引用分析和()。
A. 引用分析B. 算法分析C. 可靠性分析D. 接口分析答案:D分数:1题型:单选题难度:16. 白盒方法中常用的方法是()方法。
A. 路径测试B. 等价类C. 因果图D. 归纳测试答案:A分数:1题型:单选题难度:17. 在软件工程中,白箱测试法可用于测试程序的内部结构。
此方法将程序看作是()A. 路径的集合B. 循环的集合C. 目标的集合D. 地址的集合答案:A分数:1题型:单选题难度:18. 软件测试白箱测试是对软件的结构进行测试,下述:I.边缘值分析n.语句测试皿.分值测试IV .路经测试)是其应包括的内容。
A. IB. n和皿C.皿和VD. n .皿和V答案:D分数:1题型:单选题难度:19. 在进行单元测试时,常用的方法是()。
A. 采用白盒测试,辅之以黑盒测试B. 采用黑盒测试,辅之以白盒测试C. 只适用白盒测试D. 只适用黑盒测试答案:A分数:1题型:单选题难度:110. 白盒测试法一般使用于()测试。
A. 单元B. 系统C. 集成D. 确认答案:A分数:1题型:单选题难度:1[试题分类]:[04] 白盒测试方法/[0401]逻辑覆盖法11. 关于条件测试错误的是()A. 可以检查程序中所包含的逻辑条件B. 条件中包含的错误有布尔算子错误C. 条件中包含的错误有布尔变量错误D. 条件中包含的错误有接口错误答案:D分数:1题型:单选题难度:112. 关于条件中包含的错误类型说法错误的是()A. 关系算子错误B. 算术表达式错误C. 条件中包含的错误有布尔变量错误D. 条件中包含的错误有接口错误答案:D分数:1题型:单选题难度:113. 语句覆盖.判定覆盖.条件覆盖和路径覆盖都是白盒测试法设计测试用例的覆盖准则,在这些覆盖准则中最弱的准则是 ()。
A. 语句覆盖B. 条件覆盖C. 路径覆盖D. 判定覆盖答案:A分数:1题型:单选题难度:114. 语句覆盖.判定覆盖.条件覆盖和路径覆盖都是白盒测试法设计测试用例的覆盖准则,在这些覆盖准则中最强的准则是 ()。
A. 语句覆盖B. 条件覆盖C. 路径覆盖D. 判定覆盖答案:C分数:1题型:单选题难度:115. 在下面所列举的逻辑测试覆盖中,测试覆盖程度最强的是()A. 条件覆盖B. 条件组合覆盖C. 语句覆盖D. 条件及判定覆盖答案:B分数:1题型:单选题难度:116. 在下面所列举的逻辑测试覆盖中,测试覆盖程度最弱的是()A. 条件覆盖B. 条件组合覆盖C. 语句覆盖D. 条件及判定覆盖答案:C分数:1题型:单选题难度:117. 对下面的个人所得税程序中满足语句覆盖测试用例的是( )lf(in come < 800) taxrate = 0;else if(i ncome <= 1500) taxrate =;else if(i ncome < 2000) taxrate =;else taxrate =;=(800,1500,2000,2001)=(800,801,1999,2000)=(799,1499,2000,2001)=(799,1500,1999,2000)答案:D分数:1题型:单选题难度:118. 对下面的个人所得税程序中满足判定覆盖测试用例的是( lf(in come < 800) taxrate = 0;else if(i ncome <= 1500) taxrate =;else if(i ncome < 2000) taxrate =;else taxrate =;=(799,1500,1999,2001)=(799,1501,2000,2000)=(800,1500,2000,2001)=(800,1499,2000,2001)答案:A分数:1题型:单选题难度:119. 下列陈述中正确的是( )A. 结构测试中不包括循环测试B. 猜测错误也是一种测试方法C. 如果能做到穷举测试,便可发现程序中的全部错误D. 语句覆盖达到100%则分支(判定)覆盖也应达到100%答案:D分数:1题型:单选题难度:120. 在下列逻辑覆盖测试法中,覆盖程度最高的是( )。
A. 语句覆盖B. 判定覆盖C. 路径覆盖D. 条件组合覆盖答案:C分数:1题型:单选题难度:121. 在下列逻辑覆盖测试法中,覆盖程度最低的是( )。
A. 判定覆盖B. 条件覆盖C. 语句覆盖D. 路径覆盖答案:C分数:1题型:单选题难度:122. 以下四种逻辑覆盖中,发现错误能力最强的是( )A. 语句覆盖B. 条件覆盖C. 判定覆盖D. 条件组合覆盖答案:B分数:1题型:单选题难度:1[试题分类]:[04] 白盒测试方法/[0402]基本路径法23. 路径测试是整个结构测试的重要组成部分,但在研究路经测试时,通常又是使用程序控制流图来代替( )A.程序框图B.结构图C.数据流图D.程序流程图答案:A分数:1题型:单选题难度:11、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支_至少被执行一次。
5、根据覆盖目标的不同,逻辑覆盖又可分为:________________ ,______________ , _________________ ,___________________ ,条件组合覆盖,判断/条件覆盖。
语句覆盖,判定覆盖,条件覆盖,路径覆盖9、白盒测试又称为________________ ,可以分为 _______________ 和 ________________ 两大类。
结构测试,静态测试,动态测试16、代码复审属于_____________ ,不实际运行程序。
静态测试1.下列哪一项不是白盒测试?( C)A.单元测试B. 集成测试C. 系统测试D. 回归测试6•有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准___________ 。
( B)A.语句覆盖B.判定覆盖C.条件覆盖D.路径覆盖9.关于白盒测试与黑盒测试的最主要区别,正确的是_________________ 。
(A)A.白盒测试侧重于程序结构,黑盒测试侧重于功能E.白盒测试可以使用测试工具,黑盒测试不能使用工具C.白盒测试需要程序参与,黑盒测试不需要D.黑盒测试比白盒测试应用更广泛12. 在下面所列举中的逻辑测试覆盖中,测试覆盖最强的是__________ 。
( B)A.条件覆盖 E.条件组合覆盖C.语句覆盖D.判定覆盖13. 在下面所列举中的逻辑测试覆盖中,测试覆盖最弱的是__________ 。
( C)A.条件覆盖 E.条件组合覆盖C.语句覆盖D.判定覆盖30.代码检查法有桌面检查法,走查和 _____________ 。
( B)A.静态测试B. 代码审查???C.动态测试???D.白盒测试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)) the nX=A-B;if((A=2) OR (B>20)) the nX=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,i nt y,i nt z){int k=O,j=O;if ( (x>3)&&(z<10)){ k=x*y-1;j=sqrt(k);} 代码程序: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)V ( G) = 4路径1 : 14路径2: 13 f 4 T 14路径3: 4T6T9T 10T 13T4f 14路径4: 4T6T 9T 12T 13T4T 141.如图显示某程序的逻辑结构。
试为它设计足够的测试用例,分别实现对程序的判定覆盖、条件覆盖和条件组合覆盖。
(20分)(每空答案:3•设一个控制流图如下,请给岀环形复杂度和基本测试路径。
( 20分)答案:(1) 根据程序环形复杂度的计算公式,求岀程序路径集合中的独立路径数目。
公式1 : V(G)=11-9+2,其中10是控制流图G中边的数量,8是控制流图中节点的数目公式2 : V(G)=3+1,其中3是控制流图G中判断节点的数目。
公式3 : V(G)=4,其中4是控制流图G中区域的数目。
因此,控制流图G的环形复杂度是4。
(2)根据上面环形复杂度的计算结果,源程序的基本路径集合中有4条独立路径:路径 1 : 5->22路径 2 : 5->7, 8->11, 12->21->5->22路径 3 : 5->7, 8->16->17->19->21->5->22路径 4 : 5->7, 8->16->18->19->21->5->221、使用基本路径测试方法,为以下程序段设计测试用例。