当前位置:  开发笔记 > 编程语言 > 正文

黑匣子与白盒测试

如何解决《黑匣子与白盒测试》经验,为你挑选了4个好方法。

您认为哪种类型的测试应该是重点(对于测试人员/ QA),为什么?

维基百科的一组快速定义:

黑盒测试

从测试对象的外部透视图中获取测试用例.这些测试可以是功能性的或非功能性的,但通常是功能性的.测试设计者选择有效和无效的输入并确定正确的输出.不了解测试对象的内部结构.

白盒测试

使用系统的内部透视图来设计基于内部结构的测试用例.它需要编程技能来识别软件中的所有路径.测试人员选择测试用例输入来遍历代码并确定适当的输出.在电气硬件测试中,可以探测和测量电路中的每个节点; 一个例子是在线测试(ICT).

编辑:为了澄清一点,我意识到两者都很重要,但通常它们在开发和QA之间是分开的.

内部知识对测试人员/ QA很重要吗?我听说过用这些知识进行测试的论据使他们能够更好地测试问题,但我也听到过这样的论点,即这些知识可以分散功能需求并促进"测试代码"而不是预期的解决方案.



1> Glenn..:

黑盒测试应该是测试人员/ QA的重点.

白盒测试应该是开发人员的重点(即单元测试).

回答这个问题的其他人似乎已经将这个问题解释为哪个更重要,白盒测试或黑盒测试.我也相信它们都很重要,但你可能想看看这篇IEEE文章,声称白盒测试更重要.


-1单元测试与白盒测试与黑盒测试无关.单元测试可以使用whitebox和blackbox样式.编写良好的单元测试,当他们测试"内部"模块/对象/功能时,可以并且应该将每个*单元*测试为黑盒子.
@WarrenParks黑盒测试不是关于你是否已经了解它.相反,黑盒测试是关于编写测试,不考虑测试内容的内部非公共部分.
什么是"IEEE文章"的名称.提供的链接已损坏
该链接仍然有效.这篇文章被称为关于软件工程的常见遗忘事实.
Downvoted,因为这个答案没有回答为什么.我不同意白盒测试.进行黑盒测试几乎总是更有用.如果有些东西你只能使用白盒测试进行测试,那么它是偶然的和不相关的,或者它是死代码.

2> cschol..:

白盒测试等于软件单元测试.开发人员或开发级别测试人员(例如另一个开发人员)确保他编写的代码在将其集成到系统之前根据详细级别要求正常工作.

黑盒测试等于集成测试.测试仪确保系统根据功能级别的要求工作.

在我看来,这两种测试方法同样重要.

完整的单元测试将在开发阶段捕获缺陷,而不是在软件集成到系统中之后.系统级黑盒测试将确保所有软件模块在集成在一起时表现正常.开发阶段的单元测试不会发现这些缺陷,因为模块通常是相互独立开发的.


这个答案给出了whitebox和blackbox测试的错误定义.两者都可以进行单元测试,两者都可以进行集成测试.这真的只是重点.白盒测试不测试行为是否符合规范.Whitebox测试正在测试您是否可以在给定的实现中运行所有代码分支而不会出现错误.然而,Blackbox测试是关于给定的实现是否在不同情况下做正确的事情.它是否符合规格.

3> 小智..:

黑盒子

1重点介绍系统的功能重点介绍系统的结构(程序)

2使用的技术是:

·等价划分

·边界值分析

·猜错

·比赛条件

·因果图

·语法测试

·州过渡测试

·图表矩阵

测试人员可以是非技术性的

有助于识别功能规范中的模糊性和矛盾性

白盒子

使用的技术是:

·基础路径测试

·流程图表示法

·控制结构测试

    条件测试

    数据流测试

·循环测试

    简单的循环

    嵌套循环

    连锁循环

    非结构化循环

    测试员应该是技术性的

    帮助识别逻辑和编码问题.



4> user1075613..:

QA应该专注于黑盒测试.质量保证的主要目标是测试系统的功能(功能是否符合要求?),而不是它是如何做到的.

无论如何,QA应该很难进行白盒测试,因为大多数QA人员都不是技术人员,因此他们通常通过UI测试功能(如用户).

更进一步,我认为开发人员也应该专注于黑盒测试.我不同意单元测试和白盒测试之间广泛的关联,但它可能只是一个词汇/规模的问题.在单元测试的规模上,被测系统是一个具有契约(通过其签名)的类/方法,重要的是测试它的作用,而不是如何.此外,白盒测试意味着你知道该方法将如何填补其合同,这似乎与TDD不兼容.

恕我直言,如果您的SUT非常复杂,需要进行白盒测试,那么通常是重构的时候.

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有