51Testing软件测试论坛

标题: 白盒测试概念、目的、测试策略(6种)、静态白盒测试 [打印本页]

作者: 测试积点老人    时间: 2018-12-13 15:14
标题: 白盒测试概念、目的、测试策略(6种)、静态白盒测试
一、为什么要用白盒测试
白盒测试能够或更容易发现黑盒测试发现不了的问题

二、什么是白盒测试
又称为透明盒测试、逻辑驱动测试
是测试被测单元内部如何工作的一种测试方案(单元测试)
根据程序内部逻辑结构及相关信息来设计和选择测试用例,对程序的逻辑结构进行测试
可覆盖全部代码、分支、条件和路径等

三、白盒测试的目的
保证程序中所有关键路径的测试,防止由于没有执行的路径在实际投入运行后执行到意外情况
衡量测试完整性
程序内部所有的逻辑值真、假两个分支的覆盖
检查内存泄漏
异常处理的分支语句的执行
解决实验条件下很难搭建真实测试环境的问题(比如月球上白天的温度零上300度,晚上温度零下300度,若真实搭建环境比较困难,可以安装温度感应器,当感应的温度是多少时,才执行某些语句)
检查代码符合一定的编码规范,减少由于编码不规范而引入的错误

四、白盒测试策略
白盒测试策略一
桌前检查
- 程序员实现指定功能后,进行单元测试之前,对源代码进行的初步检测
- 重点:编码规范、语句的使用等是否符合编码规范,并根据《编码规范》调整自己的代码以符合编码规范的要求
- 参与人员:开发人员

白盒测试策略二
又称为模块测试。传统结构化编程中,以一个函数、过程为一个单元;在面向对象的编程中一般把类作为单元进行测试
重点:采用白盒测试和黑盒测试方法相结合
参与人员:专门的白盒测试人员

白盒测试策略三
代码评审
在编码初期或编写过程中采用一种有同行参与的评审活动

重点:通过组织或其他程序员共同查看程序,可以找出问题,使大家的代码风格一致或遵守编码规范
参与人员:全体开发小组
方法:通过大家统统阅读代码或由编写者讲解代码,其他同行边听边分析问题的方法

白盒测试策略四
同行评审
引用CMM(能力成熟程度模型)中的术语,如用在评审源代码上,就使代码评审;在同行评审中,由软件工作商品创建者的同行们检查该工作的产品,识别产品的缺陷,改进产品的不足
参与人员:程序员、设计师、丹云测试工程师、维护师、需求分析师、编码标准专家

白盒测试策略五
代码走查
由测试小组组织或者专门的代码走查小组进行代码走查,这时需要开发人员提交有关的资料文档和源代码给走查人员,并进行必要的讲解
参与人员:测试人员(一般不让代码编写人员参与)

白盒测试策略六
静态分析
由测试小组来进行,静态分析通常需要辅助工具支持,通过提取代码信息,进行统计,根据统计结果对源代码进行质量评估。代码规则检查也是静态分析的一个方面
参与人员:测试小组

五、静态白盒测试
1、概念
静态测试:测试被测软件的非运行部分。常用的方式:审查和检查
常用方法:审查和检查
- 指在不执行软件的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程,有时称为将结构化分析
- 进行静态白盒测试的首要原因是尽早发现软件缺陷,以找出动态黑盒测试难以发现或隔离的软件缺陷,另一个好处是给黑盒测试人员提供思路

2、正式审查
就是进行静态白盒测试的过程。正式审查含义很广,从两个程序员的交谈到软件设计和代码的详细,严格检查均属于该过程
正式审查4个基本要素:确定问题、遵守规则、准备、编写报告

3、静态白盒测试,要检查代码的标准与规范
坚持标准和规范的原因
- 可靠性:按照某种标准或规范编写的代码比不规范的代码更可靠,缺陷更少
- 可读性/可维护性:符合标准和规范的代码,易于阅读、理解和维护
- 移植性:不同平台、不同硬件、不同编译器

4、要检查哪些错误
①数据引用错误
②数据声明错误
③计算错误
④比较错误
⑤控制流程错误
⑥输入/输出错误
⑦其他检查错误







欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2