什么是单元测试,黑盒测试和白盒测试?我用谷歌搜索,但我发现的所有解释都非常技术性。任何人都可以通过适当的例子以简单的方式回答这个问题吗?
答案 0 :(得分:27)
在黑盒测试中,您并不关心被测物的内部是如何工作的。您调用公开的API并检查结果;你不关心被测试的东西能给你带来什么结果。
在白盒测试中,您做关心被测事物的内部是如何工作的。因此,您可以检查正在测试的内容的内部变量是否正确,而不仅仅是检查事物的输出。
单元测试是一种测试软件组件的方法。 “单位”是被测试的东西。您可以使用单元测试进行黑白盒测试;这个概念与白/黑盒测试正交。
答案 1 :(得分:10)
缺乏任何细节的非技术性解释......来了......
Blackbox测试:在不知道内部应用程序如何工作的情况下测试应用程序
白盒测试:测试应用程序,了解内部的工作原理,例如在进行测试时并排获取源代码。
单元测试:您可以在此处创建与您的应用程序直接交互的测试。您将检查应用程序中的某个函数,并assert
该响应应返回value X
。单元测试通常(但不总是由开发人员自己创建),而如果公司进行白盒和黑盒测试,则任何人都可以完成。
这是一个非常基本的解释。
答案 2 :(得分:1)
Blackbox测试:这始终是基于用户或客户端的测试,其中测试是根据提供的要求完成的。此测试仅由测试人员完成。
Whitebox测试:这是为了验证代码库的流程。测试条件语句,循环语句等的流程。这主要来自开发人员的预期。
单元测试:当您使用测试数据测试代码中的每个方法并断言时,这是白盒测试的一部分。现在,测试人员和公司完成的这一天从测试人员那里了解了这项技能,他们能够理解代码和算法。
答案 3 :(得分:-1)
黑匣子测试:
白盒测试:
单元测试:
getGrades
),StudentTest可能有0个或更多函数来测试它们(如getGradesTest
)。这只是一种这样的方式。*黑匣子测试仪和白盒测试仪之间已知的知识量因组织而异。例如,我认为可用性测试,另一家公司可能会称之为黑盒测试。某些公司的白盒测试仪可能是另一个开发人员(开发人员QA),而另一个组织可能不允许开发人员完成任何测试签核。黑匣子测试人员可能只是拥有他们需要遵循和验证的指令列表的人,或者可能是通常知道系统如何工作的人,但不是特别详细的。例如:
黑盒测试人员可能会或可能不会发现问题,尽管测试用例符合预期,例如电子商务测试用例省略了收集访客结帐送货地址的步骤。
基本上,白盒和黑盒测试很少严格执行。大多数组织都有单元测试,开发人员测试(可能会或可能不会正式记录 - 取决于失败的影响),QA测试人员(黑色,白色以及之间的每种灰色阴影),以及用户测试/商业标志 - off(应该参与整个项目的人员,但是在运行不良的组织中只会出现在开始和结束时,并在部署之前将完成的项目发送回设计)。