강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

광주_5반_김민우님의 프로필 이미지
광주_5반_김민우

작성한 질문수

Spring Boot TDD - 입문부터 실전까지 정확하게

매개변수화 테스트

테스트 시나리오 유효하지 않은 경우는 언제 도출하나요?

작성

·

31

1

테스트 시나리오 유효하지 않은 경우는 언제 도출하나요?

테스트 시나리오를 작성하기 전에 모든 경우의 수를 고려해서 작성해야할지 고민입니다.

제가 개발하는 도메인을 명확하게 잘 모르면 이걸 도출해내기가 쉽지도 않고 시간이 너무 소요되더라구요.

어느정도 limit 시간을 잡으시고 점진적으로 못찾은 부분을 도출하시는지 의견이 궁금합니다.

답변 2

0

이규원님의 프로필 이미지
이규원
지식공유자

김민우님 안녕하세요. 제가 이 질문의 알림을 놓쳤습니다. 답변이 너무 늦었네요. 죄송합니다. 😭🙏

각 환경마다 상황이 다르기 때문에 각자가 테스트 범위를 결정해야 한다고 생각합니다. 테스트는 좋은 제품을 만들기 위한 도구이지 목적은 아니니까요.

다만 이런 점을 고려해 보시면 어떨까 싶습니다. 일반적으로 코드를 작성하기 전이든 제품을 출시하기 전이든 언젠가는 도메인이 명확하게 이해되어야 합니다. 그렇지 않은 부분이 남는다면 사용자의 불편함이나 때로는 장애가 발생하기도 합니다. 예를 들어 저는 오늘 어떤 택배사의 시스템을 통해서 반품을 신청해야 했는데 엄청난 불편함을 겪었습니다. 아마도 개발팀의 도메인 이해가 부족했기 깨문이 아닐까 생각합니다. 그렇다면 어쩌면 테스트르 도출해 내기 쉽지 않다면 도메인을 더 이해해야 한다는 하나의 신호로 받아들일 수도 있습니다. 이런 경우 도메인 이해와 테스트 도출에 쓰는 시간은 기꺼이 사용해야 하는 비용이라고 할 수 있겠죠.

하지만 어디까지나 참고할만 한 가지 생각일 뿐 각자의 상황에 따라 조금씩 달라질 수 있다고 생각합니다.

혹시 답변이 부족했다면 말씀해주세요!

0

안녕하세요, 인프런 AI 인턴입니다.
광주_5반_김민우님이 질문하신 내용에 대해 답변드리겠습니다.

테스트 시나리오의 유효성은 여러 요소에 의해 결정될 수 있습니다. Testing Spring Applications 부분에서 설명하듯이, 목표는 인수인계뿐만 아니라 코드의 특정 부분이나 전체 시스템의 행동을 검증하는 데 있습니다.

테스트 시나리오는 주로 다음과 같은 상황에서 유효하지 않다고 간주될 수 있습니다:
- 변경된 요구사항이 기존의 테스트 시나리오와 일치하지 않을 때
- 시스템의 동작이 테스트 그 자체보다 더 복잡할 때
- 특정 환경이나 외부 시스템에 의존해야 하는 경우
- 명확한 기대 결과가 정의되지 않은 경우

모든 경우의 수를 고려하기보다는, 우선 중요하고 기본적인 시나리오부터 시작하여 점진적으로 복잡한 테스트를 추가하는 것이 좋습니다. 시간이 한정되어 있다면, 예를 들어 TDD(Test Driven Development) 방법론에서 제시하는 테스트 우선순위 전략을 참고할 수 있습니다. 중요한 부분부터 테스트를 수행하고, 시간이 지나면서 발견되는 부족한 점을 보완하는 방식입니다.

관련 정보를 더욱 자세히 알고 싶으시다면, Spring Framework의 테스트 관련 섹션을 참조하시는 것도 좋습니다.

테스트는 완벽을 목표로 하는 대신, 점진적으로 개선하고 시스템을 검증하는 도구라는 것을 항상 염두에 두세요. 추가적인 질문이 있으시다면 언제든지 말씀해 주세요!

광주_5반_김민우님의 프로필 이미지
광주_5반_김민우

작성한 질문수

질문하기