软件测试单元测试.ppt
《软件测试单元测试.ppt》由会员分享,可在线阅读,更多相关《软件测试单元测试.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件测试方法和技术软件测试方法和技术-Ch.5单元测试单元测试主讲教师:郭晓燕主讲教师:郭晓燕第五章第五章 单元测试单元测试5.1 什么是单元测试什么是单元测试5.2 单元测试的目标和任务单元测试的目标和任务5.3 静态测试静态测试5.4 驱动程序与桩程序驱动程序与桩程序5.5 调试与评估调试与评估5.6 单元测试管理单元测试管理5.7 单元测试工具单元测试工具5.1 什么是单元测试什么是单元测试测试的测试的4个阶段:个阶段:单元测试单元测试集成测试集成测试 系统测试系统测试验收测试验收测试按阶段进行测试是一种基本的测试策略按阶段进行测试是一种基本的测试策略单元测试的定义单元测试的定义定义定义
2、:单元测试是对软件基本组成单元进行的测试。单元测试是对软件基本组成单元进行的测试。时机时机:一般在代码完成后由开发人员完成一般在代码完成后由开发人员完成,QA,QA人员辅助人员辅助.对象对象:软件设计的最小单位软件设计的最小单位模块(组件、单元),模块(组件、单元),z z作为单元作为单元能够实现一个特定的功能,并和其他单元能够实现一个特定的功能,并和其他单元有明确的接口定义。有明确的接口定义。单元测试单元测试目标:目标:确保模块被正确地编码确保模块被正确地编码依据:依据:详细设计描述详细设计描述过程过程:设计、脚本开发、执行、调试、分析结果:设计、脚本开发、执行、调试、分析结果执行者执行者:
3、测试人员和开发人员:测试人员和开发人员测试方法测试方法:白盒方法为主,辅以黑盒方法:白盒方法为主,辅以黑盒方法评估评估:通过所有单元测试用例,代码没有严重缺陷。:通过所有单元测试用例,代码没有严重缺陷。为何要进行单元测试为何要进行单元测试?n尽早发现错误尽早发现错误错误发现越早错误发现越早,成本越低成本越低.开发人员过于自信开发人员过于自信,后期复杂后期复杂度高度高,发现解决发现解决BUGBUG困难困难.n检查代码是否符合设计和规范检查代码是否符合设计和规范 12小时小时6小时小时3小时小时单元测试单元测试集成测试集成测试系统测试系统测试单元测试的背景单元测试的背景n开发流程时间表与修改开发流
4、程时间表与修改Bug代价的关系图代价的关系图开发结束开发结束开发结束开发结束开发早期开发早期开发早期开发早期修修修修改改改改代代代代价价价价单元测试的背景单元测试的背景(续)(续)n编程过程中,每写编程过程中,每写100100行代码会犯行代码会犯150150个错误个错误n编程与编译运行结束后,每编程与编译运行结束后,每100100行代码中大约行代码中大约残留有残留有1-31-3个个BugBugn寻找与修改程序错误的代价占总体开发投资的寻找与修改程序错误的代价占总体开发投资的40%-80%40%-80%nBugBug在整个研发流程中被发现的越早,修改的在整个研发流程中被发现的越早,修改的代价就越
5、低代价就越低5.2 单元测试的目标和任务单元测试的目标和任务目标目标:单元模块被正确编码单元模块被正确编码功能正确,结构可靠健全,并能在所有条件下正确功能正确,结构可靠健全,并能在所有条件下正确响应。响应。n信息能否正确地流入和流出单元;信息能否正确地流入和流出单元;n在单元工作过程中,其内部数据能否保持其完整性,包括内部在单元工作过程中,其内部数据能否保持其完整性,包括内部数据的形式、内容及相互关系不发生错误,也包括全局变量在数据的形式、内容及相互关系不发生错误,也包括全局变量在单元中的处理和影响。单元中的处理和影响。n在为限制数据加工而设置的边界处,能否正确工作。在为限制数据加工而设置的边
6、界处,能否正确工作。n单元的运行能否做到满足特定的逻辑覆盖。单元的运行能否做到满足特定的逻辑覆盖。n单元中发生了错误,其中的出错处理措施是否有效。单元中发生了错误,其中的出错处理措施是否有效。任务任务1:模块独立执行通路测试模块独立执行通路测试检查每一条独立执行路径的测试。保证每条语句检查每一条独立执行路径的测试。保证每条语句被至少执行一次。(基本路径测试)被至少执行一次。(基本路径测试)Checklist:n 算符优先级。算符优先级。n 混合类型运算。混合类型运算。n 精度不够。精度不够。n 表达式符号。表达式符号。n 循环条件,死循环。循环条件,死循环。n 其它其它任务任务2:模块局部数据
7、结构测试模块局部数据结构测试检查局部数据结构完整性检查局部数据结构完整性Checklist:n 不适合或不相容的类型说明。不适合或不相容的类型说明。n 变量无初值。变量无初值。n 变量初始化或默认值有错。变量初始化或默认值有错。n 不正确的变量名或从来未被使用过。不正确的变量名或从来未被使用过。n 出现上溢或下溢和地址异常。出现上溢或下溢和地址异常。n 其它其它任务任务3:模块接口测试模块接口测试检查模块接口是否正确,检查模块接口是否正确,checklist:n 输入的实际参数与形式参数是否一致。输入的实际参数与形式参数是否一致。个数、属性、量纲个数、属性、量纲n 调用其他模块的实际参数与被调
8、模块的形参是否一致。调用其他模块的实际参数与被调模块的形参是否一致。个数、属性、量纲个数、属性、量纲n 全程变量的定义在各模块是否一致。全程变量的定义在各模块是否一致。n 外部输入、输出外部输入、输出文件、缓冲区、错误处理文件、缓冲区、错误处理n 其它其它任务任务4:模块边界条件测试模块边界条件测试检查临界数据处理的正确性检查临界数据处理的正确性Checklist:n 普通合法数据的处理。普通合法数据的处理。n 普通非法数据的处理。普通非法数据的处理。n 边界值内合法边界数据的处理。边界值内合法边界数据的处理。n 边界值外非法边界数据的处理。边界值外非法边界数据的处理。n 其它其它任务任务5:
9、模块的各条错误处理通路测试:模块的各条错误处理通路测试预见、预设的各种出错处理是否正确有效。预见、预设的各种出错处理是否正确有效。Checklist:n 输出的出错信息难以理解。输出的出错信息难以理解。n 记录的错误与实际不相符。记录的错误与实际不相符。n 程序定义的出错处理前系统已介入。程序定义的出错处理前系统已介入。n 异常处理不当。异常处理不当。n 未提供足够的定位出错的信息。未提供足够的定位出错的信息。n 其它其它任务任务6:内存分析:内存分析内存泄漏会导致系统运行崩溃。内存泄漏会导致系统运行崩溃。通过测量内存使用情况了解程序内存分配情况,通过测量内存使用情况了解程序内存分配情况,发现
10、对内存的不正常使用,在问题出现前发现征发现对内存的不正常使用,在问题出现前发现征兆,在系统崩溃前发现内存泄漏错误;发现内存兆,在系统崩溃前发现内存泄漏错误;发现内存分配错误。分配错误。5.3 静态测试技术的运用静态测试技术的运用n定义定义:在在不执行软件不执行软件的条件下有条理地仔细审查的条件下有条理地仔细审查软件设软件设计、体系结构和代码计、体系结构和代码,从而找出,从而找出软件缺陷软件缺陷的过程。有时也的过程。有时也称为结构分析。称为结构分析。n作用作用:n尽早发现软件缺陷,以找出动态黑盒白盒测试难以揭示或发现尽早发现软件缺陷,以找出动态黑盒白盒测试难以揭示或发现的软件缺陷的软件缺陷n为接
11、受该软件测试的黑盒测试员进行测试设计测试案例提供思为接受该软件测试的黑盒测试员进行测试设计测试案例提供思路,他们不必了解代码细节,但是根据审查备注,可以确定有问路,他们不必了解代码细节,但是根据审查备注,可以确定有问题或者容易存在软件缺陷的特性范围题或者容易存在软件缺陷的特性范围n问题问题:认为会减慢软件开发过程。认为会减慢软件开发过程。编码的标准和规范编码的标准和规范n标准:建立起来,经过修补和必须遵守的规则。标准:建立起来,经过修补和必须遵守的规则。n规范:建议最佳做法,推荐更好方法。规范:建议最佳做法,推荐更好方法。n坚持编程标准和规范的原因坚持编程标准和规范的原因n可靠性可靠性:事实证
12、明按照按规范编写的代码更可靠,:事实证明按照按规范编写的代码更可靠,软件缺陷将更少;软件缺陷将更少;n可读性可读性/维护性维护性:符合标准和规范的代码易于阅读,:符合标准和规范的代码易于阅读,理解和维护;理解和维护;n移植性移植性:如果代码符合设备标准,迁移到另一个平:如果代码符合设备标准,迁移到另一个平台就会容易,甚至没有任何障碍。台就会容易,甚至没有任何障碍。正式审查三部曲正式审查三部曲n走查走查(Walk Through)n审查审查(Inspection)n评审评审(Review)走查走查(Walk Through)定义:编写代码的程序员向定义:编写代码的程序员向5人小组或其它类似的人小
13、组或其它类似的程序员或测试员做正式表述。程序员或测试员做正式表述。注意:注意:n审查人员应该在审查之前接到软件拷贝,在走查前审查人员应该在审查之前接到软件拷贝,在走查前通读设计和编码,以便检查并编写备注和问题,在审通读设计和编码,以便检查并编写备注和问题,在审查过程中提问。查过程中提问。n 表述者现场采用讲解或模拟运行的方法解释代码如表述者现场采用讲解或模拟运行的方法解释代码如何工作。何工作。n检查要点在于代码编写是否符合规范和标准,是否检查要点在于代码编写是否符合规范和标准,是否存在逻辑错误;存在逻辑错误;n限时,避免跑题。发现问题适当记录,避免现场修限时,避免跑题。发现问题适当记录,避免现
14、场修改。改。审查审查(Inspection)定义:是最正式的审查类型,具有高度组织化,采用讲解、定义:是最正式的审查类型,具有高度组织化,采用讲解、提问方式进行,一般有正式的计划、流程和结果。主要方提问方式进行,一般有正式的计划、流程和结果。主要方法采用缺陷检查表。法采用缺陷检查表。注意:注意:n 以会议形式,制定会议目标、流程和规则,结束后要编以会议形式,制定会议目标、流程和规则,结束后要编写报告。写报告。n发现问题适当记录,避免现场修改。发现问题适当记录,避免现场修改。n 发现重大缺陷,改正后会议需要重开。发现重大缺陷,改正后会议需要重开。n按缺陷检查表逐项检查。检查要点是缺陷检查表,所以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 单元测试
限制150内