inflearn logo
강의

Course

Instructor

Spring Boot JUnit Testing - Bank Application with Security

Creating and Testing an Account Deletion Service

테스트 방식에 관해서 질문이 있어요

292

hoonseung

34 asked

0

안녕하세요

강사님 강의 듣고 많이 배우고 있습니다.

다름이 아니라 테스트 방식에 질문이 있어서 문의 드립니다.

현재 테스트는 서비스 코드를 먼저 짜고 테스트를 진행하는데

테스트 방식에는 테스트 코드를 먼저 짜고 서비스 코드를 만들어가는 형식도 있더라구요..

둘 차이점이 혹시 있을까요..

spring-boot junit 소프트웨어-테스트 tdd 테스트방식

Answer 2

1

metacoding

테스트 코드를 먼저 짜고 실 코드를 만들 수 있고

실 코드를 먼저 짜고 테스트를 코드를 만들 수 도 있습니다.

 

정해진게 없는이유가 있어요.

예를 들어, 나는 간단한 수식 테스트를 하고 싶어요!

 

그러면 수식 테스트는 테스트코드를 먼저짜고, 실코드를 작성하는 것이 맞아요. 더 편하거든요.

 

그런데, 레이어 테스트는 본 코드를 작성한 뒤, 본코드를 테스트해서 메서드를 호출하면서 테스트하는 방식이 더 편해요.

1

communityai8509

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

seunghoonL님, 테스트 방식에 관한 질문 감사드립니다.

테스트 코드를 먼저 작성하는 방식은 TDD(Test-Driven Development, 테스트 주도 개발)이라고 합니다. 이 방식은 실패하는 테스트를 먼저 작성하고, 테스트를 통과하기 위한 코드를 작성하는 과정을 반복합니다. 이를 통해 코드의 품질을 높이고 유지보수를 쉽게 할 수 있는 장점이 있습니다.

반면, 서비스 코드를 먼저 작성하고 이후에 테스트 코드를 작성하는 방식은 일반적인 개발 프로세스에 더 가깝습니다. 개발자는 기능 구현에 집중할 수 있으나, 코드에 대한 심도 깊은 테스트를 할 수 없을 수도 있고, 테스트 커버리지가 낮아질 가능성이 있습니다.

TDD 방식은 코드의 품질과 유지보수성을 중요시하는 프로젝트에 적합하며, 개발 초기 단계에서 비용과 시간이 더 소요될 수 있지만, 장기적으로 보았을 때 소프트웨어의 품질을 높이는 데 큰 이점이 있습니다. 반면, 먼저 서비스 코드를 작성하는 방식은 개발 속도를 우선시할 때 유용할 수 있으나, 테스트 커버리지와 코드 품질에 더 많은 주의를 기울여야 합니다.

두 방식 모두 상황과 프로젝트의 성격에 따라 장단점이 있으므로, 프로젝트 요구 사항과 팀의 작업 방식에 맞춰 선택하는 것이 중요합니다.

요청/응답 DTO 관련 문의

0

170

2

안녕하세요 인증이 필요한 url을 위하여 /s를 붙이는것에 대해 질문있습니다.

0

161

1

validation aop사용에 대해서 질문있습니다.

0

245

2

Dummy 클래스 위치에 대한 질문

0

293

2

스프링 버전업일 경우에는 Pointcut @PostMapping 조건이 달라질까요?

1

434

1

equals와 longValue 관련 질문드립니다

0

329

1

계좌번호를 Long 타입으로 하는 이유가 무엇일까요?!

0

499

2

[정보공유] Hibernate 로그 작동 안하시는 분들!!

3

346

0

UserControllerTest 테스트 실패 문의

0

318

1

스프링 시큐리티 6.2 버전 이후로 apply() 메서드를 이용한 JwtAuthenticationFilter 가 등록이 안됩니다.

2

1107

1

import 오류

0

427

3

spring initializer gradle 에서 3.x.x 대 밖에 없어요. 2.x.x는 보이지 않는데 어떡하져

0

438

2

안녕하세요 로그엔 성공적으로 들어온것같습니다..

0

237

1

JwtAuthorizationfilter test mvc.performget 관련 질문입니다!

0

287

1

JwtAuthorizationfilter test mvc.performget 부

0

226

1

longValue() 질문

0

228

1

jwt 인가필터 규현및 등록

0

334

1

스프링부트 3버전

1

334

1

권한처리를 위한 세션강제주입

0

418

1

JwtVO 를 인터페이스로 만든 이유

0

359

1

계좌 조회 질문드립니다

0

229

1

DummyObject 에 대하여

0

308

2

DTO를 이너클래스로 계속추가하는 이유

0

695

2

Builder 사용 궁금

0

404

1