收藏 分销(赏)

第三章单元测试STMT.ppt

上传人:精**** 文档编号:10297913 上传时间:2025-05-19 格式:PPT 页数:29 大小:94KB
下载 相关 举报
第三章单元测试STMT.ppt_第1页
第1页 / 共29页
第三章单元测试STMT.ppt_第2页
第2页 / 共29页
点击查看更多>>
资源描述
,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,第三章单元测试STMT,第二章回顾,测试心理学,测试的基本原理,第三章 单元测试,3.1,什么是单元测试,3.2,单元测试的目标和任务,3.3,静态测试技术的运用,3.4,动态测试技术的运用,3.5,调试与评估,3.6,单元测试的过程与文档管理,3.7,单元测试的常用工具简介,3.1,什么是单元测试,测试的,4,个阶段:,单元测试,集成测试,系统测试,验收测试,按阶段进行测试是一种基本的测试策略,单元测试的定义,定义,:,单元测试是对软件基本组成单元进行的测试。,时机,:,一般在代码完成后由开发人员完成,QA,人员辅助,.,概念,:,模块,组件,单元,为何要进行单元测试,?,尽早发现错误,错误发现越早,成本越低,.,开发人员过于自信,后期复杂,度高,发现解决,BUG,困难,.,检查代码是否符合设计和规范,12,小时,6,小时,3,小时,单元测试,集成测试,系统测试,3.2,单元测试的目标和任务,目标,:,单元模块被正确编码,信息能否正确地流入和流出单元;,在单元工作过程中,其内部数据能否保持其完整性,包括内部数据的形式、内容及相互关系不发生错误,也包括全局变量在单元中的处理和影响。,在为限制数据加工而设置的边界处,能否正确工作。,单元的运行能否做到满足特定的逻辑覆盖。,单元中发生了错误,其中的出错处理措施是否有效。,任务,1,:模块接口测试,检查模块接口是否正确,Checklist:,输入的实际参数与形式参数是否一致。,个数、属性、量纲,调用其他模块的实际参数与被调模块的形参是否一致。,个数、属性、量纲,全程变量的定义在各模块是否一致。,外部输入、输出,文件、缓冲区、错误处理,其它,任务,2,:模块局部数据结构测试,检查局部数据结构完整性,Checklist:,不适合或不相容的类型说明。,变量无初值。,变量初始化或默认值有错。,不正确的变量名或从来未被使用过。,出现上溢或下溢和地址异常。,其它,任务,3,:模块边界条件测试,检查临界数据处理的正确性,Checklist:,普通合法数据的处理。,普通非法数据的处理。,边界值内合法边界数据的处理。,边界值外非法边界数据的处理。,其它,任务,4,:模块独立执行通路测试,检查每一条独立执行路径的测试。保证每条语句被至少执行一次。,Checklist:,算符优先级。,混合类型运算。,精度不够。,表达式符号。,循环条件,死循环。,其它,任务,5,:模块的各条错误处理通路测试,预见、预设的各种出错处理是否正确有效。,Checklist:,输出的出错信息难以理解。,记录的错误与实际不相符。,程序定义的出错处理前系统已介入。,异常处理不当。,未提供足够的定位出错的信息。,其它,5.3,静态测试技术的运用,静态测试技术:不运行被测试程序,对代码通过检查、阅读进行分析。,三步曲:,走查(,Walk Through,)。,审查(,Inspection,)。,评审(,Review,),编码的标准和规范,标准:建立起来必须遵守的规则。,规范:建议最佳做法,推荐更好方式。,实施标准和规范的原因:,可靠性。,可读性和可维护性。,可移植性。,走查(,Walk Through,),定义:采用讲解、讨论和模拟运行的方式进行的查找错误的活动。,注意:,引导小组成员在走查前通读设计和编码。,限时,避免跑题。,发现问题适当记录,避免现场修改。,检查要点是代码是否符合标准和规范,是否有逻辑错误。,审查(,Inspection,),定义:采用讲解、提问方式进行,一般有正式的计划、流程和结果。主要方法采用缺陷检查表。,注意:,以会议形式,制定会议目标、流程和规则,结束后要编写报告。,按缺陷检查表逐项检查。,发现问题适当记录,避免现场修改。,发现重大缺陷,改正后会议需要重开。,检查要点是缺陷检查表,所以该表要根据项目不同不断积累完善。,走查与审查的比较,走 查,审 查,准备,通读设计和编码,应准备好需求描述文档、程序设计文档、程序的源代码清单、代码编码标准和代码缺陷检查表,形式,非正式会议,正式会议,参加人员,开发人员为主,项目组成员包括测试人员,主要技术方法,无,缺陷检查表,注意事项,限时、不要现场修改代码,限时、不要现场修改代码,生成文档,会议记录,静态分析错误报告,目标,代码标准规范,无逻辑错误,代码标准规范,无逻辑错误,评审(,Review,),定义:通常在审查会后进行,审查小组根据记录和报告进行评估。,注意:,充分审查了所规定的代码,并且全部编码准则被遵守。,审查中发现的错误已全部修改。,3.4,动态测试技术的运用,动态测试需要真正将程序运行起来,需要设计系列的测试用例保证测试的完整性和有效性。,白盒测试,黑盒(灰盒)测试,白盒测试方法,主要有逻辑驱动法和基本路径法。,语句覆盖。,判定覆盖。,条件覆盖。,判定,/,条件覆盖。,条件组合覆盖。,路径覆盖。,循环覆盖。,黑盒测试方法,运行单元程序有时需要基于被测单元的接口,开发相应的驱动模块和桩模块。,驱动模块(,drive,),:,对底层,或子层模块进行测试所编写的,调用这些模块的程序。,桩模块(,stub,):对顶层或,上层模块进行测试时所编写的,替代下层模块的程序。,黑盒常用方法,等价类划分法,边界值分析法 三种数据:,错误推测法,-,正常数据,因果图法,-,错误数据,功能图法,-,边缘数据,另外还得考虑接口测试、性能测试、内存测试,性能分析,内存分析,3.6,调试与评估,调试与测试的对象及采用的方法有很大程度上的相似,调试还用到断点控制等排错方法,但其目的却完全不同。测试是为了找出软件中存在的缺陷,而调试是为了解决存在的缺陷。,软件单元功能与设计需求一致。,软件单元接口与设计需求一致。,能够正确处理输入和运行中的错误。,在单元测试中发现的错误已经得到修改并且通过了测试。,达到了相关的覆盖率的要求。,完成软件单元测试报告,单元测试检查表,(1),借助单元测试检查表进行评估。,案例:,单元测试检查表,单元名称,_,系统,_,构造,_,任务编号,_,初次测试日期,_,关键测试项是否已纠正,有无任何输入参数没有使用?有无任何输出参数没有产生?,有无任何数据类型不正确或不一致?,有无任何算法与,PDL,或功能需求中的描述不一致?,有无任何局部变量使用前没有初始化?,有无任何外部接口编码错误?即调用语句、文件存取、数据库错误。,有无任何逻辑路径错误?,该单元是否有多个入口或多个正常的出口?,单元测试检查表,(2),额外测试项,8.,该单元中有任何地方与,PDL,与,PROLOG,中的描述不一致?,9.,代码中有无任何偏离本项目标准的地方?,10.,代码中有无任何对于用户来说不清楚的错误提示信息?,11.,如果该单元是设计为可重用的,代码中是有可能妨碍重用的地方?,采取的动作和说明,(请用单独的一页或多页。每一项动作必须指出所引用的问题。),审查结果,1.,如果上述,11,个问题的答案均为,否,,那么测试通过,请在此标记并且在最后签名。,2.,如果代码存在严重的问题,例如多个关键问题的答案为,是,,那么程序编制者纠正这些错误,并且必须重新安排一次单元测试。,下一次单元测试的日期:,_,3.,如果代码存在小的缺陷,那么程序编制者纠正这些错误,并且仲裁者必须安排一次跟踪会议。,跟踪会议的日期:,_,测试人签名:,_,日期:,_,3.6,单元测试的过程和文档管理,过程,:,在详细设计阶段完成单元测试计划。,建立单元测试环境,完成测试设计和开发。,执行单元测试用例,并且详细记录测试结果。,判定测试用例是否通过。,提交,单元测试报告,。,单元测试的文档,软件需求规格说明书,、,软件详细设计说明书,单元测试计划,单元测试计划,、,软件详细设计说明书,单元测试用例,单元测试用例,文档及,软件需求规格说明书,、,软件详细设计说明书,缺陷跟踪报告,/,缺陷检查表,单元测试用例,、,缺陷跟踪报告,、,缺陷检查表,单元测试检查表,评估,单元测试报告,3.7,单元测试常用工具简介,工具分类,:,静态分析工具,代码规范审核工具,内存和资源检查工具,测试数据生成工具,测试框架工具,测试结果比较工具,测试度量工具,测试文档生成和管理工具,Q&A,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服