首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单元测试、黑盒测试和白盒测试

单元测试、黑盒测试和白盒测试
EN

Stack Overflow用户
提问于 2011-08-31 22:31:55
回答 4查看 30.3K关注 0票数 18

什么是单元测试、黑盒测试和白盒测试?我用谷歌搜索了一下,但我找到的所有解释都是非常技术性的。任何人都可以用适当的例子以简单的方式回答这个问题吗?

EN

回答 4

Stack Overflow用户

发布于 2011-08-31 22:37:27

黑盒测试中,您并不关心被测试事物的内部是如何工作的。您调用公开的API并检查结果;您并不关心被测试的东西是如何给出结果的。

白盒测试中,您确实关心被测试事物的内部是如何工作的。因此,不只是检查你的东西的输出,你可以检查被测试的东西的内部变量是正确的。

单元测试是测试软件组件的一种方法。"Unit“是被测试的东西。您可以使用单元测试进行黑盒测试和白盒测试;这个概念与白盒/黑盒测试是正交的。

票数 35
EN

Stack Overflow用户

发布于 2011-08-31 22:37:01

缺乏任何细节的非常非技术性的解释……来了..。

  • 黑盒测试:在不知道内部应用程序如何工作的情况下测试应用程序
  • 白盒测试:在知道内部应用程序如何工作的情况下测试应用程序,例如,在进行测试时将源代码并排放在一起。
  • 单元测试:这是您创建直接与应用程序交互的测试的地方。您可以在应用程序和assert中检查响应应通过value X返回的函数。单元测试通常也是由开发人员自己创建的,而如果一家公司做白盒和黑盒测试,任何人都可以完成。

这是一个非常基本的解释。

票数 12
EN

Stack Overflow用户

发布于 2017-07-05 08:26:32

黑盒测试:

  1. 测试人员是人类,而不是developer
  2. Tester 不知道系统是如何实现的*当系统对测试的任何步骤的响应不是预期结果时,
  3. 测试人员将报告问题。

白盒测试:

  1. Tester是人类,而不是developer
  2. Tester to know system是如何实现的*
  3. Tester将在系统对测试的任何步骤的响应不是预期结果时报告问题,并且尽管收到预期结果,但更有可能检测到测试用例本身或系统的问题。

单元测试:

  1. 测试器通常是测试系统中特定模块的代码。例如,在Java语言中,一个项目可能有一个名为Student的类和一个名为StudentTest的测试类。对于学生中的每个函数(如getGrades),StudentTest可能有0个或更多函数来测试它们(如getGradesTest)。
  2. 测试代码通常只知道系统一部分的各种输入的预期输出。
  3. 单元测试通常在提交代码之前运行,或者在构建要部署的应用程序时自动运行。这样做的目的是防止在添加、更改或删除功能时向系统引入尽可能多的错误。

*黑盒测试员和白盒测试员之间已知的知识量因组织而异。例如,我认为的可用性测试,另一家公司可能称之为黑盒测试。一些公司的白盒测试人员可能是另一个开发人员(开发人员QA),而另一个组织可能不允许任何测试签字由开发人员完成。黑盒测试员可能只是一个需要遵循和验证的指令列表的人,也可能是一般知道系统如何工作的人,只是不是特别详细的级别。例如:

尽管测试用例与预期相符,但黑盒测试人员可能会识别问题,也可能不会识别问题,例如,电子商务测试用例省略了收集客人结帐送货地址的步骤。

从本质上讲,白盒和黑盒测试很少被严格实现。大多数组织都有单元测试、开发人员测试(可能有正式的文档记录-取决于失败的影响)、QA测试人员(黑色、白色和中间所有灰色的阴影)和用户测试/业务签收(本应参与整个项目的人员,但在运行不佳的组织中,只在开始和结束时出现,并在部署之前将完成的项目发送回设计)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7258524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档