标签:
白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。
白盒测试可以把程序看成装在一个透明的白盒子里,也就是清楚了解程序结构和处理过程,检查是否所有的结构及路径都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。
软件人员使用白盒测试方法,主要想对程序模块进行如下的检查:
– 对程序模块的所有独立的执行路径至少测试一次;
– 对所有的逻辑判定,取 “ 真 ” 与取 “ 假 ” 的两种情况都至少测试一次;
– 在循环的边界和运行界限内执行循环体;
– 测试内部数据结构的有效性,等。
具体包含的逻辑覆盖有: – 语句覆盖 – 判定覆盖 – 条件覆盖 – 判定-条件覆盖 – 条件组合覆盖 – 路径覆盖。
测试方法
代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖。
覆盖标准
逻辑覆盖、循环覆盖和基本路径测试。
其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。
六种覆盖标准:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖发现错误的能力呈由弱至强的变化。语句覆盖每条语句至少执行一次。判定覆盖每个判定的每个分支至少执行一次。条件覆盖每个判定的每个条件应取到各种可能的值。判定/条件覆盖同时满足判定覆盖条件覆盖。条件组合覆盖每个判定中各条件的每一种组合至少出现一次。路径覆盖使程序中每一条可能的路径至少执行一次。
白盒测试工具
测试工具主要支持的开发语言包括:标准C、C++、Visual C++、Java、Visual J++等。
代码静态分析工具:Logiscope、McCabe QA、CodeTest
代码检查工具:PC-LINT、CodeChk、Logiscope
内存检测工具:Purify、CodeTest
单元测试工具:Visual studio 2005-2013,xUnit
PC-Lint:
支持C/C++语言;
优点:工具简单实用,可以选择编码规范标准,数据检查技术;
缺点:不是图形用户界面,危险的用法,C/C++的兼容性问题。
测试脚本工具:TCL、Python、Perl
覆盖率检测工具: Visual studio ,Logiscope、Purecoverage
Logiscope:
支持C/C++语言;
优点:图形界面,可以生成代码质量报告;
缺点:规则不是特别多;
Logiscope是面向源代码进行工作的,贯穿于软件开发、代码评审、单元测试、集成测试、系统测试、以及软件维护阶段。
QAC/QAC++:
版本决定支持那种语言,一般以C/C++为主;
优点:规则检查自动化,规则多,速度快,可以定制规则。
在软件过程的不同阶段,研发组都可能需要进行白盒测试。下面是策略的一种:
桌前检查
单元测试
代码评审
同行评审
代码走查
代码走查往往根据《代码检查单》来进行,代码检查单常常是根据《编码规范》总结出来的一些条目,目的是检查代码是否按照《编码规范》来编写的。当然,代码走查的最终目的还是为了发现代码中潜在的错误和缺陷。
静态分析
标签:
原文地址:http://www.cnblogs.com/yuANDfei-gate/p/4439769.html