第05-1章-单元测试省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件_第1页
第05-1章-单元测试省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件_第2页
第05-1章-单元测试省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件_第3页
第05-1章-单元测试省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件_第4页
第05-1章-单元测试省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件测试技术主讲人:刘伟1/381单元测试软件测试过程什么是单元测试单元测试分析单元测试技术单元测试过程2/382软件测试生命周期3/383软件测试过程被测模块单元测试设计信息集成测试被测模块单元测试被测模块单元测试测试过模块确认测试系统测试软件需求其它系统元素装配好软件

确认软件可运行软件4/384单元测试:UnitTesting目标: 检验程序最小单元有没有错误 (接口、数据结构、边界、覆盖、逻辑) 检验单元编码与设计是否吻合时机:编码完成后,首先要实施测试方法:静态测试、白盒测试责任:开发工程师5/385集成测试:

IntegrationTesting目标: 检验组成系统模块接口有没有错误 代码实现系统设计与需求定义是否吻合时机:主要单元测试完成后,经常与单元测试同时进行方法:黑盒测试责任:开发工程师、测试工程师6/386系统测试:SystemTesting目标: 检验组成整个系统代码、以及系统软硬件配合有没有错误 代码实现系统与用户需求是否吻合 检验系统文档等各种是否完整、有效 模拟验收测试要求,检验系统是否符适用户验收标准7/387系统测试:SystemTesting时机: 多数集成测试完成后方法: 黑盒测试责任: 测试工程师8/388系统测试:SystemTesting(稳定时测试)目标:度量是否能够结束测试时机:传统系统测试完成后方法:黑盒测试责任:测试工程师9/389验收测试:

AcceptanceTesting目标: 使客户验收签字 系统是否符合事先约定验收标准时机:系统测试完成后,在项目组看来开发和测试工作已经全部完成,能够交付使用方法:黑盒测试责任:产品经理或其它高级经理、开发工程师、测试工程师、用户10/3810回归测试:

RegressionTesting目标: 验证程序修改或者版本更新以后,以前正确功效和其它指标依旧正确。时机: 每次错误修改之后,或者版本更新之后方法:白盒测试/黑盒测试责任:开发工程师、测试工程师11/3811缺点跟踪:DefectTracing目标: 确保全部发觉错误被正确统计、分发、评定、关闭、统计时机:从错误发觉开始到错误关闭为止,每次错误状态修改之后方法:缺点跟踪系统责任:开发工程师、测试工程师、测试经理、用户12/3812单元测试软件测试过程什么是单元测试单元测试分析单元测试技术单元测试过程13/3813什么是单元测试单元测试——最小粒度测试检验程序最小单位有没有错误。普通在编码之后,由开发人员完成。 单元:软件开发中最小独立部分

C语言中单元:函数或者是子过程

C++语言中单元:类14/3814测试目标1、软件测试是为了发觉错误而执行程序过程。2、测试是为了证实程序有错,而不是证实程序无错。3、一个好测试用例在于他能发觉至今未发觉错误。4、一个成功测试是发觉了至今未发觉错误测试。15/3815单元测试主要目标验证代码是与设计相符;跟踪需求和设计实现;发觉设计和需求中存在错误;发觉在编码过程中引入错误。16/3816单元测试尽早发觉错误17/3817对单元测试错误认识单元测试浪费了太多时间;单元测试仅仅是证实这些代码做了什么;很棒编程人员工作不需要单元测试;不论怎样,集成测试将会抓住全部bug;单元测试成本效率不高。18/3818单元测试软件测试过程什么是单元测试单元测试分析单元测试技术单元测试过程19/3819单元测试重点测试全部循环测试全部基本路径测试条件语句测试数据结构测试异常情况和犯错处理20/3820单元测试环境桩(Stub)模块驱动(Driver)模块21/3821单元测试分析从五个角度来考虑22/3822角度1、模块接口检验进出模块数据是否正确Checklist:

模块实际输入与定义输入是否一致(个数、类型、次序) 模块中对于非内部/局部变量是否合理使用 使用其它模块时,是否检验可用性和处理结果 使用外部资源时,是否检验可用性并及时释放资源(内存、文件、硬盘、端口等) 其它23/3823角度2、局部数据结构检验局部数据结构能否保持完整性Checklist:

变量从来没有被使用(可能别地方使用了错误变量名) 变量没有初始化 错误类型转换 数组越界 非法指针 变量或函数名称拼写错误(使用了外部变量或函数) 其它24/3824角度3、独立路径检验因为计算错误、判定错误、控制流错误造成程序错误Checklist: 死代码 错误计算优先级 精度错误(比较运算错误、赋值错误) 表示式不正确符号(>、>=、=、==、!=) 循环变量使用错误(错误赋值) 其它25/3825角度4:犯错处理检验内部错误处理设施是否有效Checklist: 是否检验错误出现(资源使用前后、其它模块使用前后) 出现错误,是否进行错误处理(抛犯错误、通知用户、进行统计) 错误处理是否有效(在系统干预前处理、汇报和统计错误真实详细) 其它26/3826角度5:边界条件检验临界数据是否正确处理Checklist: 普通正当数据是否正确处理 普通非法数据是否正确处理 边界内最靠近边界(正当)数据是否正确处理 边界外最靠近边界(非法)数据是否正确处理 其它27/3827单元测试软件测试过程什么是单元测试单元测试分析单元测试技术单元测试过程28/3828单元测试技术静态分析技术白盒测试技术29/3829静态分析定义: 不实际运行程序,而是经过检验和阅读等伎俩来发觉错误并评定代码质量软件测试技术。也称为静态测试技术。方法: 走读:WalkThrough

审查:Inspection

评审:Review30/3830静态分析-走读定义: 开发组内部进行,采取讲解、讨论和模拟运行方式进行查找错误活动。经验: 限时:防止跑题 参加人员:经验丰富开发人员、和本模块相关开发人员、本项目组新人) 由本模块开发者进行讲解、回答下列问题并统计 检验关键点:逻辑错误、代码标准/规范/格调31/3831静态分析-走读走读过程 步骤1:计划走读会议 步骤2:评审产品 步骤3:进行走读 步骤4:处理缺点 步骤5:统计走读 步骤6:返工产品32/3832白盒测试覆盖率统计程序插桩变异测试、其它测试方法驱动+桩……33/3833单元测试用例设计定义: 依据模块内部结构,设计测试用例过程。 主要采取白盒测试技术,关注逻辑覆盖标准:

1、确保没有死代码(确保一个模块中每个独立路径都可能被使用到) 2、确保对全部逻辑值都测试true和false 3、在上下边界和正当范围内运行全部循环

4、确保内部数据结构有效性和完整性34/3834单元测试用例设计思绪为系统运行设计用例为正向测试设计用例为逆向测试设计用例为满足特殊需求设计用例为代码覆盖设计用例为覆盖率指标完成设计用例35/3835单元测试软件测试过程什么是单元测试单元测试分析单元测试技术单元测试过程36/3836单元测试过程测试计划测试设计测试执行测试统计分析测试总结完成缺点跟踪针对测试目标,要求测试任务、资源分配、人员角色、进度安排等。依据测试计划,设计测试用例,包含:测试步骤、测试场景、测试代码、测试数据(包含预期结果)。依据测试计划,配置测试环境,并手动或者自动执行测试设计。依据测试计划,忠实地统计测试执行过程和结果。分析测试统计,假如发觉与预期结果不一样,确定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论