软件测试基础理论(二)
关于基础理论一二三,都已经重新整理更新到了基础知识总结,传送门:http://www.cnblogs.com/imyalost/p/6144862.html
一、白盒测试
1、什么是白盒测试
定义:按照程序内部结构,逻辑驱动测试程序
目的:检测产品内部动作是否按照设计说明书的规范进行,检验程序的每条路径是否都
能按照预定要求进行工作
对象:源程序
用代码内部的分支,路径,条件,使程序设计的控制结构导出测试用例
2、白盒测试方法分类:
1)静态测试
2)动态测试
3.白盒测试的原则
1)保证一个模块中所有路径至少被测试一次
2)所有逻辑值都要测试真和假两种情况
3)检查程序内部的数据结构是否有效
4)检查上下边界及可操作范围内运行所有循环
4、白盒测试的类别
1)软件共用问题的测试
2)语言测试
3)sql语句测试
4)数据类型测试
5)界面测试
6)数值队形测试
7)业务对象测试
8)数据管理对象测试
5、白盒测试依据
1)软件需求报告
2)软件需求规格说明
3)程序设计文档
4)软件界面设计
5)编码规范
6)开发命名标准
6、白盒测试流程
1)界面对象测试流程
界面对象(UI)→业务对象(BO)→数据管理对象(DMO)→DBserver端
2)业务对象测试流程
DBserver端→数据管理对象(DMO)→业务对象(BO)→界面对象(UI)
7、白盒测试需要考虑的问题
1)尽量先用自动化工具来进行静态结构分析
2)建议先从静态测试开始,比如:静态结构分析,代码走查和静态质量度量,然后进行动态测试,比如:覆盖率测试
3)利用静态分析结果为依据,再使用代码走查和动态测试方式对静态分析结果进行进一步确认,提高效率和准确性
4)覆盖率测试是白盒测试中的重要手段,在测试报告中可作为量化指标的依据,对于重点模块,应使用多种覆盖率标准衡量代码覆盖率
5)不同测试阶段,侧重点不同
二、黑盒测试
1、定义:
数据驱动测试或者基于规格说明的测试
只检查程序功能是否按照规格说明书规定正常使用,是否能接收数据及产生正确的输出信息,并且满足数据库或者外部信息的完整性
2、黑盒测试的目的
1)是否有不正确或者遗漏的功能
2)界面是否有误
3)接口上,输入输出是否正确
4)是否有数据结构错误或者外部数据库访问错误
5)性能是否满足要求
6)初始化或者终止性错误
3、黑盒测试的优点
1)最大程度满足用户需求
2)相同动作可重复执行,枯燥部分可由机器完成
3)根据测试用例针对性的寻找问题,定位更准确,容易生成测试数据
4)测试直接和程序/系统要完成的操作相关联
4、黑盒测试的缺点
1)代码得不到测试
2)如果规格设计错误,很难发现
3)测试不能充分进行
4)结果取决于测试用例的设计
5、黑盒设计方法
1)等价类划分法
2)边界值分析法
3)因果图法
4)判定表驱动法
5)场景法
6)功能图法
7)错误推断法
8)正交试验设计法
5、策略
1)首先进行等价类划分,包括输入和输出条件,减少工作量提高效率
2)边界值分析,发现错误的能力最强
3)错误推断法,补充用例,这个凭经验
4)对照需求和业务场景逻辑,检查用例
5)如果需求说明含有输入条件,设计开始就用到因果图和判定表驱动法
6)参数配置类的软件,要用正交实验法
7)功能图法,不同时期条件的有效性来设计数据
8)业务流清晰的系统,采用场景法
6、等价类
1)将所有的可能输入数据(有效和无效)划分为若干个等价类,选取代表性的数据当做 测试用例,保证完整性和代表性
有效等价类:合理的有效的输入集合
无效等价类:无效的没有意义的输入集合,检查程序异常
2)等价类划分方法
按照区间、数值、集合、限制条件、处理方式划分
7、边界值
对输入或输出的边界值进行设计
5/7原则
8、因果图
简化逻辑关系,操作步骤较复杂
9、判定表驱动法
针对不同存在条件、动作关系或者因果关系的设计用例方法
4大组成部分:条件桩:条件项;动作桩,动作项
10、场景法
事件触发的情景
11、功能图法
用功能图(流程图)形象的表达操作流
12、错误推断法
基于以往的经验和出现的错误,推测软件可能存在的缺陷和错误,针对性的设计用例
13、正交实验法
从大量数据中挑选适量的有代表性的,合理设计用例
14、黑盒测试的原则
1)根据需求和规格要求,明确产品要求的正确性
2)针对性的找问题,正确定位
3)根据需求重要性确定测试等级和重点,减少缺陷
4)接口处,输入是否能正确接收,输出是否正确
5)站在用户角度思考,测试
15、测试计划
根据需求中关于功能和性能的要求设计,制定参考范围