软件测试 之 白盒测试 掠影
上一期的博客我们简单认识了软件测试的一种类型:黑盒测试,系统地介绍了黑盒测试的原理、优缺点、测试流程以及测试方法。
这一期我们着重学习、了解一下软件测试另一种重要的测试类型: 白盒测试。
黑盒测试:又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。我们可以这样理解这一概念:白盒测试是一种测试用
例设计法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面
了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部
结构,从检查程序的逻辑着手,得出测试数据。
测试方法:
白盒测试的测试方法有,代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、
路径覆盖和程序变异。
测试覆盖标准:
白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、
条件组合覆盖和路径覆盖。
六种覆盖标准发现错误的能力呈由弱到强的变化:
1. 语句覆盖每条语句至少执行一次。
2. 判定覆盖每个判定的每个分支至少执行一次。
3. 条件覆盖每个判定的每个条件应取到各种可能的值。
4. 判定/条件覆盖同时满足判定覆盖条件覆盖。
5. 条件组合覆盖每个判定中各条件的每一种组合至少出现一次。
6. 路径覆盖使程序中每一条可能的路径至少执行一次。
白盒测试实施步骤:
1. 测试计划阶段:根据需求说明书,制定测试进度。
2. 测试设计阶段:依据程序设计说明书,按照一定规范化的方法进行软件结构划分和设计测试用例。
3. 测试执行阶段:输入测试用例,得到测试结果。
4. 测试总结阶段:对比测试的结果和代码的预期结果,分析错误原因,找到并解决错误。
白盒测试优点:
1. 迫使测试人员去仔细思考软件的实现
2. 可以检测代码中的每条分支和路径
3. 揭示隐藏在代码中的错误
4. 对代码的测试比较彻底
5. 最优化
白盒测试缺点:
1. 成本昂贵
2. 无法检测代码中遗漏的路径和数据敏感性错误
3. 不验证规格的正确性
相信通过这一期博客,大家一定对软件测试之白盒测试有了一定的认识,对白盒测试、黑盒测试的主要区别与二者取舍选用有了更为深刻的理解,
在以后的测试实践中加以运用。