软件测试期末考试含答案
《软件测试基础》期末试卷及参考答案

1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支_至少被执行一次。
2、黑盒测试的具体技术方法 ____________、 __________、 __________、____________。
等价类划分法,边界值分析法,决策表法,因果图法3、黑盒测试又称之为___________测试。
功能4、等价类划分有两种不同的情况:____________和____________。
有效等价类,无效等价类5、根据覆盖目标的不同,逻辑覆盖又可分为:________________,_____________,_______________,__________________,条件组合覆盖,判断/条件覆盖。
语句覆盖,判定覆盖,条件覆盖,路径覆盖6、根据软件生命周期中的定义,可以把自动化测试工具划分3大类____________,____________和____________。
白盒测试工具、黑盒测试工具、测试管理工具7、软件测试是为发现程序中的______________而执行程序的______________。
错误,过程8、测试用例是由______________和预期的______________两部分组成。
测试输入数据,输出数据9、白盒测试又称为______________,可以分为______________和______________两大类。
结构测试,静态测试,动态测试10、软件是包括____________﹑____________﹑____________的完整集合。
程序,数据,相关文档11、边界值分析法属于____________。
黑盒测试12、单元测试是以____________说明书为指导,测试源程序代码。
详细设计13、集成测试以____________说明书指导,测试软件结构。
概要设计14、确认测试以____________说明书为指导。
需求分析15、软件开发的基本过程____________,_____________,_______________,_____________,_____________,______________。
2020-2021大学《软件测试》期末课程考试试卷A(含答案)

2020-2021《软件测试》期末课程考试试卷A适用专业:考试日期:闭卷所需时间:120分钟总分:100分一、填空题(每空1分, 共15空,总共15分):1、方法是借助往被测程序中的插入操作来实现测试目的的方法,即向源程序中添加一些语句,实现对程序语句的执行、变量的变化等情况进行检查。
2、描述所有要完成的测试工作,包括被测试项目的背景、目标、范围、方式、资源、进度安排、测试组织,以及与测试有关的风险等方面。
3、条件判定组合覆盖的含义是:设计足够的,使得判定中每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。
4、程序变异方法是一种驱动测试,该方法是针对某类特定程序错误的。
5、强度测试是验证软件的性能在各种的周边环境和系统条件下是否能正常工作,这里所谓“强度”包括了两项:一项是测试,另一项是测试。
6、是检验软件产品的最后一道工序,与前面各种测试过程的不同之处主要在于它突出了的作用,同时软件开发人员也要参与。
7、在进行单元测试时,需设置若干辅助测试模块。
辅助模块有两种,一种是模块,用以模拟被测试模块的上级模块。
另一种是模块(Sub),用以代替拟被测模块工作过程中所调用的模块。
8、集成测试的实施方案有很多种,如:非增式集成测试和增量式集成测试、三明治集成测试、核心集成测试、分层集成测试、基于使用的集成测试等。
其中,常用的是集成测试和集成测试两种模式。
9、测试项目管理就是以测试项目为管理对象,通过一个性的专门的测试组织,运用专门的软件测试知识、技能、工具和方法,对测试项目进行计划、组织、执行和控制,并在时间成本、软件测试质量等方面进行分析和管理活动。
10、整个测试过程分、集成测试、系统测试以及验收测试四个阶段进行。
二、判断题(每题1分,共15分,正确的√,错误的╳)(1)测试是为了验证软件已正确地实现了用户的要求。
()(2)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。
软件测试期末试题B卷及答案最终版q

A.DD-路径图 C.MM-路径图
B. 控制流图 D. 模块调用图
第 2 页 共 9页
18、自底向上增量式集成测试中,下面( c )描述是正确的。
A.测试由桩模块控制
B.最上面的模块最先测试
C.父单元用测试过的子单元测试
D.包含树的深度优先或广度优先遍历过程
19、测试后程序中残存的错误数目与该程序中已发现的错误数目成( d )。
题号 11 12 13 14 15 16 17 18 19 20
答案 √ √ √ √ √ √ × √ × √
三、简答题(4×5=20 分)
1.答:具有探索精神、具有良好的计算机编程基础、故障排除能手、坚持不懈的精神、具有创新 精神和超前意识、追求完美、判断准确、具有整体观念,对细节敏感、团队合作精神,沟通能力。
A. 避免软件开发中出现的错误
B. 发现软件开发中出现的错误 C. 尽可能发现并排除软件中潜藏的错误,提高软件的可靠性
D. 修改软件中出现的错误 2、软件测试是采用( a )执行软件的活动。
A.测试用例 B.输入数据
C.测试环境 D.输入条件 3、导致软件缺陷的最大原因是:(
a)
A.软件需求说明书 B.设计方案
➢ 测试用例输入为:{ x=4、y=5、z=5 } 四、综合题(每题 10 分,共计 20 分)
1、画出控制流图: 如右图所示
第 7 页 共 9页
计算环形复杂度:
10(条边)- 7(个节点)+ 2 = 5 导出独立路径(用语句编号表示)
4
X = X+1;
5}
由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制 流图。
1: A>1;2: B=0 ;3: X = X/A ;4: A=2 ;5:X>1 ;6: X = X+1;7: }
《软件测试基础》期末A卷及参考答案

成都东软信息技术学院 期末试题软件测试基础(A 卷)说明:本试卷共六大题,试卷满分 100分,考试时间120分钟。
一、单项选择题:共 20小题,每小题1分,满分20分;请将答案填入题后括号中。
(说明:每题有且仅有一个正确答案)1. 在软件生命周期的哪一个阶段,软件缺陷修复费用最低(D )产品发布(B )设计 编码 2. 单元测试中用来模拟被测模块调用者的模块是(A) 父模块 (B )子模块 (D )桩模块3. 为了提高测试的效率,应该(A )随机地选取测试数据;(B )取一切可能的输入数据作为测试数据; (C) 在完成编码以后制定软件的测试计划; 4. 侧重于观察资源耗尽情况下的软件表现的系统测试被称为(A )强度测试 5. (C)容量测试(D )性能测试必须要求用户参与的测试阶段是(A) 单元测试 (B )集成测试 (C)确认测试6. 软件测试员究竟做些什么。
(A) 软件测试员的目的是发现软件缺陷(B) 软件测试员的目的是发现软件缺陷,尽可能早一些(C) 软件测试员的目的是发现软件缺陷,尽可能早一些,并确保其得以修复 (D) 软件测试员的目的是发现软件缺陷,尽可能早一些,并将其得以修复(A) 因果图法是建立在决策表法基础上的一种白盒测试方法; (B) 等价类划分法是边界值分析法的基础;(C 健壮性等价类测试的测试用例要求在有效等价类中取值; (D )在任何情况下做黑盒测试皆应首先考虑使用错误推断法。
(B) 局部数据结构测试8. 不属于单元测试内容的是 9. 划分软件测试属于白盒测试还是黑盒测试的依据是(A )是否执行程序代码 (B )是否能看到软件设计文档(D )运行结果是否确定10.下列项目中不属于测试文档的是(A )测试计划 (B )测试用例(D )测试报告11.几乎没有产品计划、进度安排和正规的开发过程的软件开发模式是 (A )大棒模式(C)瀑布模式 (D )快速原型开发模式 12.如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的(B )条件覆盖 (C)判定/条件覆盖 (D )组合覆盖13.下列说法不正确的是 (A )测试不能证明软件的正确性; (B )测试员需要良好的沟通技巧;7. F 面四种说法中正确的是(A )模块接口测试(C)路径测试(C) QA 与testing 属于一个层次的概念;14. 对Web 网站进行的测试中,属于功能测试的是(A )连接速度测试 (C) 平台测试15. 在进行单元测试时,常用的方法是(A) 采用黑盒测试,辅之以白盒测试; (C) 只使用黑盒测试; (D) 只使用白盒测试。
《软件测试》期末复习试题及答案

《软件测试》期末复习试题及答案阶段测试一一. 单选题(共16题,65.6分)1. (单选题)(D )不是正确的软件测试目的。
A. 尽最大的可能找出最多的错误B. 设计一个好的测试用例对用户需求的覆盖度达到100%C. 对软件质量进行度量和评估,以提高软件的质量D. 发现开发所采用的软件过程的缺陷,进行软件过程改进2. (单选题)下面说法正确的是(C)。
A. 经过测试没有发现错误,说明程序正确B. 测试的目标是证明程序没有错误C. 成功的测试是发现了迄今尚未发现的错误的测试D. 成功的测试是没有发现错误的测试3. (单选题)下列选项中,不属于软件测试工程师职责范围的是(C)。
A. 测试方案设计B. 测试用例设计C. 进行代码调优D. 测试实施4. (单选题)下面属于软件测试模型的是(A)A. W模型B. 瀑布模型C. L模型D. G模型5. (单选题)下面关于软件测试模型的描述中,不正确的是(A)。
①V模型的软件测试策略既包括低层测试,又包括高层测试,高层测试是为了确保源码的正确性,低层测试是为了使整个系统满足用户的需求②V模型存在一定的局限性,它仅仅将测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段③W模型可以说是V模型自然而然的发展,它强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试④H模型中,软件测试是一个独立的流程,贯穿产品的整个生命周期,与其他流程并发地进行⑤H模型中,测试准备和测试实施紧密结合,有利于资源调配A. ①⑤B. ②④C. ③④6. (单选题)下列关于W模型的描述中正确的是(A)A. W模型强调测试伴随着整个软件开发周期,测试对象不仅仅是程序,需求、功能和文档同样需要测试B. 所有开发活动完成后,才可执行测试C. W模型将软件的开发视为合同签订、需求、设计、编码等一系列串行活动D. 在W模型中,需求、设计、编码串行进行,也可以并行工作7. (单选题)V模型描述了软件基本的开发过程和测试行为,描述了不同测试阶段与开发过程各段的对应关系。
《软件测试》期末试卷(含答案).docx

《软件测试》试卷一、判断题(每题1分,共12分,正确的",错误的X)1.软件需求是度量软件质量的基础。
不符合需求的软件就不具备质量。
(T)2.全面质量管理的定义是:一个组织以质量为中心,以全员参与为基础,目的在于通过让顾客满意和本组织所有成员及社会受益而达到长期成功的管理途径。
(T)3.发现错误是软件测试的唯一目的。
(F)4.白盒测试可以找出软件遗漏功能和代码错误问题。
(F)5.软件的质量有测试组决定。
(F)6.在设计测试用例时,应包括合理的输入条件和不合理的输入条件。
(T)7.测试从不可知内部条件开始,结果是不可预见的。
(F)8.软件缺陷一定是由编码所引起的.。
(F)9.软件测试等于程序测试。
(F)10.Beta测试是软件的多个用户在实际使用环境下进行的测试。
(T)11.经验表明,测试后程序残存的错误数目与该程序中以发现的错误数目或检错率成正比。
(T)12.验收测试比较适合采用软件自动化测试工具进行测试。
(F)二、单项选择题(每题2分,共12分)1.某次程序调试没有出现预计的结果,下列(B )不可能是导致出错的原因。
A.变量没有初始化B.编写的语句书写格式不规范C.循环控制出错D.代码输入有误2.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?(B)A预防软件发生错误B发现改正程序错误C提供诊断错误信息 D.都是3.下面的哪一项测试步骤中需要进行局部数据结构测试:(A)A.单元测试B.集成测试C,确认测试D.系统测试4.白盒测试是根据程序的(C )来设计测试用例A.功能B.性能C.内部逻辑D,内部数据5.(C )方法根据输出对输入的依赖关系设计测试用例。
A.路径测试B.等价类C.因果图D.归纳测试6.有一组测试用例,它使被测程序中的每一个分支至少执行一次,它满足的覆盖标准是:(B)A.语句覆盖B.判定覆盖C.条件覆盖D.路径覆盖三、问答题(每题9分,共54分)1.什么是软件质量?请写出IS0/IEC9126中如何评价和度量软件质量的。
期末题库-软件测试答案

选择题10×2分1、软件是程序和(A)的集合。
A、文档B、代码C、测试用例D、测试2、软件工程中描述生存周期的瀑布模型一般包括计划、(A)、设计、编码、测试、维护等几个阶段。
A、需求分析B、需求调查C、可行性分析D、问题定义3、严重的软件缺陷的产生主要源自(A)。
A、需求B、设计C、编码D、测试4、以下不属于应用系统中的缺陷类型的是:(B)A、不恰当的需求解释B、用户指定的错误需求C、设计人员的习惯不好D、不正确的程序规格说明5、降低缺陷费用最有效的方法是(B)。
A、测试尽可能全面B、尽可能早的开始测试C、测试尽可能深入D、让用户进行测试6、测试环境中不包括的内容是(A)A、测试所需文档资料B、测试所需硬件环境C、测试所需软件环境D、测试所需网络环境7、软件调试的目的是(B)A、发现软件中隐藏的错误B、解决测试中发现的错误C、尽量不发现错误以便早日提交软件D、证明软件的正确性8、软件测试的目的是(A)难易度:2A、发现软件中隐藏的错误B、解决软件中隐藏的错误C、尽量不发现错误以便早日提交软件D、证明软件的正确性9、下列关于测试和调试的说法中正确的是(B)A、测试和调试没有本质区别。
目的都是为了发现软件系统中的错误。
B、测试是测试人员的职责,在整个测试活动中可以不需要开发人员的参与。
C、调试主要在软件的开发阶段进行。
D、调试一般不能确定程序中潜在错误发生的原因10、从测试的要求来讲,如果想让测试完成的效果更好,测试部门与开发部门的关系最好是下面四种中的(D)。
难易度:3A、测试组织与开发组织为同一公司同一部门同一小组,并且测试人员与开发人员为同一组人员,即开发人员测试自己的程序。
B、测试组织与开发组织为同一公司同一部门同一小组,但测试人员与开发人员为不同人员。
C、测试组织与开发组织为同一公司,但不在同一部门。
D、测试组织与开发组织为不同公司。
11、某软件公司在招聘软件测试工程师时,应聘者甲向公司做如下保证:(1)经过自己测试的软件今后不会再出现问题(2)在工作中对所有程序员一视同仁,不会因为某个程序编写的程序发现的问题多,就重点审查该程序,以免不利于团结(3)承诺不需要其他人员,自己就可以独立进行测试工作(4)发扬咬定青山不放松的精神,不把所有问题都找出来,绝不罢休根据自己所学的软件测试知识,应聘者甲的保证(D)难易度:3A、(1)(4)是正确的B、(2)是正确的C、都是正确的D、都是错误的12、用不同的方法可将软件测试分为白盒法和黑盒法,或者(C)和静态测试。
软件测试试题及答案答案

软件测试试题及答案答案一、单项选择题(每题2分,共10分)1. 软件测试的目的是:A. 证明软件无缺陷B. 证明软件存在缺陷C. 证明软件符合需求规格D. 证明软件符合设计规格答案:B2. 黑盒测试的主要依据是:A. 程序内部逻辑B. 程序外部特性C. 程序数据结构D. 程序运行环境答案:B3. 以下哪个不是软件测试的阶段?A. 单元测试B. 集成测试C. 系统测试D. 维护测试答案:D4. 软件测试中,测试用例的主要目的是:A. 验证软件功能B. 验证软件性能C. 验证软件安全性D. 所有选项答案:D5. 以下哪个不是软件测试的类型?A. 功能测试B. 性能测试C. 压力测试D. 需求测试答案:D二、多项选择题(每题3分,共15分)1. 软件测试过程中可能遇到的问题包括:A. 缺陷B. 错误C. 故障D. 风险答案:ABCD2. 软件测试的基本原则包括:A. 测试显示存在缺陷B. 测试不能证明不存在缺陷C. 穷尽测试是不可能的D. 早期测试答案:ABCD3. 软件测试的目的是:A. 验证软件符合需求B. 验证软件符合设计C. 验证软件符合实现D. 验证软件符合标准答案:ABD4. 以下哪些是软件测试的方法?A. 静态测试B. 动态测试C. 黑盒测试D. 白盒测试答案:ABCD5. 软件测试的文档通常包括:A. 测试计划B. 测试用例C. 测试报告D. 用户手册答案:ABC三、判断题(每题1分,共10分)1. 软件测试可以完全替代用户测试。
(错误)2. 软件测试的目的是发现尽可能多的缺陷。
(正确)3. 软件测试可以在软件开发过程的任何阶段进行。
(正确)4. 软件测试可以提高软件的可靠性。
(正确)5. 软件测试可以降低软件维护的成本。
(正确)6. 软件测试可以证明软件没有缺陷。
(错误)7. 软件测试只能发现软件中的错误。
(错误)8. 软件测试可以提高用户对软件的满意度。
(正确)9. 软件测试可以减少软件的缺陷。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西华师范大学计算机学院2013 年度期末测试软件测试 A 卷(11+18+12+19+40=100 分)一、单项选择(每空 1 分,共11 分)1、执行函数测试时,当多次调用底层函数,底层模拟器的"模拟值"输入栏可设定多个模拟值,一次最多可设置( C )个模拟值。
A 、1 B、3 C、6 D、112、当函数测试存在失败断言时,在白盒覆盖率信息窗口中VU 会显示一个( B )的条块来提示,没有失败断言时,会显示一个( A )的条块来显示;在逻辑结构窗口中,未覆盖的路径用( B )画出,已覆盖的路径用( A )画出,未覆盖的分支是( D )的条块。
A 、深绿色B、深红色C、浅蓝色D、粉红色E、浅绿色3、VU 导出的测试报告文件格式为:(C ),表格化测试用例数据导出的文件格式为:( E )A 、*.pdf B、*.txt C、*.htm D、*.csv E、*.xls F、*.doc4、在软件生命周期中的任何一个阶段,只要软件发生了改变,就可能给该软件带来新的问题。
软件的改变可能是源于发现错误并做好了修改,可能是因为在集成或维护阶段加入了新的模块,为了验证软件修改后的正确性需要进行( E )。
A 、白盒测试B、黑盒测试C、单元测试D、性能测试E、回归测试F、验收测试5、当用底层模拟器去模拟被测单元调用的底层函数的输出函数,并且此输出参数为指针数据类型,应该设置此参数的模拟值为( D )。
A 、指针值B、引用的地址C、指针指向的数据类型的值D、NULL6、当用底层模拟器去模拟被测单元调用的底层函数的返回值,并且此输出参数为指针数据类型,应该设置此参数的模拟值为( C )。
A 、指针值B、引用的地址C、指针指向的数据类型的值D、NULL二、多项选择(每空 2 分,共18 分)1、底层模拟能很好的解决(BCF )。
A 、集成测试问题B、装代码和数据失真C、测试不可控D、性能测试问题E、内部输出的模拟F、模拟参数为复杂数据类型,单元测试时难以初始化2、底层模拟器能够模拟( ABCEH )。
A 、底层函数的参数B、底层函数的返回值C、全局变量D、函数改写文件中的数据E、成员变量F、函数改写数据库中的数据G、内部输出H、调用次数3、执行函数测试后,源代码窗口能够标识出未覆盖的(BCD )。
逻辑结构图窗口能够标识出未覆盖的( AF )。
A 、路径B 、条件C 、 MC/DCD 、语句E 、C/DCF 、分支4、VU 与按自动的边界测试, 用于边界测试的边界值是由菜单项 "数据 "→定义边 界值来维护的。
VU 提供的 int 类型的默认值有( ACHJM ),bool 类型的默认 边界值有( I L ), double 类型的默认类型边界值有( DFGKN )。
A 、_01_pow ()B 、_11_Mcdc1()C 、 _12_Mcdc2()三、判断题 (每空 2 分,共 12 分) 注:正确的打钩,错误的打叉,并说明错误原因1、一个测试用例只允许有一个底层模拟,而一个函数可以有多个底层模拟。
(T)错误原因:2、底层模拟器可用于控制测试。
( T ) 错误原因:A 、语句覆100%分支覆盖: 路径覆盖: 100% B 、 语句覆盖: 32% 分支覆盖: 100% 路径覆盖: 98%C 、 语句覆盖: 100% 分支覆盖: 18% 路径覆盖: 100%D 、 语句覆盖:30% 分支覆盖: 50% 路径覆盖: 47%E 、语句覆100%分支覆盖: 95% 路径覆15%X6、在利用 VU 单元测试( ac//a )的过程中, 可能会出现 "语句:95%,分支: 路径: 15%"的情况。
A 、 F 、 K 、 P 、 0B 、 99999.9C 、 1.0 G 、9999.99 H 、 -9999.99 L 、false 0x7FFFFFFF 5、在利用 VU 进行单元测试的过程中,针对同一个测试用例集合,以下()的白盒覆盖情况是可能会出现的。
( A E//ac ) 补:分支覆盖达到 100%则语句覆盖也一定是达到了 100% 语句覆盖是最弱的覆盖0x80000000 1 I 、 true M 、-1 N 、 D 、 0.0 E 、-99999.9J 、0x7FFFFFFF -1.0 O 、0x80000000 100%,3、底层模拟器模拟的内部输入能够实现用例数据的表格化。
(T )错误原因:4、包含有空指针的测试用例能够实现用例数据的表格化。
(F)错误原因:空指针会被认为没有输入买自动设置为null ,所以不能表格化5、VU 在单元测试时,设计的每个测试用例都必须设置其预期输出。
(T )错误原因:6、在测试用例集中,测试用例的数量等于断言的数量。
(F )错误原因:错误,一个测试用例中可以出现多个断言四、简述题(1、2、3题各3分,4题6分,5题4分,共19分)1、简述在VU 的单元测试中,提高路径覆盖率的 3 种方法。
1:添加测试用例2:删除分支3:删除不可达路径2、简述在VU 的源代码窗口中,当前测试用例未覆盖的语句,VU 如何标识测试用例集未覆盖的语句。
VU 如何标识测试用例集未覆盖的条件和Mc/Dc ,VU 如何标识。
答:未覆盖语句:淡红色背景的红色字体表示未覆盖的条件和Mc/Dc :淡红色背景的红色字体[ T F M ] 表示T 表示真值未覆盖,F 表示假值未覆盖,M 表示MC/DC 未覆盖3、简述C/Dc 和Mc/Dc 的定义。
C/DC :条件/判定覆盖:判断中每个条件的所有可能取值至少执行一次,同时每个判断本身所有可能结果也至少执行一次。
MC/DC :修正的条件/判定覆盖,是一种软件结构覆盖率的测试准则。
修正条件判定覆盖要求:单元的入口和出口必须被调用一次,程序中判断的每一个分支必须至少被执行一次。
对于程序中通过逻辑运算组成判断的基本布尔条件,每个条件必须取遍所有可能的值,且每一个条件对判断的结果具有独立的作用。
** 掌握理论和实际情况下白盒覆盖准则相互间包含的关系,如下第六个成员函数源代码白盒覆盖率信息:均为100%测试用例4、分别设计出最少数量的测试用例,构成两套测试用例集,使CMyClass2 的成员函数_11_Mcdc1(BOOL,BOOL,BOOL)被100% C/DC和Mc/Dc ,_12_Mcdc2(BOOL,BOOL,BOOL,BOOL,BOOL,BOOL,BOOL,BOOL,BOOL,BOOL ,BOO L) 被100% C/DC,并为每个测试用例列出它在函数执行时所覆盖的条件的判定。
int CMyClass2::_11_Mcdc1(BOOL A,BOOL B,BOOL C) ( 100%C/DC 和MC/DC ){if(A && (B || C))return 1;return 0;} 测试用例如下:条件判定如下:int CMyClass2::_12_Mcdc2(BOOL A,BOOL B,BOOL C,BOOL D,BOOL E,BOOLF,BOOL G,BOOL H,BOOL I,BOOL J,BOOL K) ( 100%C/DC){if(A && ( (B||C) && (D&&E) ) && ((F||G) && (H||I||J)||K) )return 1;return 0;}测试用例如下:条件判定如下:5、为成员函数_01_Pow()设计测试用例,使其被100%语句,条件和C/DC 覆盖,统计出失败断言数,如果存在失败断言,列出失败断言(即测试用例的输入,预期输出和实际输出),指出软件曲线位置,并修复缺陷,保证测试结束,失败断言为0。
unsigned int CMyClass::_01_Pow(unsigned int g,unsigned int e){unsigned int result = 0;if(g==0)result = 0;else if(g==1)result = 1;else if(e==0)result = 1;else if(e==1)result = g;else{for(unsigned int i=0; i<e; i++)result *=g;}return result;}失败断言数:1失败断言为:case3软件曲线位置:修复缺陷:unsigned int result = 0; ——>> unsigned int result = 1;五、程序测试题( 1、3题各15分,2题10分,共40分)1、单元测试CMyClass2 的成员函数_07_DeleteComment(char *,char *),补充给定的测试用例集的预期输出和实际输出,统计失败断言的数量,如果失败断言数大于0,则说明软件存在缺陷,找到缺陷的具体位置,并修复它。
/* 函数说明:名称:CMyClass2::_07_DeleteComment功能:删除C++代码中的注释参数:pSrc:源代码pDes:保存删除注释后的代码返回:无*/void CMyClass2::_07_DeleteComment(char * pSrc,char * pDes){int len = strlen(pStr);if(len == 0)return;bool cmmSin = false;//由//开始\n 结束的单行注释bool cmmMul = false;//由/* 开始*/ 结束的多行注释char ch = *pSrc++;char next = 0;while(ch){if(!cmmSin && (cmmMul)){// 非注释if(ch=='/'){// 注释开始的第一个字符next =*pSrc;if(next =='\0')// 结束break;else if(next=='/') cmmSin = true;if(cmmMUl || cmmSin){ pSrc++;//忽略/后的一个字符ch = *pStr++;continue;}}*pDes++ = ch;ch = *pSrc++;}else if(cmmSin){// 单行注释if(ch=='\n'){// 单行注释结束cmmSin = false;*pDes++ = ch;//\n 是不能丢的}ch = *pSrc++;}else if(cmmMul){// 多行注释if(ch=='*'){// 开始多行注释next = *pSrc;if(next=='/'){ cmmMul = false; *pSrc++;// 忽略后面的/ }}ch = *pSrc++;}}}Case9(char *pSrc = 0;char *pDes = 0;)(Case9)失败断言 2 个,有两处缺陷:1,没有判断空指针2,测试用例4未得到正确结果。