软件工程-第7章:实现2基于过程测试_第1页
软件工程-第7章:实现2基于过程测试_第2页
软件工程-第7章:实现2基于过程测试_第3页
软件工程-第7章:实现2基于过程测试_第4页
软件工程-第7章:实现2基于过程测试_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

V模型,软件测试应该贯穿于整个软件开发过程中,需求分析,概要设计,详细设计,代码实现,验收测试,系统测试,集成测试,单元测试,7.3单元测试,对软件基本组成单元的测试(隔离、独立)强调被测对象的独立性的原因避免其他单元对测试单元的影响缩小问题分析范围,便于缺陷定位,单元:函数、类、功能模块、组件(实现一个特定功能,与其他单元有明确的接口定义),单元的理解,1.单元测试的必要性,测试效果直接影响后续的集成测试、验收测试;缺陷发现越早,越容易纠正,费用也越低;开发人员在单元测试阶段对测试工作比较默然甚至抵触,所以单元测试流程亟需完整和规范。,12小时,6小时,3小时,单元测试,集成测试,系统测试,2.单元测试的任务,对逻辑、功能、数据和安全性等方面的测试。独立执行路径测试局部数据结构测试单元接口测试单元边界条件测试错误处理通路测试,误解、误用运算符优先级混合类型运算变量初始化取值错误精度不够表达式符号错误不同数据类型对象间的比较循环终止条件不可能出现、迭代发散错误的修改循环变量,(1)独立路径测试,(2)局部数据结构测试,临时存储在单元内的数据错误的根源,不合适或不相容的类型说明变量无初值变量初始化或默认值有错不正确的变量名出现上溢、下溢和地址异常,(3)单元接口测试,输入的实参和形参的个数、类型是否匹配是否修改了只读型参数文件属性是否正确文件使用前是否打开,(4)边界条件测试,如果在单元测试时不做边界值测试,在以后的测试很难发现,即使发现也很难追踪。,(5)错误处理通路测试,输出的出错信息难以理解记录的错误与实际的错误不相符异常处理不当错误陈述中未能提供足够的定位出错信息,(6)其它,单元边界处理测试软件经常在边界上失效内存分析内存泄漏会导致系统的崩溃,尤其是嵌入式系统,3.驱动程序和桩程序,4.单元测试的管理,在单元测试的各个阶段中,必须遵守一定规则,以一些设计文档等为依据,并产生报告、分析文档等将文档管理与单元测试过程管理结合起来,计划阶段,软件需求规格说明书,单元测试计划,执行阶段,软件详细设计说明书,单元测试用例,设计阶段,缺陷跟踪报告代码审查检查表单元测试检查表,提交阶段,评估阶段,测试完备性评估代码覆盖率评估,单元测试报告,V模型,软件测试应该贯穿于整个软件开发过程中,需求分析,概要设计,详细设计,代码实现,验收测试,系统测试,集成测试,单元测试,7.4集成测试,为什么总是集成不起来?,集成测试的内容与原则集成测试的模式集成测试的方法,集成测试又称“组装测试”、“联合测试”把已通过单元测试的软件单元(或模块)逐步组合在一起进行测试,验证模块接口之间存在的问题。,一集成测试内容与原则,补充单元测试的不彻底性能有效地加快进度,减少隐患,1.定义,穿越模块接口的数据丢失问题集成后能否达到预期的总体功能模块功能相互影响全局数据结构的问题误差积累、误差放大问题共享资源的访问问题,2.集成测试内容,3.集成测试原则,足够的资源和时间严密的计划,严格的执行增量式的分步集成方式自动化技术的引入(提高效率)测试用例的积累和管理(回归测试),二集成测试的模式,三集成测试的方法,大棒集成法自顶向下法自底向上法混合法三明治集成法改进的三明治集成法持续集成法,1.大棒集成法(Big-bangIntegration),一次性集成,缺点:错误定位难、错误原因查找难优点:适合较小规模的应用系统,驱动程序/驱动模块(driver)桩程序/桩模块(stub),2.自顶向下法(Top-downIntegration),M1,S1,M3,M2,S7,M5,M5,M8,深度优先:M1M2M5M8M6M3S7S4宽度优先:M1M2M3S4M5M6S7M8,从主控模块开始,用桩程序代替附属模块根据策略,依次用实际模块代替一个桩程序(回归测试)结合新模块进行测试;重复。,M1,S1,M3,M2,S7,M5,M5,M8,优点:不需要驱动程序;在测试早期验证系统的主要功能;在早期发现上层模块的接口错误。,缺点:需要桩程序;低层模块中的错误发现较晚;在测试早期不能充分展开人力。,3.自底向上法(Bottom-upIntegration),划分子功能族;开发驱动程序;子功能族测试;去掉驱动,引入新单元,组成更大功能族;重复,优点:不需要桩程序;在测试早期就能充分展开;能在早期发现下层模块的接口错误。,缺点:需要开发驱动程序;高层模块中的错误发现较晚;验证系统的主要功能较晚。,4.混合法(ModifiedTop-downIntegration),1.改进的自顶向下法:主体用“自顶向下”法,早期用“自底向上”法测试少数关键模块。2.混合法:中较上层,用“自顶向下”法;中较下层,用“自底向上”法,两者相结合。,5.三明治集成法(SandwichIntegration),优点:不需要桩程序缺点:部分模块未完全测试,6.改善的三明治集成法,改进的三明治集成方法,不仅自两头向中间集成,而且保证每个模块得到单独的测试,使测试进行得比较彻底。,7.持续集成,7.5验收测试,什么是验收测试?,验收测试(AcceptanceTest):在软件产品完成功能测试和系统测试之后、产品发布之前所进行的软件测试活动,是技术测试的最后一个阶段,也称为交付测试。,验收测试的过程和主要内容产品规格说明书的验证用户界面和可用性测试兼容性测试可安装性和可恢复性测试文档测试,内容提纲,1.测试内容是否达到了用户需求规格说明书(可能包括产品验收准则)中的要求,保证产品最终被用户接受。,验收测试的过程和主要内容,易用性测试兼容性测试安装测试文档测试,2.测试步骤,制定测试计划,测试项,测试策略及验收通过准则,(客户参与计划评审);建立测试环境,设计测试用例,并评审;准备测试数据,执行测试用例,记录测试结果;分析测试结果,作出验收是否通过及测试评价;提交验收测试报告。,3.验收标准完全执行了验收测试计划中的每个测试用例。在验收测试中发现的错误已经得到修改并且通过了测试或者经过评估留待下一版本中修改。完成软件验收测试报告。,4.注意事项必须编写正式的、单独的验收测试报告验收测试必须在实际用户运行环境中进行由用户和测试部门共同执行。如公司自主开发产品,应由测试人员,产品设计部门,市场销售部门等共同进行。,二产品规格说明书的验证,1.产品规格说明书的审核从客户的角度进行审核工作检验套用标准的正确性,不要和行业规范相抵触审查、研究同类产品完整性、准确性、一致性、合理性等特性,2.产品规格说明书的验证已实现的特性标识为通过;未实现的特性报告bug并说明;与产品说明书内容不一致的特性,报bug并说明;存在问题或错误特性,报bug并说明。,什么是可用性(usability)?易用性、实用性、适用性,EasytodiscoverEasytolearnEasytouseAvailability,三、可用性和用户界面测试,可用性测试没有具体量化的指标,主观性较强。,用户界面测试符合标准和规范直观性一致性灵活性舒适性正确性实用性简单性,1.符合标准和规范,多数用户已经熟悉并接受了这些标准和规范、或已经认同了这些信息所代表的意义。例:如果软件在某一个平台上运行,就需要把该平台的标准和规范作为产品规格说明书的补充内容。,2.直观性所需的功能或期待的响应明显,并在预期的地方出现,用户界面的组织和布局是否合理。3.一致性包括软件本身的一致性,以及软件与其他软件的一致性。,4.灵活性,用户喜欢可以灵活选择的软件,软件可以选择不同的状态和方式,完成相应的功能。但灵活性也可能发展为复杂性,太多的状态和方式的选择不仅增加用户理解和掌握的困难,同时增加了编程的难度和工作量。,5.舒适性,恰当的表现、合理的安排、必要的提示或更正能力,包括容错处理和性能。,6.正确性正确性的问题一般都很明显,比较容易发现。7.实用性实用性是指特性是否实用。大型软件的开发周期较长,经过几次反复后容易产生一些没有实用性的功能。,8.简单性,1-clickNextNextNext,四兼容性测试,软件兼容性测试是指验证软件之间是否能正确地交互和共享信息。注意:从项目管理的角度出发,使平台清单在满足客户要求的前提下尽可能的小,否则将会给编码和测试带来巨大的工作量。兼容性包括:,硬件兼容软件兼容数据兼容,1.向前和向后兼容,向后兼容是指可以使用软件的以前版本(向下兼容)向前兼容指的是可以使用软件的未来版本(向上兼容),2.多版本的测试,一个庞大而又艰巨的任务,需要对所有可能的软件组合等价分配,验证软件之间正确交互的最小有效集合。通常我们的做法是:将软件分类。例如:字处理,电子表格,数据库,图形处理,游戏等。从每种类型中选择部分测试软件。按软件的流行程度选择较流行的软件。按年份,选取一定年份内的程序和版本。,例:设计测试矩阵表,每一个浏览器和版本支持的特性上都有细微的差别,在不同的操作系统上表现也有所不同。,五可安装性和可恢复性测试,系统软件安装应用软件安装服务器的安装客户端的安装产品升级安装,1.可安装性测试,安装测试注意事项:是否需要专业人员安装。安装说明书对安装环境做限制和要求。过程是否简单、易掌握。过程中是否有明显的、合理的提示信息。出现不可预见或不可修复的错误。安装程序资源冲突,影响原系统安全性。安装的完整性和灵活性。许可证号码与注册号码的验证。升级安装后原有程序是否可正常运行。卸载测试。,2.可恢复性测试,恢复测试主要检查系统的容错能力。当系统出错时,能否在指定时间内修正错误或重启系统。恢复测试首先要通过各种手段,让软件强制性地发生故障,然后验证系统是否能尽快恢复。对于自动恢复需验证重新初始化、检查点、数据恢复和重启等机制的正确性;对于人工干预的恢复系统,还需估测平均修复时间,确定其是否在可接受的范围内。,六文档测试,软件文档已成为软件的一个重要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论