河北工业大学软件测试的期末复习资料
软件测试期末复习题

软件测试期末复习题软件测试是确保软件产品满足规定需求并具有可接受质量的过程。
期末复习时,理解软件测试的基本概念、测试方法、测试类型和测试过程是至关重要的。
以下是一些可能的期末复习题,供同学们参考:1. 软件测试的目的是什么?- 软件测试的目的是验证软件产品的功能和非功能需求是否符合用户和业务的期望,同时识别软件中的缺陷,以提高软件的可靠性和可用性。
2. 列举软件测试的几种类型。
- 单元测试、集成测试、系统测试、验收测试、性能测试、安全测试、回归测试等。
3. 解释什么是黑盒测试和白盒测试。
- 黑盒测试是一种测试方法,测试者不需要了解程序内部的逻辑或代码,只根据需求说明书来测试软件的功能。
- 白盒测试则需要测试者了解程序的内部结构和代码,测试程序的内部逻辑是否正确。
4. 描述软件测试的生命周期。
- 软件测试生命周期通常包括需求分析、测试计划、测试设计、测试执行、缺陷管理、测试报告和测试结束。
5. 解释什么是缺陷生命周期。
- 缺陷生命周期是指从缺陷被发现到被修复并验证的整个过程,包括缺陷的报告、确认、分配、修复、验证和关闭。
6. 列举至少三种常见的软件缺陷类型。
- 功能缺陷、性能缺陷、用户界面(UI)缺陷、安全缺陷等。
7. 描述软件测试计划应包含哪些内容。
- 测试目的、测试范围、测试方法、资源分配、时间安排、风险评估、测试入口和出口准则等。
8. 解释什么是回归测试,为什么它在软件开发中很重要?- 回归测试是为了确保软件在修改后仍然满足原有需求而进行的测试。
它很重要,因为修改可能会引入新的错误,影响到软件的其他部分。
9. 列举至少两种软件测试工具,并简要说明它们的用途。
- 例如,JIRA用于缺陷跟踪和管理,Selenium用于自动化Web应用的测试。
10. 解释什么是敏捷测试,它与传统测试有何不同?- 敏捷测试是一种适应性强、快速响应变化的测试方法,它与传统测试的主要区别在于更强调测试与开发团队的紧密协作,以及测试活动在整个开发周期中的持续进行。
软件测试期末复习题

软件测试题一、填空题:1.软件测试主要分为单元测试、综合测试、确认测试、系统测试四类测试。
2.软件缺陷产生的原因包括编写说明书、设计、编写代码以及其他原因。
3.软件开发模式包括大棒模式、边写边改模式、流水模式、螺旋模式。
4.黑盒测试用例设计方法包括等价类划分、边界值分析法、因果图法、错误推测法等。
5.测试过程中,测试计划用于描述测试的整体方案,缺陷报告描述依据测试案例找出的问题。
6.传统的等价类划分测试的实现分两步进行,一是划分等价类表,二是设计相应的测试用例。
7.在兼容性测试中,向前兼容是指可以使用软件的以前版本,向后兼容是指可以使用软件的未来版本。
8.通过画因果图来写测试用例的步骤为分析程序规格说明的描述中,哪些是原因,哪些是结果、分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的因果图、在因果图上使用若干个特殊的符号标明特定的约束条件、把因果图转换为状态图和把判定表中每一列表示的情况写成测试用例及共五个步骤。
9.测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为动态黑盒测试10.测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为动态黑盒测试条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的测试方法称为静态白盒测试11.不需要修复软件缺陷的原因包括没有时间、不能算真正的软件缺陷、风险太大、不值得修复12.对面向过程的系统采用的集成策略有自顶向下集成、自底向上集成两种。
13.白盒测试又称为结构测试或逻辑驱动测试,黑盒测试又称为功能测试或数据驱动测试或基于规格说明书的测试。
14.动态测试的两个基本要素是被测试程序、测试数据(测试用例);二综合题:1、按要求给出下列程序的测试用例(要求写出必要的说明):(1)语句覆盖(2)判定覆盖(3)条件覆盖(4)判定-条件覆盖(5)条件组合覆盖图中共有4条路径:P1(ace)、P2(abd)、P3(abe)、P4(acd)。
软件测试期末考试重点

1.软件测试的概念:①软件测试就是一系列活动,这些活动是为了评估一个程序或软件系统的特性或能力,并确定其是否达到了预期结果。
(正面)②软件测试是为了发现错误而执行的一个程序或者系统的过程。
(反面)3.软件测试的其他观点:最突出的观点就是风险的观点和经济的观点。
①风险的观点:软件测试就是对风险的不断评估,引导软件开发的工作,进而将最终发布的软件所存在的风险降到最低。
②经济的观点:以最小的代价获得最高的软件产品质量。
4.风险的观点和经济的观点的联系:①测试的风险观点不断提醒我们,在尽力做好测试工作的前提下,工作有所侧重,在风险和开发周期限制上获得平衡,这也体现了测试的经济观点。
②测试的经济观点正是风险观点在软件开发成本上的体现,通过风险的控制来降低软件开发成本。
③经济观点也要求软件测试尽早展开工作,发现缺陷越早,返工的工作量就越小,所造成的损失就越小。
5.软件测试和开发的关系:软件测试和软件开发在整个软件开发生命周期中交互协作,自始至终一起工作,共同致力于同一个目标——按时、高质量地完成项目。
6.V 模型呈现了测试和开发的关系:*V 模型从左到右描述了基本的开发过程和测试行为,非常明确地标注了测试过程中存在的不同类型的测试,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系,即从4个层次完成软件的验证,即对需求、系统架构设计、详细的产品设计和代码的验证。
7.V 模型的4个层次:①需求验证对应验收测试,客户需求的确认测试;②系统架构设计的验证对应系统非功能性测试; ③产品详细设计的验证对应功能测试; ④代码的验证对应单元测试和集成测试。
8.V 模型的优点:①分层次进行测试,有助于定位和修改软件缺陷。
②尽早编制测试计划和设计测试用例,在一定程度上使测试工作与开发工作并行进行,节省了项目后期的测试时间。
9.V 模型的缺点:①忽视静态测试。
②缺陷反馈周期长。
③测试与开发的并行程度不高。
10.V 模型与W 模型的对比?W 模型是V 模型的改进,针对V 模型做出了两点改进:①开发和测试形成两条独立且并行的工作线索,测试工作贯穿软件生命周期。
河北工业大学软件工程期末复习总

页眉软件工程试题A卷:一、填空题(每空2分,20空,共40分)1.软件定义时期包括两个阶段,它们是“1】可行性研究)和(【2】需求分析)两个阶段。
2.数据流图有“3】4)种基本符号,数据流图中,箭头表示“4】数据流)。
3.数据流图有变换型结构和“5】事务)型结构两种类型。
4. 4个人之间的通信量是“6】6)5.评定模块的独立性的标准是耦合和内聚。
“7】耦合)是对软件内部块间联系的度量,按照由弱到强的顺序,可以把它分为“8】7)类。
其中,最弱的是“9】非直接耦合),最强的是“10】内容耦合)6.程序结构的复杂性度量值V(G)取决于程序控制流的复杂程度。
顺序结构的V(G)值为“11】1),选择结构的为“12】2)。
7.在模块结构图中,“13】扇入)是指直接调用该模块的模块数8.模块的独立性可用耦合和内聚的高低来评定,设计较好的模块要求“14】内聚)高、耦合“15】低)。
9.语句覆盖测试技术是“16】白盒测试)方法的一种10.等价类划分技术是属于“17】黑盒测试)方法的11.按维护的起因,可以将维护活动分为4类:“18】改正性维护)、“19】适应性维护)、完善性维护和预防性维护。
完善性维护占总维护量的“20】50%以上)。
二、名词解释(每题4分,5题,共20分)1.软件的可靠性:是指在给定的时间间隔内,程序成功运行的概率。
2.内聚:标志一个模块内各个元素被此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。
3.模块化:把一个程序划分成若干个模块,每个模块完成一个子功能,将这些模块组装成一个整体,即可完成该程序指定的功能。
4.改正(纠错)性维护:为改正软件系统中潜藏的错误而进行的活动5.对象:对象是客观世界事物和个体的抽象表示。
是它的属性和相关操作的统一封装体。
三、简述题(每题10分,4题,共40分)1.软件是什么?其特点有那些?答:软件(2分)是计算机程序及其说明程序的各种文档,软件=程序+文档(+数据)特点(8分,每个2分,答出4个即可)(1)软件开发更依赖于开发人员的业务素质、智力、人员的组织、合作和管理。
《软件测试》期末复习试题及答案

《软件测试》期末复习试题及答案阶段测试一一. 单选题(共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模型描述了软件基本的开发过程和测试行为,描述了不同测试阶段与开发过程各段的对应关系。
软件测试复习资料整理

软件测试复习整理资料题型:一、单项选择题15*1` 二、填空题15*1` 三、名词解析题5*4` 四、应用题5*10`一、单项选择题15*1`1、软件验证和确认…..B、软件开发的所有阶段2、在软件测试用例设计的方法中,最常用的方法是墨盒测试和白盒测试,其中不属于白盒测试关注的是()A、程序结构B、软件外部功能C、程序正确性D、程序内部逻辑3、下列指导选择和使用测试覆盖率的原则中错误的是()A、覆盖率不是目的,仅是一种手段B、不要追求绝对100%的覆盖率C、不可能针对所有的覆盖率指标来指导测试用例的设计4、在以下有关逻辑覆盖的说法中错误的说法是(A)A、所有满足条件组合覆盖标准的测试用例集,也满足路径覆盖的覆盖标准5、在以下有关集成测试的说法中,错误的说法是()A自底向上集成的缺点是在早期不能进行并行测试,不能充分利用人力6、在集成测试阶段,人们关注的一种主要覆盖是()A、功能覆盖7、可跟踪性分析是一种重要的软件验证和确认方法,不属于可跟踪性分析的活动是()D、确保所有不同接口规格说明的完整性8、以下关于软件性能测试的说法中,不正确的是()B、压力测试与负载测试的目的都是为了探测软件在满足预定的性能需求的情况下所能负担的最大压力9、以下关于软件可靠性与硬件可靠性主要区别的说法中,正确的是()A、软件的每个拷贝都是完全一样的,而按照设计生产出来的同规格硬件总有微小差别10、以下哪一项属于软件易用性测试关注的范畴()C、软件是否能主动禁止用户可能进行的非法操作11、以下哪一项不属于数据兼容性测试关注的范畴()A、软件在异常退出时是否会破坏正在处理的文件12、以下关于极限测试的说法中,正确的是()C、与传统的软件测试相比,极限测试是一种更严格的测试13、下列有关软件缺陷报告的编写中,哪个是错误的()D、同一个软件缺陷可以被重复报告14、下列哪个不是测试环境的组成要素()B、技术文档15、在指定条件下使用时,软件产品维持规定的性能水平的能力,这是指软件外部质量的()D、可靠性16、程序独立测试的人员应是()C、第三方测试人员17、人们从长期的测试工作经验得知,大量的错误是发生在输入范围的()A、边界上18、以下目标中,哪个是软件性能测试的目标()B、发现压力下软件功能的缺陷19、以下哪一项不属于软件易用性测试关注的范畴()D、软件是否能主动引导用户使用相互关联的功能20、以下哪一项属于兼容性测试关注的范畴()C、软件同类功能的使用风格是否一致21、下列有关软件测试设计的说法中,正确的是()A、测试方案应考虑是否可行,是否有效和是否能够达到预期的测试目标22、…正确的是()D、当所有测试计划内容完成,测试覆盖率达到要求以及产品质量达到定义的标准,即可定稿测试报告23、以下说法中错误的是()D、验收测试一般应由软件的需方组织,不可以委托第三方测试机构实施24、下列哪个选项不属于测试计划要达到的目标()C、为测试执行活动设计测试方案,编制测试用例2、在软件测试用例设计的方法中,最常用的方法是墨盒测试和白盒测试,其中不属于白盒测试关注的是(B)B、软件外部功能3、下列指导选择和使用测试覆盖率的原则中错误的是(D)D、只根据测试覆盖率指标来指导测试用例的设计二、填空题15*1`1、2、根据测试阶段可分为:(墨盒测试)和(白盒测试)3、根据被测试软件是否被…(静态测试)和(动态测试)4、白盒…:语句…墨盒…:判定表、因果图…5、测试人员的构成:(初级测试工程师)、(测试工程师)、(测试组长)、(测试经理)、(资深…)…二、填空题15*1`1、根据是否针对软件内部结构可分为:黑盒测试和白盒测试2、根据被测试软件是否被执行可分为:静态测试和动态测试3、根据测试阶段可分为:单元测试、集成测试、系统测试、验收测试4、白盒…:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖、基本路径测试法5、黑盒…:等价类划分法、边界值分析法、判定表法、因果图法、正交试验法、功能图法、错误推测法5、测试人员的构成:初级测试工程师、测试工程师、资深测试工程师、测试实验室管理员、软件包构建或发布工程师、测试组长、测试经理、三、名词解析题5*4`1、软件测试:软件测试是由“验证”和“有效性确认”活动构成的整体。
软件测试期末复习

软件测试期末复习第一篇:软件测试期末复习一、单项选择题:共20小题,每小题2 分,满分40分。
1.软件测试按照测试层次可以分为(C)A.黑盒测试、白盒测试//测试方式B.功能性测试和结构性测试//测试目的C.单元测试、集成测试和系统测试D、动态测试和静态测试//测试方式2、软件测试是采用(测试用例)执行软件的活动。
A.测试用例 B.输入数据 C.测试环境 D.输入条件3.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?答案:(D)1预防软件发生错误2发现程序错误3提供诊断错误信息A.只有1 B.只有2 C.只有3 D.都是4、导致软件缺陷的最大原因是:(A)A.软件需求说明书B.设计方案 C.编码D.维护5、测试用例是为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,至少应该包括(A)A、测试输入、执行条件和预期的结果。
B、测试目标、测试工具C、测试环境D、测试配置6、对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,这种行为属于(B)A.测试B.调试 C.回归测试D.单元测试软件测试是软件测试人员和程序员都参与的一项工作,是贯穿整个生命周期的,只需要发现软件的错误,而软件调试主要是程序员自己参与,对程序(设计、编码)进行修改、排除错误,主要是在开发阶段。
7、软件缺陷修复的代价最高的阶段为(A)A、发布阶段B、需求阶段C、设计阶段D、编码阶段8、下列(B)是关于软件缺陷的描述。
A.导致软件包含故障的人的行为//软件错误 B.产品的异常情况C.引起一个功能部件不能完成所要求的功能的一种意外情况D.功能部件执行其规定功能的能软件错误是指在软件生存期内的不希望出现或不可接收的人为错误,软件错误导致软件缺陷的产生。
软件缺陷是存在于软件(文档,数据,程序)之中不希望出现或不可接收的偏差;软件缺陷导致软件在运行某一特定条件时出现软件故障;这时软件缺陷被激活。
《软件测试》期末复习资料

《软件测试》期末复习资料一.软件缺陷的定义计算机系统或者程序中存在的任何一种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷、瑕疵。
缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。
二.软件缺陷的表现(准确定义)1软件未达到需求规格说明书中指明的功能2软件出现了需求规格说明书中指明不会出现的错误3软件功能超出需求规格说明书中指明的范围4软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好三.软件缺陷产生的原因1技术问题:算法错误,语法错误,计算和精度问题,接口参数不匹配2团队工作:误解、沟通不充分3软件本身:文档错误;边界考虑不周;时间上不协调、不一致所带来的问题;没有考虑系统崩溃后在系统安全性、可靠性方面的隐患四.软件测试的对象软件=程序+数据+文档+服务五.软件测试定义使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别六. 软件测试的目的尽可能早地发现软件中的缺陷,并确保其得以修复;“为了证明软件有错误,而不是证明软件没有错误”;提高软件质量和可靠性。
七. 软件测试的原则1.可追溯性2.尽早预防、回归测试3.二八原则4.由小到大原则5.投入/产出原则6.独立的第三方测试八. 软件质量定义软件质量就是软件与明确的和隐含的定义的需求相一致的程度。
九. 测试用例测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径是否正确或核实某个功能是否满足特定需求。
十. 测试用例设计的基本原则1.测试用例的代表性2.测试结果的可判定性3.测试结果的可再现性十一.软件测试的分类1按照测试阶段划分:单元测试、集成测试、确认测试、验收测试、系统测试2按照执行状态划分:静态测试、动态测试3按照测试技术划分:白盒测试、黑盒测试4按照执行主体划分:手工测试、自动测试十一. 单元测试定义单元测试又称模块测试是指对软件中的最小可测试单元进行测试,目的是检查每个单元是否能够正确实现详细设计说明中的功能、性能、接口和设计约束等要求,发现各个模块内部可能存在的各种缺陷。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试的重点第一章P4 软件缺陷:它是计算机系统或者程序中存在的任何一种破坏正常运行能力的问题,错误,或者隐藏的功能缺陷,瑕疵。
注:软件缺陷出现最多的阶段是需求规格说明书。
P9软件测试的定义:软件测试为了发现程序中的错误而执行程序的过程。
{软件测试的目的:就在于在软件投入运行之前,尽可能多地发现软件中的错误。
===测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错。
}实现此目的的核心是测试用例的设计。
判断软件测试的成功与失败:一个好的测试用例在于发现还未曾发现的错误,成功的测试是发现了错误的测试。
软件测试的目标是为了检验软件系统是否满足用户的需求。
调试和测试的区别:首先调试是由程序员编试的,且调试是在测试之前。
/////调试是一个随机的、不可重复的过程,目的是寻找错误的原因和具体的位置,并修复错误。
调试一般在测试前进行。
4.优秀的软件测试员应具备的素质:1 软件测试人员是群探索者。
2 软件测试人员是故障排除员。
3 软件测试人员不放过任何蛛丝马迹。
4 软件测试人员具有创造性。
5 软件测试人员是群追求完美者。
6人员判断准确。
7 软件测试人员注重策略和外交。
8 软件测试人员善于说服。
5. P12软件测试的分类:1.从是否需要执行被测软件的角度(程序是否运行的角度):软件测试可分为静态测试和动态测试。
其中静态测试可分为(1)代码检查法(2)静态结构分析法(3)代码度量质量法其中动态测试分为(1)黑盒测试和白盒测试###二者的区别:静态测试不实际执行程序,而是利用人工手段及静态测试工具完成对程序的静态测试。
主要目的是检查软件的表示与描述是否一致,没有冲突和歧义。
而动态测试则是实际运行测试用例,以发现软件中的错误。
### 静态测试和动态测试的时序关系:一般可先进行静态测试,即代码检查法、静态结构分析法、代码质量度量法等进行测试;然后进行动态测试,即逻辑覆盖法、基本路径测试法、程序插桩等进行测试。
2.从软件测试用例设计方法的角度(从测试的策略):可分为黑盒测试和白盒测试(1)黑盒测试是一种从用户角度出发的测试,又称为功能测试,数据驱动测试和基于规格说明的测试。
(2)白盒测试基于产品的内部结构来进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分利用,又称为结构测试,逻辑驱动测试和基于程序的测试,即根据被测程序的内部结构设计测试用例,测试者需要事先了解被测程序的结构。
3.按照软件的开发阶段分类:软件测试可分为单元测试,集成测试,确认测试,系统测试和验收测试。
4.按照实施测试的组织,可将测试分为Alpha测试、Beta测试及第三方测试。
(1). Alpha测试Alpha测试属于开发方进行,指软件开发组织公司内部人员模拟各类用户对即将交付的软件产品进行测试,以发现其中的错误并改正。
(2 ).Beta测试Beta测试是用户进行的测试,但通常不等同于验收测试,即决定是否接受软件并不是Beta测试的目的。
Beta测试的目的在于帮助开发方在正式发布软件产品前对其进行最后的改进。
(3 )第三方测试第三方测试是指由不同开发方和用户方的组织进行的测试。
6.软件测试技术的发展历史和现状(1)软件测试技术的发展历史●20世纪50年代,英国,图灵给出了软件测试的原始定义。
●1957年,测试是发现软件潜在错误和缺陷的活动。
●1972年,北卡罗纳大学举行了首届软件测试正式会议。
●1975年,John Good Enough 和Susan Gerhart 发表了名为《测试数据选择的原理》文章。
●1979年,G冷ford J.Myers的著作《软件测试的艺术》是软件测试领域一本重要的专著。
●20世纪90年代,软件测试得到了快速的发展。
(2)软件测试的现状在软件发达的国家得到软件从业人员的普遍重视,已经形成了一个独立的产业,发展程度较高。
另外,软件测试发展趋势很好,已经成为了一个独立的流程。
第二章软件测试过程与策略1.软件测试的误区:误区1 测试和调试是一回事。
误区2 可以对软件进行穷举测试。
误区3 若交付使用的软件有缺陷,是测试人员的失职。
误区4 关注测试的执行而忽略测试用例的设计。
误区 5 测试比编程容易多。
误区 6 测试是编码之后进行的工作。
误区7 测试自动化是万能的。
误区8 软件测试是一种破坏性工作。
(软件测试是破坏性的工作)。
2. p25(1)单元测试(又称模块测试):定义:它是对软件基本组成单位进行的测试,单元测试的对象是软件设计的最小单位————模块。
单元测试的主要内容:模块接口测试,局部数据结构测试,独立路径测试,出错处理测试,边界条件测试。
单元测试的步骤:驱动模块(函数,被测模块):相当于被测模块的主程序,它接收测试数据,把这些数据传送给被测模块,最后输出实测的结果。
桩模块:用以代替被测模块调用的子模块。
(函数调用其他函数)3.p34确认测试定义:最严格的解释是检验所开发的软件是否能按用户提出的要求运行。
确认测试的目的:是检查已实现的软件系统是否满足需求规格说明书中的规定的各种需求。
确认测试的依据:需求规格说明书4.p41验收测试:定义:是向未来的用户表明系统能够像预定要求的那样工作。
(验收测试即按项目任务书或合同、供需双方约定的验收依据文档对整个系统进行测试与评审,以决定是否接受软件系统。
)需要用户的参与。
第三章黑盒测试1.黑盒测试的定义:黑盒测试又称功能测试或是数据驱动测试,是从用户观点出发,主要以软件规格说明书为依据,对程序功能和程序接口进行的测试。
2.黑盒测试有哪些方法:等价类划分法边界值分析法决策表法因果图法3.等价类划分法:(1)定义:等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
(2)p56等价类的几个原则和规则:(1)如果规定了输入条件的取值范围或者个数,则可以确定一个有效等价类和两个无效等价类。
(2)如果规定了输入值的集合,则可以确定一个有效等价类和一个无效等价类。
(3)如果规定了输入数据的一组值,并且程序要对每一个输入值分别进行处理,则可为每一个值确定一个有效等价类,此外根据这组值确定一个无效等价类,即所有不允许的输入值的集合。
(4)如果规定输入数据必须遵守的规则,则可以确定一个有效等价类和喏干个无效等价类。
(5)如果已知的等价类中各个元素在程序中的处理方式不同,则应将该等价类进一步划分成更小的等价类。
4. p57健壮等价类测试:健壮等价类测试主要的出发点是考虑了无效等价类。
对无效的输入,测试用例从每个有效等价类中取一个值,对无效输入,一个测试用例有一个无效值,其他值均取有效值标准等价类测试——不考虑无效数据值,测试用例使用每个等价类中的一个值。
5.边界值分析法的定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
边界值分析法的几个原则和规则:(1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。
(2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少1,比最大个数多1的数作为测试数据。
(3)将规则1)和2)应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。
(4)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
( 5)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。
(6)分析规格说明,找出其它可能的边界条件。
6.决策表的4个部分组成:条件桩动作桩条件项动作项解法如下:找出条件桩——确定规则的个数 2^n——列出所有的条件桩和动作桩——画表格填入条件项——填入动作项得到初始决策表第四章白盒测试1.白盒测试定义:也称为结构化测试、基于代码的测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。
它是基于程序的测试,检测产品的内部结构是否合理以及内部操作是否按规定执行。
2白盒测试技术常见的方法:逻辑覆盖测试和路径分析测试逻辑覆盖测试:语句覆盖(覆盖能力最弱)判断覆盖条件覆盖判断/条件覆盖条件组合覆盖路径覆盖(覆盖能力最强)(逐级递增)当采取这些逻辑覆盖时,测试用例如何选择。
P86路径分析测试:步骤:<1>根据题意画出控制流图<2>计算出环路复杂性V(G)=E-N+2 E是控制流图中边的数量 N是控制流程图中节点的数目 V(G)=p+1 其中p是控制流图中判断节点的数目 V(G)=A 其中A是控制流图中区域的数目(由边和节点围成的叫做区域)其中环路复杂度=独立路径的数目<3>确定程序的基本路径集合;<4>为每个路径设计测试用例(输入数据+期望的结果)3.p92程序插桩(白盒的测试方法):是借助于在被测程序中设置断点或打印语句来进行测试的方法,在执行测试的过程中可以了解一些程序的动态信息(运行程序或代码)。
4.哪些情况用白盒测试:(1)单元测试阶段:以白盒测试为主;(2)集成测试阶段:白盒和黑盒测试法相结合即灰盒测试;(3)集成测试阶段之后,试用黑盒测试方法1、动态测试:逻辑覆盖测试法、路径分析法、程序插桩等。
2、静态测试法:代码走查法、静态结构分析法代码度量质量法等。
3、最少测试用例的计算: N-S图第五章软件测试计划与文档1.制定测试计划的目的:(1).使软件测试工作进行更顺利(2).促进项目参加人员彼此的沟通(3).使软件测试工作更易于管理2.测试文档的定义:记录和描述了整个测试流程,它是整个测试活动中非常重要的文件。
测试过程实施必备的核心文档是:测试计划,测试用例和软件测试报告。
3.测试用例的定义:p107 是为了高效率地发现软件缺陷而精心设计的少量测试数据。
实际测试中,由于无法达到穷举测试,所以要从大量输入数据中精选有代表性或特殊性的数据来作为测试数据。
好的测试用例应该能发现尚未发现的软件缺陷。
第六章软件自动化测试1.p112软件自动化测试的定义:自动测试是软件测试的一个重要组成部分,它能完成许多手工测试无法实现或难以实现的测试。
正确、合理的实施自动测试,能够快速、全面的对软件进行测试,从而提高软件质量,节省经费,缩短软件发布周期。
软件自动化测试的目的:减轻手工测试的工作量,从而达到提高软件质量的目的。
自动化则着重于发现旧的软件故障。
\而手工测试的目的着重于发现新的软件故障。
1. 哪些用来自动化测试:(1)执行回归测试(2)执行手工很难达到或手工无法完成的测试(3)枯燥乏味的重复性工作一致的,(4)可重复的测试2.自动化测试工具的分类:1 .白盒测试工具: Jtest test2.黑盒测试工具:WinRuuner LoadRunner3.测试管理工具: TeamManager其他的测试工具:Testlink:软件测试管理工具Mantis:软件跟踪管理工具WinRuuner:黑盒测试工具Junit 单元测试工具用来测试java第七章软件测试管理1. 软件测试最重要的是有效的测试管理。