白盒测试方法习题及答案
软件测试技术考试试题及答案

软件测试技术考试试题及答案在软件开发和应用过程中,软件测试技术起到了至关重要的作用。
通过测试,可以验证软件的正确性、可靠性和安全性,帮助开发团队发现和修复潜在的问题,从而提高软件质量。
对于软件测试技术的掌握,既是软件测试人员的基本素养,也是求职者在面试过程中的一项重要能力。
下面,本文为大家总结了一些常见的软件测试技术考试试题,并给出了详细的答案,希望对大家的学习和提升有所帮助。
试题一:请简要介绍软件测试的目的和重要性。
答案一:软件测试的目的是为了发现软件中的缺陷和错误,确保软件能够按照需求规格书的要求正常工作。
软件测试的重要性主要有以下几个方面:1. 发现问题:通过测试可以发现软件中的缺陷和错误,帮助开发团队及时修复,提高软件质量。
2. 提高可靠性:经过充分的测试,可以提高软件的可靠性和稳定性,减少用户在使用过程中遇到的问题。
3. 降低成本:通过测试能够及早发现问题,避免将缺陷带入后续的开发和维护阶段,从而减少修复成本。
4. 用户满意度:通过测试可以提高软件的质量,满足用户对软件功能和性能的需求,提升用户的满意度。
试题二:请简要解释黑盒测试和白盒测试的含义,并列举它们的优缺点。
答案二:黑盒测试和白盒测试是两种常见的测试方法,它们的主要区别在于对软件内部结构的了解程度。
黑盒测试:黑盒测试是在不考虑软件内部结构的情况下进行测试,主要关注软件的功能是否按照需求规格书的要求正常运行。
黑盒测试可以模拟用户的行为,通过输入和输出来验证软件的正确性和可用性。
优点:1. 不依赖开发者:黑盒测试不需要了解软件的内部结构,可以独立进行。
2. 覆盖广泛:通过黑盒测试可以覆盖软件的各种功能和使用场景,提高测试的全面性和有效性。
缺点:1. 需要大量的测试用例:为了达到全面性,黑盒测试需要编写大量的测试用例,增加了测试的工作量。
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)需求分析阶段最重要的技术文档是( 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.控制流分析:控制流分析是一种白盒测试技术,通过分析程序的控
制流结构,设计测试用例以覆盖各种控制路径,从而发现可能存在的控制流错误和逻辑错误。
以上所述是几种典型的白盒测试方法,通过合理灵活地运用这些方法,可以有效确保软件的质量和可靠性。
在实际的软件测试工作中,测试人员可以根据具体的需求和场景选择合适的白盒测试方法,并对其进行深入理解和应用,以提升测试效率和发现问题的能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[试题分类]:[04]白盒测试方法/[0400][综合]白盒测试方法 1.下面不属于白盒测试能保证的是。
A. 模块中所有独立途径至少测试一次 B. 测试所以逻辑决策真和假两个方面 C. 在所有循环的边界内部和边界上执行循环体 D. 不正确或漏掉的功能 答案:D 分数:1 题型:单选题 难度:1A. 输入与输岀B. 设计与实现C. 条件与结果D. 主程序与子程序 答案:A 分数:1 题型:单选题 难度:1A. 程序的内部逻辑B. 程序的复杂程度C. 使用说明书D. 程序的功能 答案:A 分数:1 题型:单选题 难度:1A. 引用分析B. 算法分析C. 可靠性分析D. 效率分析 答案:A4.软件测试中常用的静态分析方法是( )和接口分析。
2.因果图方法是根据()之间的因果关系来设计测试用例的。
3.使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。
分数:1 题型:单选题 难度:1A. 引用分析B. 算法分析C. 可靠性分析D. 接口分析 答案:D 分数:1 题型:单选题 难度:1A. 路径测试B. 等价类C. 因果图D. 归纳测试 答案:A 分数:1 题型:单选题 难度:1 7.在软件工程中,白箱测试法可用于测试程序的内部结构。
此方法将程序看作是( A. 路径的集合 B. 循环的集合 C. 目标的集合D. 地址的集合 答案:A 分数:1 题型:单选题 难度:18.软件测试白箱测试是对软件的结构进行测试,下述:m.分值测试 ( )是其应包括的内容。
A. I5.软件测试中常用的静态分析方法是引用分析和()。
6.白盒方法中常用的方法是()方法。
I .边缘值分析n.语句测试IV .路经测试A. 采用白盒测试,辅之以黑盒测试B. 采用黑盒测试,辅之以白盒测试C. 只适用白盒测试D. 只适用黑盒测试 答案:A 分数:1 题型:单选题 难度:1A. 单元B. 系统C. 集成D. 确认 答案:A 分数:1 题型:单选题 难度:1 [试题分类]:[04] 白盒测试方法/[0401]逻辑覆盖法11. 关于条件测试错误的是(A. 可以检查程序中所包含的逻辑条件B. 条件中包含的错误有布尔算子错误C. 条件中包含的错误有布尔变量错误D. 条件中包含的错误有接口错误 答案:D 分数:1 题型:单选题 难度:1B. n 和m 答案:D 分数:1 题型:单选题 难度:1 9.在进行单元测试时,常用的方法是( )。
10.白盒测试法一般使用于( )测试。
12.关于条件中包含的错误类型说法错误的是()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题型:单选题难度:116.在下面所列举的逻辑测试覆盖中,测试覆盖程度最弱的是()A.条件覆盖B.条件组合覆盖C.语句覆盖D.条件及判定覆盖答案:C 分数:1 题型:单选题难度:117.对下面的个人所得税程序中满足语句覆盖测试用例的是( lf(i ncome < 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.对下面的个人所得税程序中满足判定覆盖测试用例的是(If(i ncome < 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题型:单选题 难度:119. 下列陈述中正确的是(A. 结构测试中不包括循环测试B. 猜测错误也是一种测试方法C. 如果能做到穷举测试,便可发现程序中的全部错误D. 语句覆盖达到100%则分支(判定)覆盖也应达到 答案:D 分数:1 题型:单选题 难度:1A. 语句覆盖B. 判定覆盖C. 路径覆盖D. 条件组合覆盖 答案:C 分数:1 题型:单选题 难度:1A. 判定覆盖B. 条件覆盖C. 语句覆盖D.路径覆盖答案:C 分数:1 题型:单选题 难度:122.以下四种逻辑覆盖中,发现错误能力最强的是( A. 语句覆盖 B. 条件覆盖 C. 判定覆盖 D.条件组合覆盖21.在下列逻辑覆盖测试法中,覆盖程度最低的是()。
100%20.在下列逻辑覆盖测试法中,覆盖程度最高的是()。
分数:1题型:单选题难度:1[试题分类]:[04] 白盒测试方法/[0402]基本路径法23.路径测试是整个结构测试的重要组成部分,但在研究路经测试时,通常又是使用程序控制流图来代替(A.程序框图B.结构图C.数据流图D.程序流程图答案:A分数:1题型:单选题难度:11、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支5、根据覆盖目标的不同,逻辑覆盖又可分为:,条件组合覆盖,判断/条件覆盖。
语句覆盖,判定覆盖,条件覆盖,路径覆盖结构测试,静态测试,动态测试静态测试A.单元测试B. 集成测试C. 系统测试D. 回归测试6.有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准A.语句覆盖B.判定覆盖C.条件覆盖D.路径覆盖A.白盒测试侧重于程序结构,黑盒测试侧重于功能B.白盒测试可以使用测试工具,黑盒测试不能使用工具C.白盒测试需要程序参与,黑盒测试不需要D.黑盒测试比白盒测试应用更广泛12.在下面所列举中的逻辑测试覆盖中,测试覆盖最强的是B.条件组合覆盖至少被执行一次。
9、白盒测试又称为,可以分为两大类。
16、代码复审属于,不实际运行程序。
1.下列哪一项不是白盒测试? (C)(B)9.关于白盒测试与黑盒测试的最主要区别,正确的是(A)(B)A.条件覆盖c.语句覆盖 D.判定覆盖13.在下面所列举中的逻辑测试覆盖中,测试覆盖最弱的是B.条件组合覆盖(C)A.条件覆盖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(i nt A,i nt 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,i nt y,i nt z)int k=O,j=O;void Sort ( int iRecordNum, int iType )int x=0; int y=0;while ( iRecordNum 〉0 )If ( iTy pe==0 )x=y+2;elseIf ( iTy pe==1 )13 } 14 }要求(1)给以上代码画岀控制流图(2)控制流图的环复杂度 V ( G ),写岀独立路径。
(1)控制流图: (2) V ( G) = 4 路径1.如图显示某程序的逻辑结构。
试为它设计足够的测试用例,分别实现对程序的判定覆盖、条件覆盖和条件组合覆 盖。
(20分)(每空答案:if ( (x>3)&&( z<10)) { k=x*y-1; j=sqrt(k);代码程序:10 x=y+10; 11 else 12x=y+20; 14路径 2:路径 3: 4f 6f 9f 10f 13 f 4 f 14路径 4: 4f 6f 9f 12f 13f 4f 143. 设一个控制流图如下,请给岀环形复杂度和基本测试路径。
(答案:(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)根据上面环形复杂度的计算结果,源程序的基本路径集合中有计算程序的循环复杂度,导岀程序基本路径集中的独立路径条数。
导岀基本路径集,确定程序的独立路径。
根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输岀。
void Do (int X,i nt A,i nt B)1 if ( (A>1)&&(B=0))20分)4条独立路径:路径 5->22路径 5->7, 8->11, 12->21->5->22 路径 5->7, 8->16->17->19->21->5->22 路径5->7, 8->16->18->19->21->5->221、使用基本路径测试方法,为以下程序段设计测试用例。