강의

멘토링

커뮤니티

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

박민지님의 프로필 이미지
박민지

작성한 질문수

초보 기획자/PM을 위한 Test Case 작성 및 QA 노하우

통합 테스트에서 TC 커버리지를 어디까지 고려해야할까요?

작성

·

27

0

안녕하세요, 강의 잘 듣고 있습니다!

Test Case 포트폴리오 작성을 위해 본 강의를 수강중인 수강생입니다!

 

통합 테스트 수행 시 통합 테스트 케이스는 유저 시나리오 대로 작성하는 것이 일반적인 것 같은데,
유저 시나리오에서는 사용하지 않지만 스템적으로는 고려해야 할 예외 상황이나 경계 조건 등은 테스트 케이스에 어떻게 반영해야 할까요?

예를 들어, API 간 연동 실패, DB 연결 지연, 특정 조건에서 발생하는 에러 등은 유저 플로우 상에는 없지만 실제 운영에서는 충분히 발생 가능한데,
이런 케이스들을 통합 테스트 수준에서 어떻게 설계하거나 커버하는 것이 실무적으로 바람직한 접근일까요?

 

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

박민지님, 강의를 잘 듣고 계신다니 기쁩니다!

통합 테스트에서는 유저 시나리오를 중심으로 테스트 케이스를 작성하되, 스템적으로 중요한 예외 상황과 경계 조건을 함께 고려하는 것이 중요합니다. 일반적인 유저 플로우 외에도 다음과 같은 예외 및 경계 조건을 포함하는 테스트 케이스를 작성하는 것이 실무적으로 바람직합니다:

  1. API 연동 실패: Mock 서버를 사용하여 API가 실패하는 경우를 시뮬레이션하고, 이에 대한 적절한 핸들링을 확인합니다.

  2. DB 연결 지연 및 실패: 타임아웃이나 DB의 연결 차단을 의도적으로 발생시켜 응용 프로그램이 이러한 상황에서도 제대로 동작하고 있는지를 확인합니다.

  3. 특정 조건에서 발생하는 에러: 입력값의 경계 조건을 테스트하여, 예상 외의 데이터가 들어올 때 시스템이 견고하게 처리하는지 확인합니다.

이처럼 예외 상황을 시뮬레이션하는 방법으로는 주로 Mocking 기술이나 Testcontainers, Spring의 테스트 지원 등을 활용할 수 있습니다. 특히, Spring Boot의 spring-test 모듈이나 spring-boot-starter-test “Starter”를 통해 쉽게 테스트 환경을 구축할 수 있습니다.

실제로, 통합 테스트 수준에서 이러한 예외 상황을 다루는 것은 시스템의 신뢰성을 높이고, 운영 단계에서 발생할 수 있는 문제를 사전에 발견하여 예방할 수 있도록 도와줍니다.

추가적인 정보는 Spring Boot Reference Documentation에서 찾아보실 수 있습니다. 도움이 되었기를 바랍니다. Happy Testing!

박민지님의 프로필 이미지
박민지

작성한 질문수

질문하기