웹 사이트 제작의 기본 과정은 구현 → 웹 브라우저로 직접 확인 → 성공 → 개선점 찾기를 반복한다.
- 구현: 만들고 싶은 요소를 떠올리고 소스 코드를 작성
- 웹 브라우저로 직접 확인: 웹 브라우저로 들어가서 잘 작동하는지 일일이 테스트
- 성공: 제대로 작동하기 않으면 다시 소스 코드를 들여다보고 수정하면서 성공시킴
- 개선점 찾기: 다음에는 무엇을 더 개선해야 할지, 무엇을 개발해야 할지 고민을 한 후 다시 구현
단순한 웹 사이트를 만들 때는 위 방식이 효율적일 수 있지만, 모델의 구조가 복잡하고, 기능이 다양하고 페이지도 많은 웹 사이트를 만들 때는 프로그램이 복잡해질수록 추가한 기능 사이에 상호 연관성이 점점 늘어나기 때문에 효율적이지 않을 수 있다.
하지만 개발할 프로그램이 복잡해질수록 매번 소스 코드를 테스트하는 것은 매우 번거롭기 때문에 테스트 주도 개발 방식을 사용하여, 개발한 코드가 테스트를 만족하는지 자동으로 확인하면서 개발을 진행한다.
테스트 주도 개발(Test Driven Development, TDD)은 무언가를 개발할 때 바로 개발부터 하는 것이 아니라 개발하려는 하아목에 대한 점검 사항을 테스트 코드로 만들고 그 테스트를 통과시키는 방식으로 개발을 진행하는 방법이다.
테스트 주도 개발 과정은 테스트 코드 작성 → 기능 구현 → 리팩토링 순이다.
- 테스트 코드 작성: 만들고 싶은 기능을 점검할 코드 작성
- 기능 구현: 테스트 코드를 만족시킬 수 있게 기능을 구현
- 리팩토링: 기능의 성능을 향상시키거나, 재사용성이 좋거나, 가독성이 좋은 코드로 개선
터미널에서 다음과 같이 테스트 코드를 입력하면 테스트 실행 결과가 나타난다.
python manage.py test
blog/tests.py의 6번째 줄 결과가 2 != 3이므로 테스트가 실패했다는 의미이다.
테스트에 성공하면 다음과 같이 OK 메시지가 출력된다.
반응형