现在的位置: 首页 > 综合 > 正文

白盒测试技术-方法与实践篇

2013年05月26日 ⁄ 综合 ⁄ 共 1433字 ⁄ 字号 评论关闭

讲的都是一些指导性原则,在这些原则的指导下,原则的细化与实施就成了关键所在

白盒测试技术-方法与实践篇


作者:张元礼
http://blog.csdn.net/vincetest

 

3.1 白盒测试方法

一、用例设计
1、测试用例的组成(在单元测试中测试用例基本上由测试脚本组成)
1)用例运行前置条件
2)被测模块/单元所需环境(全局变量赋值或初始化实体)
3)启动测试驱动
4)设置桩
5)调用被测模块
6)设置预期输出条件判断
7)恢复环境(包括清除桩)


2、测试用例的设计原则
1)一个好的测试用例在于能够发现至今没有发现的错误;
2)测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成;
3)在测试用例设计时,应当包含合理的输入条件和不合理的输入条件;
4)为系统运行起来而设计测试用例;
5)为正向测试而设计测试用例;
6)为逆向测试而设计测试用例;
7)为满足特殊需求而设计测试用例;
8)为代码覆盖而设计测试用例;


 

3、用例设计方法
1)规范(规格)导出发
2)等价类划分法
3)边界值分析法
4)状态转移测试法
5)分支测试法
6)条件测试法
7)数据定义-使用测试法(又名数据流测试法)
8)内部边界值测试法
9)错误猜测法
各种详细设计方法请参考《测试用例设计白皮书》


 

4、特定的用例测试设计
1)声明测试
2)路径测试
3)循环测试
4)循环嵌套
5)边界值测试
6)接口测试
7)确认测试
8)事务测试


 

二、用例执行

  • 一般来说,做单元测试均采用的是商用的测试工具或自行开发的测试工具,用例的编写都是在测试工具上完成,测试用例都是一些测试脚本,都以文件的方式来保存,故其用例的执行过程主要是由测试工具根据所编写的具体的测试用例脚本来完成,这样对于用例的管理和执行也非常灵活。
  • 在特定场合,比如某种压力测试或极限测试,对于测试执行过程时间很长时(几个小时以上),一般都预先编写好用例(确保用例无误),使用空闲机或非工作时间执行测试用例,这样操作起来较节约时间。
  • 在用例的执行过程中务必注意如下事项:
    1、程序的执行过程―――便于构造发散用例
    2、不要放过任何细节――这种细节可能就是问题

三、测试优化和策略
1、测试用例的优化

2、测试执行的优化

3、测试策略
1)哪些是重点模块?
2)哪些程序是最复杂、最容易出错的?
3)哪些程序是相对独立,应当提前测试的?
4)哪些程序最容易扩散错误?
5)哪些程序是开发者最没有信心的?
6)80-20原则:80%的缺陷聚集在20%的模块中,经常出错的模块改错后还会经常出错,这种应该列入测试重点。


3.2 白盒测试评估

1、测试完备性评估,主要检查测试过程中是否已经执行了所有的测试用例,对新增的测试用例是否已及时更新测试方案等。

2、代码覆盖率评估,主要是根据代码覆盖率工具提供的语句覆盖情况报告,检查是否达到方案中的要求,公司要求语句覆盖达到100%。但很多情况下,第一轮测试用例执行完后是很难达到的,这时在评估过程中要对覆盖率进行分析,主要从以下方面来考虑:

1)不可能的路径或条件
2)不可达的或冗余的代码
3)不充分的测试用例
3、从覆盖的角度看,测试应该覆盖:
1)功能覆盖
2)输入域覆盖
3)输出域覆盖
4)函数交互覆盖
5)代码执行覆盖

大多数有效的测试用例都来自于分析,而不是仅仅为了达到测试覆盖率目标而草率设计测试用例。千万不要误解测试覆盖,测试覆盖并不是我们最求的目的,它只是评价测试的一种方式,为测试提供指导和依据。

【文章来源:张元礼的博客 http://blog.csdn.net/vincetest

抱歉!评论已关闭.