- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]Ch5-单元测试-STMT
软件测试方法和技术 - Ch.5单元测试 第四章回顾 第五章 单元测试 5.1 什么是单元测试 单元测试的定义 为何要进行单元测试? 单元测试的背景 开发流程时间表与修改Bug代价的关系图 单元测试的背景(续) 编程过程中,每写100行代码会犯150个错误 编程与编译运行结束后,每100行代码中大约残留有1-3个Bug 寻找与修改程序错误的代价占总体开发投资的40%-80% Bug在整个研发流程中被发现的越早,修改的代价就越低 5.2 单元测试的目标和任务 目标: 单元模块被正确编码 信息能否正确地流入和流出单元; 在单元工作过程中,其内部数据能否保持其完整性,包括内部数据的形式、内容及相互关系不发生错误,也包括全局变量在单元中的处理和影响。 在为限制数据加工而设置的边界处,能否正确工作。 单元的运行能否做到满足特定的逻辑覆盖。 单元中发生了错误,其中的出错处理措施是否有效。 任务1: 模块接口测试 任务2: 模块局部数据结构测试 任务3: 模块边界条件测试 任务4: 模块独立执行通路测试 任务5:模块的各条错误处理通路测试 Microsoft对单元测试的理解 单元测试具体分类 验证产品实现符合功能规格书 验证产品代码运行的正确性 边缘条件测试 产品安全性测试 从已有Bug增加的回归测试 产品代码覆盖度测试(Code Coverage) 产品代码注射测试(Code Injection) 异常测试 单元测试具体分类 产品速度性能的比较测试 产品极限情况测试 产品与国际标准的兼容性测试 产品与以前版本的操作系统,文件格式的兼容测试 同一产品不同版本共同运行的兼容性测试 产品在不同语言操作系统下的运行测试 单元测试具体流程 测试过程从产品设计开始 Spec Review 非常重要 微软产品Spec Review演示 Sharepoint Server的应用 测试代码编写由软件开发设计者(SDE)自己开始 DRT (Developer Regression Test)的重要性 没有相随的DRT, Feature Area不算开发完 DRT不全部编译并100%通过,不允许Check-in 测试组的测试不100%编译并100%通过0级测试(BVT), 70%通过1级测试,不允许Check-in 单元测试具体流程 (续) 测试代码主体由软件测试工程师(SDET,STE)编写 测试从写软件测试规格书(Test Spec)开始 Test Spec必须通过PM,Dev与同组Tester共同开会研究通过 测试代码根据不同测试的情景分为0-4级的优先级 0级测试称为BVT (Build Verification Test) 在Dev主要的功能实现Check-in前,0-1级测试代码必须已由测试工程师完成 在Dev进行Check-in时,0级测试必须100%通过 单元测试具体流程 (续) 在Dev进行Check-in时,1级测试必须至少有70%通过 Dev进行产品代码的Check-in Test进行测试代码的Check-in 产品编译由Build团队每日进行 Test编译由测试团队在产品编译完成后进行 测试编译完成后,由测试自动化系统进行测试 在随后的代码优化与稳定期内,测试工程师编写2-4级测试代码,并报告产品Bug,Dev负责修改Bug,稳定并优化产品 5.3 静态测试技术的运用 编码的标准和规范 走查 (Walk Through) 审查 (Inspection) 走查与审查的比较 评审 (Review) 5.4 动态测试技术的运用 白盒测试方法 黑盒测试方法 黑盒常用方法 5.6 调试与评估 单元测试检查表 (1) 单元测试检查表 (2) 5.6 单元测试的过程和文档管理 单元测试的文档 5.7 单元测试常用工具简介 Q A 调试与测试的对象及采用的方法有很大程度上的相似,调试还用到断点控制等排错方法,但其目的却完全不同。测试是为了找出软件中存在的缺陷,而调试是为了解决存在的缺陷。 软件单元功能与设计需求一致。 软件单元接口与设计需求一致。 能够正确处理输入和运行中的错误。 在单元测试中发现的错误已经得到修改并且通过了测试。 达到了相关的覆盖率的要求。 完成软件单元测试报告 借助单元测试检查表进行评估。 案例: 单元测试检查表 单元名称___________ 系统 _______________ 构造______________ 任务编号____________________ 初次测试日期_________________ 关键测试项是否已纠正 有无任何输入参数没有使用?有无任何输出参数没有产生? 有无任何数据类型不正确或不一致? 有无任何算法与PDL或功能需求中的描述不一致? 有无任何局部变量使
文档评论(0)