안드로이드에서 TDD로 개발하기 (1)

hyejineee🧞‍♂️·2021년 1월 20일
3

안드로이드

목록 보기
1/4

TDD는 무엇인가요?

TDD란 실제 동작하는 코드를 작성하기 전에 테스트를 먼저 작성함으로 개발의 흐름을 테스트로 끌고 가는 개발 방법이다. 개발자는 먼저 자신이 구현할 기능에 대해서 테스트를 작성하고 테스트를 통과하는 코드를 작성함으로 수행 결과가 보증된 소프트웨어를 개발해 간다.

TDD는 일반적으로 다음 세 단계를 반복 하면서 진행된다.

  • Red
    : 개발 하고자 하는 기능을 정의하는 테스트 케이스를 작성한다. 아직 구현되어 있는 내용이 없기 때문에 테스트에 실패한다.
  • Green
    : 테스트를 통과하기 위한 최소한 양의 코드를 작성한다.
  • Refactor
    : 불필요한 코드를 삭제하고 표준에 맞도록 코드를 수정한다. 리팩토링시 테스트 케이스가 깨져 다시 red로 돌아갈 수 있다.

테스트 코드를 왜 작성해야 할까요?

테스트 주도 개발은 프로그래머의 복식 부기라고 할 수 있다. 구현해야 하는 동작을 두 번씩 입력한다. 한 번은 테스트로, 그리고 한 번은 이 테스트를 통과하게 만드는 제품 코드로 말이다.

위의 내용은 클린 애자일에서 기술 실천 방법에서 나오는 말이다. 이 글을 읽고 수능 시험 때 마킹 확인을 두번 씩 했던 일이 생각났다. 마킹을 두 번씩 확인하면 첫 번째 마킹 때 실수했던 답을 찾아서 고칠 수 있다. 또 애매한 답에 대해서는 한 번 더 생각해 볼 수 있게 한다. 나는 테스트 코드를 작성하는 일도 마찬가지라고 생각한다.

테스트는 매우 중요하다.⭐️ 실제로 나는 과거 경험으로 인해 테스트 코드 없이 앱이 배포되는 것이 얼마나 끔찍한지 안다. 그러기에 테스트 코드는 매우 중요하다. 매우매우🤪

테스트는 사용자에게 애플리케이션의 안전성을 보장할 수 있도록 하는 최소한의 장치다. (테스트가 100%안정성을 보장하지는 않는다.) 다음은 안드로이드 문서에 있는 테스트를 작성했을 때 얻을 수 있는 이점들이다.

  • 장애에 관한 신속한 피드백
  • 개발 주기에서 조기 장애 감지
  • 회귀에 신경 쓸 필요 없이 코드를 최적화할 수 있도록 하는 더 안전한 코드 리팩터링
  • 기술적 문제를 최소화하는 안정적인 개발 속도

테스트 코드는 이와 같은 이점들을 제공하면서 애플리케이션 개발에 들어가는 비용을 줄여준다.

profile
여기 저기 관심이 있는 안드로이드 개발자 입니다. 🤟🏻🤟🏻

0개의 댓글