当涉及到JUnit测试时,我正在尝试理解黑盒和白盒测试意味着什么。下面的代码会是白盒测试的一个例子吗?
UserTest.java:
@Test
public void test() {
assertEquals("John", User.name);
}
User.java:
public class User {
private final String name = "John";
}
如果有人能为我提供一个使用JUnit进行白盒测试和黑盒测试的具体例子,那就太好了,因为我看不清其中的区别。
最近,我参加了我的硕士课程软件工程课程的期末考试,其中一个问题是:
Unit Testing is considered:
a. White-box Testing
b. Black-box Testing
c. Either
在我7年的软件开发经验中,单元测试总是采用白盒方法。在编写测试时,测试人员始终对单元的实现有充分的了解。黑匣子测试总是以集成、系统和验收测试的形式出现。
然而,对考试的正确答案(根据教授)是,单元测试可以是白测试,也可以是黑箱测试。
我做了一些研究,似乎很多情况下“黑匣子单元测试”被用来描述一种测试优先的方法,其中单元测试是在代码编写之前编写的。然而,在我看来,这仍然是