최근에 석사 프로그램을위한 소프트웨어 엔지니어링 과정에 대한 최종 시험을 보았으며 시험 문제 중 하나는 다음과 같습니다.
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.
-네,하지만 시험 자체 는 그렇지 않습니다. 화이트 박스 테스트 란 변수의 값과 같이 메서드 나 클래스 내부의 무언가를 테스트하는 것을 의미합니다. 테스트 작성자가 테스트중인 코드의 모양을 알고있는 것은 아닙니다.