在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
白盒测试的优缺点白盒测试在计算机领域行业用以检查程序的状态,确定实际运行状态与预期状态是否一致,来看看白盒测试的优点和缺点是什么吧。

白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。
白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化:
1.语句覆盖每条语句至少执行一次。
2.判定覆盖每个判定的每个分支至少执行一次。
3.条件覆盖每个判定的每个条件应取到各种可能的值。
4.判定/条件覆盖同时满足判定覆盖条件覆盖。
5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。
6.路径覆盖使程序中每一条可能的路径至少执行一次。
白盒测试的方法总体上分为静态分析方法和动态分析方法两大类。
静态分析是一种不通过执行程序而进行测试的技术。静态分析的关键功能是检查软件的表示和描述是否一致,有无冲突或者歧义。
动态分析是当软件系统在模拟的或真实的环境中执行之前、之中和之后,对软件系统行为的分析。动态分析包含了程序在受控的环境下使用特定的期望结果进行正式的运行。它显示了一个系统在检查状态下是正确还是不正确。在动态分析技术中,最重要的技术是路径和分支测试。
三步法1. 根据代码的功能,人工设计测试用例进行基本功能测试;2. 统计白盒覆盖率,为未覆盖的白盒单位设计测试用例,实现完整的白盒覆盖,比较理想的覆盖率是实现100%语句、条件、分支、路径覆盖;3. 自动生成大量的测试用例,捕捉"程序员未处理某些特殊输入"形成的错误。
第1步的测试用例通常是现成的,因为详细设计文档会规定程序的基本功能,没有文档的,程序员在编程时也要想清楚程序的功能,这些基本功能就是基本测试用例;第2步是在第1步的基础上,检查未覆盖的白盒单位,由于未覆盖的逻辑单位通常对应未测试的等价类,因此第2步可以找出第1步所遗漏的测试用例;第3步用自动动态测试弥补第2步的固有缺陷。
"三步法"尽量避免重复工作,白盒方法和黑盒方法相结合,人工方法和自动方法相补充,如果第2步的覆盖率比较理想,那么基本上可以保证找出所有等价类。在开发过程允许的限度内,"三步法"已接近极限,当得起"彻底测试"四个字。
白盒测试优点:
(1)迫使测试人员去仔细思考软件的实现。
(2)可以检测代码中的每条分支和路径(3)揭示隐藏在代码中的错误。
(4)对代码的测试比较彻底。
(5)让软件最优化。
白盒测试缺点
(1)昂贵。
(2)无法检测代码中遗漏的路径和数据敏感性错误。
(3)不验证规格的正确性。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
软件测试工程师必须了解的七大原则
之前有同学问我,软件测试的工作是不是只要将技术学习扎实,不需要过多的学习理论就可以职场上一马平川呢?其实并不是这样的。无论是哪个行业哪个岗位,仅仅懂得技术只能胜任执行的工作。更多的需要掌握这项工作的原理理论以及思维模式。尤其软件测试行业,建立良好的测试思维以及测试理论是非常有必要的。下面我就和大家一起分享一下关于测试思维中七大原则:
10007
2019-08-07 18:11:25
软件测试工作中有哪些常用的工具?
软件测试工作中有哪些常用的工具?一般来说软件测试工具有开源测试管理工具、开源功能自动化测试工具、开源性能自动化测试工具、Quality Center、QuickTest Professional、LoadRunner等。
9467
2019-05-15 17:43:21
软件测试工程师薪水平均是什么水平?前景发展如何?
如今,软件测试工程师已然成为了香饽饽职业。从短期看,从事这份岗位的工程师,薪资待遇确实远远高于其他行业的同龄人。从长期来看,软件测试职业发展可期,无论是向技术还是管理岗位发展,都能有极大的上升空间。那么,软件测试工程师薪水平均是什么水平呢?前景发展究竟如何?
7962
2019-09-12 16:56:00
完整的测试用例流程设计步骤
测试用例流程设计步骤,书写一套完整的测试用例过程中需要对用例都从测试计划、测试设计、测试开发、测试执行、测试评估五个维度进行测试流程设计。
11245
2019-12-16 17:05:10
自动化测试工程师的发展前景怎么样?好不好?
根据各大网络招聘平台的数据显示,越来越多的企业在招聘测试工程师的时候,都开始重视自动化测试这一重要技能。早在四年前,自动化测试的人才需求和薪资待遇就开始一路上涨。如果你问:自动化测试工程师的发展前景怎么样?好不好?答案无疑是肯定的,不论是行业的发展现状,还是不断扩大的人才需求,都在说明着自动化测试这一岗位正如朝阳般冉冉升起。
7252
2020-07-14 17:34:51
热门文章
- 前端是什么
- 前端开发的工作职责
- 前端开发需要会什么?先掌握这三大核心关键技术
- 前端开发的工作方向有哪些?
- 简历加分-4步写出HR想要的简历
- 程序员如何突击面试?两大招带你拿下面试官
- 程序员面试技巧
- 架构师的厉害之处竟然是这……
- 架构师书籍推荐
- 懂了这些,才能成为架构师 查看更多
扫描二维码,了解更多信息
