单元测试PPT课件.ppt
《单元测试PPT课件.ppt》由会员分享,可在线阅读,更多相关《单元测试PPT课件.ppt(37页珍藏版)》请在三一文库上搜索。
1、软件测试方法和技术软件测试方法和技术-Ch.5单元测试单元测试Zhu.KKerry ZhuZhu.K第四章回顾Zhu.K 软件质量标准软件质量标准 软件测试规范软件测试规范 CMM思想和结构体系思想和结构体系 建立软件测试管理和评判体系建立软件测试管理和评判体系第五章 单元测试Zhu.K5.1 什么是单元测试5.2 单元测试的目标和任务5.3 静态测试技术的运用5.4 动态测试技术的运用5.5 调试与评估5.6 单元测试的过程与文档管理5.7 单元测试的常用工具简介5.1 什么是单元测试什么是单元测试测试的测试的4个阶段:个阶段:单元测试单元测试集成测试集成测试 系统测试系统测试验收测试验收测
2、试按阶段进行测试是一种基本的测试策略按阶段进行测试是一种基本的测试策略Zhu.K单元测试的定义单元测试的定义定义定义:单元测试是对软件基本组成单元进行的测试。单元测试是对软件基本组成单元进行的测试。时机时机:一般在代码完成后由开发人员完成一般在代码完成后由开发人员完成,QA,QA人员辅助人员辅助.概念概念:模块模块,组件组件,单元单元 Zhu.K为何要进行单元测试为何要进行单元测试?n尽早发现错误尽早发现错误错误发现越早,成本越低.开发人员过于自信,后期复杂度高,发现解决BUG困难.n检查代码是否符合设计和规范检查代码是否符合设计和规范 Zhu.K12小时6小时3小时单元测试集成测试系统测试单
3、元测试的背景单元测试的背景n开发流程时间表与修改Bug代价的关系图开发结束开发结束开发结束开发结束开发早期开发早期开发早期开发早期修修修修改改改改代代代代价价价价Zhu.K单元测试的背景单元测试的背景(续)(续)n编程过程中,每写100行代码会犯150个错误n编程与编译运行结束后,每100行代码中大约残留有1-3个Bugn寻找与修改程序错误的代价占总体开发投资的40%-80%nBug在整个研发流程中被发现的越早,修改的代价就越低Zhu.K5.2 单元测试的目标和任务单元测试的目标和任务目标目标:单元模块被正确编码单元模块被正确编码n信息能否正确地流入和流出单元;信息能否正确地流入和流出单元;n
4、在单元工作过程中,其内部数据能否保持其完整性,在单元工作过程中,其内部数据能否保持其完整性,包括内部数据的形式、内容及相互关系不发生错误,包括内部数据的形式、内容及相互关系不发生错误,也包括全局变量在单元中的处理和影响。也包括全局变量在单元中的处理和影响。n在为限制数据加工而设置的边界处,能否正确工作。在为限制数据加工而设置的边界处,能否正确工作。n单元的运行能否做到满足特定的逻辑覆盖。单元的运行能否做到满足特定的逻辑覆盖。n单元中发生了错误,其中的出错处理措施是否有效。单元中发生了错误,其中的出错处理措施是否有效。Zhu.K任务任务1:模块接口测试模块接口测试检查模块接口是否正确,检查模块接
5、口是否正确,checklist:n 输入的实际参数与形式参数是否一致。输入的实际参数与形式参数是否一致。个数、属性、量纲个数、属性、量纲n 调用其他模块的实际参数与被调模块的形参是否一致。调用其他模块的实际参数与被调模块的形参是否一致。个数、属性、量纲个数、属性、量纲n 全程变量的定义在各模块是否一致。全程变量的定义在各模块是否一致。n 外部输入、输出外部输入、输出文件、缓冲区、错误处理文件、缓冲区、错误处理n 其它其它Zhu.K任务任务2:模块局部数据结构测试模块局部数据结构测试检查局部数据结构完整性检查局部数据结构完整性Checklist:n 不适合或不相容的类型说明。不适合或不相容的类型
6、说明。n 变量无初值。变量无初值。n 变量初始化或默认值有错。变量初始化或默认值有错。n 不正确的变量名或从来未被使用过。不正确的变量名或从来未被使用过。n 出现上溢或下溢和地址异常。出现上溢或下溢和地址异常。n 其它其它Zhu.K任务任务3:模块边界条件测试模块边界条件测试检查临界数据处理的正确性检查临界数据处理的正确性Checklist:n 普通合法数据的处理。普通合法数据的处理。n 普通非法数据的处理。普通非法数据的处理。n 边界值内合法边界数据的处理。边界值内合法边界数据的处理。n 边界值外非法边界数据的处理。边界值外非法边界数据的处理。n 其它其它Zhu.K任务任务4:模块独立执行通
7、路测试模块独立执行通路测试检查每一条独立执行路径的测试。保证每条语句检查每一条独立执行路径的测试。保证每条语句被至少执行一次。被至少执行一次。Checklist:n 算符优先级。算符优先级。n 混合类型运算。混合类型运算。n 精度不够。精度不够。n 表达式符号。表达式符号。n 循环条件,死循环。循环条件,死循环。n 其它其它Zhu.K任务任务5:模块的各条错误处理通路测试:模块的各条错误处理通路测试预见、预设的各种出错处理是否正确有效。预见、预设的各种出错处理是否正确有效。Checklist:n 输出的出错信息难以理解。输出的出错信息难以理解。n 记录的错误与实际不相符。记录的错误与实际不相符
8、n 程序定义的出错处理前系统已介入。程序定义的出错处理前系统已介入。n 异常处理不当。异常处理不当。n 未提供足够的定位出错的信息。未提供足够的定位出错的信息。n 其它其它Zhu.KMicrosoft对单元测试的理解对单元测试的理解Zhu.K单元测试具体分类单元测试具体分类n验证产品实现符合功能规格书n验证产品代码运行的正确性n边缘条件测试n产品安全性测试n从已有Bug增加的回归测试n产品代码覆盖度测试(Code Coverage)n产品代码注射测试(Code Injection)n异常测试Zhu.K单元测试具体分类单元测试具体分类n产品速度性能的比较测试n产品极限情况测试n产品与国际标准的
9、兼容性测试n产品与以前版本的操作系统,文件格式的兼容测试n同一产品不同版本共同运行的兼容性测试n产品在不同语言操作系统下的运行测试Zhu.K单元测试具体流程单元测试具体流程n测试过程从产品设计开始nSpec Review 非常重要n微软产品Spec Review演示nSharepoint Server的应用n测试代码编写由软件开发设计者(SDE)自己开始nDRT(Developer Regression Test)的重要性n没有相随的DRT,Feature Area不算开发完nDRT不全部编译并100%通过,不允许Check-inn测试组的测试不100%编译并100%通过0级测试(BVT),7
10、0%通过1级测试,不允许Check-inZhu.K单元测试具体流程单元测试具体流程(续续)n测试代码主体由软件测试工程师(SDET,STE)编写n测试从写软件测试规格书(Test Spec)开始nTest Spec必须通过PM,Dev与同组Tester共同开会研究通过n测试代码根据不同测试的情景分为0-4级的优先级n0级测试称为BVT(Build Verification Test)n在Dev主要的功能实现Check-in前,0-1级测试代码必须已由测试工程师完成n在Dev进行Check-in时,0级测试必须100%通过Zhu.K单元测试具体流程单元测试具体流程(续续)n在Dev进行Check
11、in时,1级测试必须至少有70%通过nDev进行产品代码的Check-innTest进行测试代码的Check-inn产品编译由Build团队每日进行nTest编译由测试团队在产品编译完成后进行n测试编译完成后,由测试自动化系统进行测试n在随后的代码优化与稳定期内,测试工程师编写2-4级测试代码,并报告产品Bug,Dev负责修改Bug,稳定并优化产品Zhu.K5.3 静态测试技术的运用静态测试技术的运用静态测试技术:静态测试技术:不运行被测试程序,对代码通过不运行被测试程序,对代码通过检查、阅读进行分析。检查、阅读进行分析。三步曲:三步曲:n 走查走查(Walk Through)。)。n 审查
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单元测试 PPT 课件
