我最近完成了针对硕士课程的软件工程课程的期末考试,该考试中的一个问题如下:
Unit Testing is considered:
a. White-box Testing
b. Black-box Testing
c. Either
在我7年的软件开发经验中,单元测试始终采用白盒方法。测试人员在编写测试时始终对单元的实施有充分的了解。黑盒测试总是以集成,系统和验收测试的形式出现。
但是,对考试的正确答案(根据教授的说法)是单元测试可以是白盒测试或黑盒测试。
我已经进行了一些研究,似乎很多情况下都使用“黑盒单元测试”来描述一种先测试的方法,即在代码之前编写单元测试。但是我认为这仍是白盒测试。尽管实现尚不存在,但是编写测试的人通常都对如何实现源代码有一个很好的了解。
有人可以告诉我黑匣子单元测试的工作原理(如果确实如此),以及它与白匣子单元测试有何不同?
While the implementation does not yet exist, whoever is writing the test generally has a pretty good idea about how the source code is going to be implemented.
-是的,但是测试本身没有。 白盒测试意味着测试方法或类内部的某些内容,例如变量的值。这并不意味着测试编写者知道被测代码的样子。