inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Practical Testing: 실용적인 테스트 가이드

Presentation Layer 테스트 (1)

경계값 테스트 작성 시 질문 있습니다.

139

eoyeong

작성한 질문수 57

0

 안녕하세요.

 

경계값을 테스트할 때는 하나의 테스트 메서드 안에 모두 작성하는게 맞는건가요?

상품 등록시 상품 번호의 증가로 예를 들면

  1. 한 자리 -> 한 자리 ( 1 -> 2 )

  2. 한 자리 -> 두 자리 ( 9 -> 10 )

  3. 두 자리 -> 세 자리 ( 99 -> 100 )

     

이런 식으로 작성할 수 있을 것 같은데, 이렇게 경계값에 대한 모든 경우를 한 메서드에 작성하는게 맞는 것 같긴한데, 경계값이 많아지면 좀 알아보기 힘들 것 같아서 여쭤봅니다..

spring tdd jpa mockito 소프트웨어-테스트 junit5

답변 2

1

박우빈

안녕하세요, eoyeong 님!

테스트 케이스와 관련 도메인 정책이 무엇인지에 따라 다를 수 있을 것 같은데요.
만약 테스트 케이스가 여러 경계값을 한 번에 테스트하는 것이 자연스럽다면, 하나의 테스트 메서드 내에 모두 작성할 수도 있고요, 반대로 각 경계값이 그 자체로 테스트 케이스가 된다면, 별도로 작성하는 것이 좋을 것 같아요.

테스트하려는 항목, 케이스의 단위를 고려해서 결정하시면 되겠습니다.

도움이 되셨기를 바랍니다.
감사합니다. 🙂

0

eoyeong

답변 감사합니다 :)

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
ga님, 경계값 테스트에 대한 질문 감사합니다.

경계값 테스트는 입력 값의 경계선 근처에서 시스템의 동작을 확인하는 중요한 테스트 방법입니다. 경계값을 테스트할 때 모든 케이스를 하나의 테스트 메서드에 작성할 수도 있지만, 각 경계값을 개별 테스트 메서드로 분리하는 것이 더 효과적일 수 있습니다. 이렇게 하면 특정 경계 케이스에서 문제가 발생할 경우 원인을 더 쉽게 파악할 수 있습니다.

따라서, 예를 들어:
1. testSingleDigitToSingleDigit()
2. testSingleDigitToDoubleDigit()
3. testDoubleDigitToTripleDigit()

와 같이 각 케이스마다 독립적인 테스트 메서드를 작성하는 것을 추천드립니다. 이렇게 하면 테스트의 가독성도 높아지고 유지보수도 간편해집니다.

추가적인 방법이나 사례가 필요하다면, Spring Boot의 테스트 관련 문서도 참고하실 수 있습니다.

도움이 되셨길 바랍니다!

private 상수 테스트 관련 질문

0

83

1

void는 어떻게 테스트하나요..? void로 애초에 코딩하면 안되나요??

0

125

2

커버리지는 어떻게 활용하시는지 궁금합니다.

0

159

2

테스트 문서화 질문입니다

0

104

2

단위테스트 질문이 있습니다

0

96

2

컨트롤러는 모킹을 한 이유가 궁금합니다.

0

100

2

ERD 가장자리에 있는 도메인 테스트 질문

0

87

2

DTO 검증 필드에 대한 테스트 코드 작성은 어디까지?

0

134

2

OrderCreateRequest DTO에 대해서 궁금한점

0

101

2

고전파의 테스트 대역 사용 대상, 공유 의존성

0

154

2

계층 관련 질문이 있습니다.

0

138

3

'코틀린'에서는 빌더를 따로 쓰지 않는데, 이 때는 어떻게 test fixture를 만드시는지 궁금합니다

1

123

2

혹시 update 로직은 어떻게 테스트하나요? (@Setter?)

0

134

2

단위테스트와 통합테스트의 경계가 궁금합니다.

0

228

2

Service+Repository 통합테스트 관련 질문입니다.

0

150

2

OrderControllerDocsTest 작성 해봤는데요. 날짜 형식이 이상하게 나와요

0

183

2

test 용 .yml

0

89

2

throws Exception

0

78

2

카페키오스크 클래스 문의 ,,

0

87

2

Rest docs 문서용 테스트코드를 따로 작성해야 되나요?

0

172

2

테스트 코드에서 필요한 생성자

0

138

1

tearDown 순서

0

115

2

@Builder 생성자 private

0

136

2

@DisplayName gradle / intellJ

0

93

2