欢迎来到天天文库
浏览记录
ID:36698242
大小:323.10 KB
页数:37页
时间:2019-05-10
《《单元测试》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件测试方法和技术-Ch.5单元测试Zhu.Kerry@gmail.comKerryZhuZhu.Kerry@gmail.com第四章回顾Zhu.Kerry@gmail.com软件质量标准软件测试规范CMM思想和结构体系建立软件测试管理和评判体系第五章单元测试Zhu.Kerry@gmail.com5.1什么是单元测试5.2单元测试的目标和任务5.3静态测试技术的运用5.4动态测试技术的运用5.5调试与评估5.6单元测试的过程与文档管理5.7单元测试的常用工具简介5.1什么是单元测试测试的4个阶段:单元测试集成测试系统测试验收测试
2、按阶段进行测试是一种基本的测试策略Zhu.Kerry@gmail.com单元测试的定义定义:单元测试是对软件基本组成单元进行的测试。时机:一般在代码完成后由开发人员完成,QA人员辅助.概念:模块,组件,单元Zhu.Kerry@gmail.com为何要进行单元测试?尽早发现错误错误发现越早,成本越低.开发人员过于自信,后期复杂度高,发现解决BUG困难.检查代码是否符合设计和规范Zhu.Kerry@gmail.com12小时6小时3小时单元测试集成测试系统测试单元测试的背景开发流程时间表与修改Bug代价的关系图开发结束开发早期修改代价Zh
3、u.Kerry@gmail.com单元测试的背景(续)编程过程中,每写100行代码会犯150个错误编程与编译运行结束后,每100行代码中大约残留有1-3个Bug寻找与修改程序错误的代价占总体开发投资的40%-80%Bug在整个研发流程中被发现的越早,修改的代价就越低Zhu.Kerry@gmail.com5.2单元测试的目标和任务目标:单元模块被正确编码信息能否正确地流入和流出单元;在单元工作过程中,其内部数据能否保持其完整性,包括内部数据的形式、内容及相互关系不发生错误,也包括全局变量在单元中的处理和影响。在为限制数据加工而设置的边界
4、处,能否正确工作。单元的运行能否做到满足特定的逻辑覆盖。单元中发生了错误,其中的出错处理措施是否有效。Zhu.Kerry@gmail.com任务1:模块接口测试检查模块接口是否正确,checklist:输入的实际参数与形式参数是否一致。个数、属性、量纲调用其他模块的实际参数与被调模块的形参是否一致。个数、属性、量纲全程变量的定义在各模块是否一致。外部输入、输出文件、缓冲区、错误处理其它Zhu.Kerry@gmail.com任务2:模块局部数据结构测试检查局部数据结构完整性Checklist:不适合或不相容的类型说明。变量无初值。变量初
5、始化或默认值有错。不正确的变量名或从来未被使用过。出现上溢或下溢和地址异常。其它Zhu.Kerry@gmail.com任务3:模块边界条件测试检查临界数据处理的正确性Checklist:普通合法数据的处理。普通非法数据的处理。边界值内合法边界数据的处理。边界值外非法边界数据的处理。其它Zhu.Kerry@gmail.com任务4:模块独立执行通路测试检查每一条独立执行路径的测试。保证每条语句被至少执行一次。Checklist:算符优先级。混合类型运算。精度不够。表达式符号。循环条件,死循环。其它Zhu.Kerry@gmail.com任
6、务5:模块的各条错误处理通路测试预见、预设的各种出错处理是否正确有效。Checklist:输出的出错信息难以理解。记录的错误与实际不相符。程序定义的出错处理前系统已介入。异常处理不当。未提供足够的定位出错的信息。其它Zhu.Kerry@gmail.comMicrosoft对单元测试的理解Zhu.Kerry@gmail.com单元测试具体分类验证产品实现符合功能规格书验证产品代码运行的正确性边缘条件测试产品安全性测试从已有Bug增加的回归测试产品代码覆盖度测试(CodeCoverage)产品代码注射测试(CodeInjection)异常
7、测试Zhu.Kerry@gmail.com单元测试具体分类产品速度性能的比较测试产品极限情况测试产品与国际标准的兼容性测试产品与以前版本的操作系统,文件格式的兼容测试同一产品不同版本共同运行的兼容性测试产品在不同语言操作系统下的运行测试Zhu.Kerry@gmail.com单元测试具体流程测试过程从产品设计开始SpecReview非常重要微软产品SpecReview演示SharepointServer的应用测试代码编写由软件开发设计者(SDE)自己开始DRT(DeveloperRegressionTest)的重要性没有相随的DRT,F
8、eatureArea不算开发完DRT不全部编译并100%通过,不允许Check-in测试组的测试不100%编译并100%通过0级测试(BVT),70%通过1级测试,不允许Check-inZhu.Kerry@gmail.c
此文档下载收益归作者所有