화이트박스 테스트(White-box testing)는 소프트웨어 테스트의 한 유형으로, 소프트웨어 내부의 코드와 구조에 중점을 둔 테스트 방법입니다. 화이트박스 테스트는 코드의 로직, 분기, 루프, 조건 등을 검증하여 소프트웨어가 기대대로 동작하는지 확인합니다. 다른 이름으로는 구조 테스트(Structural Testing) 또는 명시적 테스트(Transparent Box Testing)라고도 불립니다. 화이트박스 테스트의 주요 특징과 방법은 다음과 같습니다. 테스트 대상 화이트박스 테스트는 주로 소프트웨어의 내부 구조, 코드, 알고리즘 등을 검증합니다. 특정 모듈, 함수, 클래스, 메소드, 블록 등 코드의 작은 부분에 대한 테스트를 수행할 수 있습니다. 테스트 수준 유닛 테스트(Unit Testing)..
"험블 객체(Humble Object)"는 소프트웨어 개발에서 사용되는 디자인 패턴의 하나입니다. 이 패턴은 테스트하기 어려운 동작을 가진 코드를 "험블 객체"로 분리하여, 나머지 시스템은 테스트 가능하도록 하는 것을 목표로 합니다. 이렇게 함으로써, 시스템의 대부분이 단위 테스트를 통해 검증될 수 있습니다. 험블 객체 패턴은 주로 두 가지 상황에서 사용됩니다: GUI와 로직의 분리 사용자 인터페이스 코드는 테스트하기 어렵기 때문에, 이를 로직과 분리합니다. 로직 부분은 테스트가 가능하도록 만들고, GUI 코드는 가능한 한 단순하게 유지합니다. 환경 의존적 코드와의 분리 데이터베이스 연결이나 네트워크 통신과 같은 환경 의존적인 코드는 테스트하기 어려울 수 있습니다. 이러한 코드를 별도의 험블 객체로 분리..
버전 정보 Java 1.8 Spring Boot 1.4.6.RELEASE Class 정보 @Service("compositionService") public class CompositionService { private final DependencyBean dependencyBean; public CompositionService(DependencyBean dependencyBean){ this.dependencyBean = dependencyBean; } // business methods... } Mock을 이용한 JUnit setup @RunWith(MockitoJUnitRunner.class) public class TestClazz { @Mock DependencyBean dependencyBe..
면접을 보고 나서 제가 사용한다고 말하고 다닌 TDD는 TDD가 아니라는 걸 알게 됐습니다. 구현한 메서드가 어떻게 실행되는지만 확인하는 테스트 메서드일뿐이었습니다. 강의를 듣고 수준이 올라오면 책을 통해 학습하는 게 좋을 것이란 조언을 듣고, 패스트 캠퍼스에서 'TheRED:백발의개발자를꿈꾸며:코드리뷰,레거시와 TDDby백명석,최범균' 강좌를 수강 후 TDD에 대해 공부하였고 해당 내용을 정리해 보고자 합니다. TDD란? 테스트 주도 개발(Test Driven Development)는 만들고자 하는 기능의 내용을 담고 있으면서 만들어진 코드를 검증도 해줄 수 있도록 테스트 코드를 먼저 만들고, 테스트를 성공하게 해주는 코드를 작성하는 방식의 개발 방법입니다. 테스트 코드 구조 기능과 상황 주어진 상황에..