티스토리 뷰

반응형

1) 요구사항

- 계산 능력을 훈련하는 애플리케이션 개발

- 사용자가 페이지 접속할 때마다 두 자릿수 곱셈을 보여줌

- 사용자는 암산으로 계산한 결과와 닉네임 입력

- 사용자가 데이터를 전송하면 화면에 결과(성공 또는 실패)가 나타남

- 문제를 풀어서 얻은 점수로 결과 페이지에 사용자들의 순위를 보여줌

 

> 사용자 스토리 1

- 온라인에서 무작위로 생성되는 곱셈 문제를 풀고 싶다

- 매일 암산으로 두뇌 훈련을 해야 하니까 문제는 너무 쉽지 않으면 좋겠다

>> 1. 비즈니스 로직을 제공하는 기본적인 서비스 만들기

     2. 해당 서비스를 사용할 수 있는 REST API 엔드포인트(endpoint) 만들기

     3. 사용자에게 문제를 보여주는 간단한 웹 페이지 만들기

 

+) 스프링 부트 애플리케이션 구조 만들기 사이트 : http://start.spring.io 

 

- TDD가 개발자들에게 좋은 이유 : TDD로 요구사항에 대해 더 깊이 있게 생각할 수 있다

   ㄴ 테스트 코드를 먼저 작성하면 특정 상황에서 코드가 어떻게 동작하지 생각하게 되면서 애매한 요구사항은 명확히 하고

유효하지 않은 요구사항은 거부할 수 있다

   ㄴ 코드를 너무 반복적으로 리팩토링하려는 생각과 테스트만 통과시키고 나중에 리팩토링하려는 생각 가운데서 균형을 잡아야 한다

 

- 목 객체 : 실제 모듈과 비슷하게 동작하도록 정의한 가짜 객체

                 진자 객체가 아직 구현되기 전이나 진짜 객체로 테스트하기 어려운 경우 목 객체로 테스트를 작성할 수 있다

- 행위 주도 개발(BDD - Behavior Driven Development)

    : TDD에서 파생된 개발 방법으로 테스트 작성 시 사용자가 원하는 행위에 중점을 둔다

      따라서 팀원 또는 고객과의 의사소통 과정에서 모호한 내용을 줄일 수 있다

      테스트를 더 읽기 쉽게 해주고 요구사항을 정의하는 데 도움이 된다

 

* TDD의 이점

- 테스트를 작성하면서 요구사항을 코드로 바꿀 수 있다

- 테스트 가능한 코드를 만들게 된다

- 중요한 로직에 초점을 맞추고 나머지는 나중에 구현할 수 있다

 

 

- 더 찾아볼 것

+ @Autowired가 생성자에 붙어 있으면 무슨 의미인지 찾아보기

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함