软件测试基础理论(二)

关于基础理论一二三,都已经重新整理更新到了基础知识总结,传送门: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、测试计划

根据需求中关于功能和性能的要求设计,制定参考范围

 

 

原文地址:https://www.cnblogs.com/imyalost/p/5813111.html