【问题标题】:Is testing based on API a black-box test or a grey-box test?基于 API 的测试是黑盒测试还是灰盒测试?
【发布时间】:2020-06-17 07:53:00
【问题描述】:
基于 API(如 Javadoc)的测试是黑盒测试还是灰盒测试?
我的想法
我认为它是灰色框,正在测试。
为什么
- 黑盒测试是指我们不了解系统及其内部工作原理。但是,由于我们获得了 API,因此我们知道返回类型、传递的参数等,尽管基本了解每个方法应该做什么以及系统的内部工作原理。
如果您还记得灰盒测试的含义:测试是根据算法、体系结构、内部状态或程序行为的其他高级描述的知识设计的。
由于我们有 API,我们可以设计一些测试用例,覆盖率相对较高/中等。
【问题讨论】:
标签:
testing
refactoring
theory
agile
【解决方案1】:
API 测试本质上不是黑盒、灰盒或白盒测试。正如你所说,这都是关于知识的。如果我以与公众中任何人相同的方式使用 API,我们可以称之为黑盒测试,因为我处于相同的知识水平。另一方面,如果我是一名内部测试人员,我可以打开源代码并向开发人员提问,那就是白盒。老实说,灰色只是介于两者之间。
总而言之,这些术语没有标准的严格定义,因此在测试从一个切换到另一个时没有真正的分界线。
【解决方案2】:
只要您的测试仅使用 API 的输入和输出,它就是黑盒测试。
当您开始测试 API 时还要查看源代码覆盖率,那么它是灰色的,甚至更多。