第一章 测试过程管理之测试方法体系研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
测试过程管理_测试方法体系研究
刘振田
2012-05
cowardliu@ QQ:147832350
测试方法体系研究
测试建设需求分析V/双V/X模型研究
测试驱动开发理论研究
敏捷测试研究
测试应用体系设计
测试实践测试应用与流程建设
测试工具集
单元测试工具
集成测试工具
性能测试工具
后台/接口测试工具模拟器库
持续构建工具测试平台
测试需求测试计划
测试用例
/用例复用测试执行
Bug管理测试报告
测试工具与平台建设
测试规程
功能测试操作指南
性能测试操作指南
自动化测试操作指南
安全性测试操作指南
版本发布操作指南测试体系的设计规划图
1 2 3测试方法体系研究
测试应用与流程体系建设测试工具与平台建设
4
测试组织建设
5
走向成熟:持续交付与测试流水线
1
1
测试方法体系研究软件测试概述
2软件工程与软件测试
3
讨论:“我们”如何选择测试模式?
1.1软件测试概述
单元测试
集成测试
系统测试
验收测试
Bvt 测试冒烟测试
●接口测试●逻辑功能测试
●功能联调测试●性能与压力测试●高可用性测试●兼容性测试●安全性测试●易用性测试
α测试
β测试
静态测试●模拟测试●并运行测试
●验收测试黑盒测试
白盒测试
动态测试
模块
模块接口
局部数据结构
出错处理独立路径
边界条件
*单元测试又称为模块测试,是针对程序模块或函数(软件设计的最小单位)来进行正确性检验的测试工作
被测模块
测试用例
驱动程序测试结果
桩模块1桩模块2桩模块3
测试内容:
执行过程:
# include
C=fun1(a,b)
}
Int fun1(int x,int y) {return x+y;
}
1.1.1单元测试:举例
1.1.2集成测试:接口测试
*测试与系统相关联的内部、外部接口,测试的重点是要检查数据的交换,传递和控制管理过程,还包括处理的次数。
接口的连通
性测试基于协议的
报文级测试
基于业务的
接口测试
1.1.3集成测试:逻辑功能测试
业务流数据流
*业务流:产品执行的某一特定动作看做一个业务,针对该业务完成一个完整的受理过程作为一个端到端的处理流程。
*数据流:通过单一用户动作生命周期的完整测试,测试动作之间的数据连通性,同时测试业务之间的横向依赖关系。
1.1.4:系统测试和验收测试
* 系统测试是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起测试。包括功能联调测试、性能与压力测试、兼容性、安全性、易用性及高可用性测试。
* 验收测试是指在系统测试的后期,以用户测试为主,从用户需求出发对系统进行验收验证的测试,是软件交付给用户的最后一道工序。
1.1.5
单元、集成、系统和验收测试比较
测试名称
测试对象
测试依据
人员
测试方法
时间比例
单元测试最小模块,如函数、类详细设计开发人员或白
盒测试人员
白盒4
集成测试模块间的接口,如参数传递概要设计开发人员测试人员白盒、黑盒2系统测试整个系统,包括软件、硬件需求规格说明书
黑盒测试人员黑盒3验收测试
整个系统,主要以功能为主
用户需求验收标准
用户为主黑盒
1
输入输出黑盒测试又称数据驱动测试或基于规格说明的测试,通过黑盒测试可以知道应用程序是否符合用户的预期要求,而不考虑程序内部的逻辑结构,主要适用于集成测试、系统测试、验收测试。主要为了发现以下错误:
1、功能不正确或遗漏;
2、输入、输出、接口、界面错误;
3、数据结构或外部数据访问错误;
4、性能不满足要求;
5、初始化或终止性错误
白盒测试又称结构测试、逻辑驱动测试或基于程序本身的测试,白盒测试是对软件的过程性细节做细致的检查,对程序所有逻辑路径进行测试,而并不关心应用程序的功能要求,主要用于单元测试。
应用程序
主要为了发现以下错误:
1、对程序模块的所有独立的路径至少测试一次;
2、对所有逻辑判定均需测试true 和false 两种情况;
3、在循环的上下边界和运行界限内执行循环体;
4、测试内部数据结构的有效性;
1.1.6静态测试和动态测试
●动态测试技术:
黑盒测试
白盒测试
●静态测试技术:
桌前检查
代码审查
技术评审
1.1.6桌前检查
●程序员阅读自己所编的程序
●检查所有的变量,包括变量的类型、声明、引用,临时变量的
使用等
●检查所有函数的调用
●检查所有错误信息显示是否清楚、易理解和准确
●对返回的数据进行错误状态的检查
●检查代码是否遵从了存在的编程标准和命名协议
●检查系统模块内部的注释和说明
●检查程序控制流的实现
●应至少完成语句覆盖