본문 바로가기

소프트웨어-이야기/테스트-자동화

TDD Coding Dojo - 테스트코드 작성 연습 방법

이번달에 유닛테스트 작성방법 관련 스터디를 시작했다 ㅎㅅㅎ.

진행방식을 조사하다가, TDD KATA, Coding Dojo 라는 학습 방식을 알게되어 정리해보고자 한다.


Coding Dojo 란?

dojo는 일본말이다. 한국말로는 도장이다. 태권도 도장의 도장.

Coding Dojo란, 코딩 배우는 도장을 말한다. 


함께 모여서, 실무가 아닌 연습 문제를 풀어보면서, 여러가지 프로그래밍 스킬을 학습하는 방법론을 의미한다. 


Coding Dojo로 기대하는 바는?

  • 좋은 코딩 습관 익히기
  • 그룹 단위로 학습하기 
  • 의도적으로, 기존과는 다른 스킬들을 익히기 
  • 재밌게 학습하기


Coding Dojo로 얻을 수 있는 스킬은?

단순한 코딩 스킬 뿐만 아니라 공동 학습을 통해 여러가지 스킬을 학습하는게 목표다.

  • 페어프로그래밍 방식
  • Pycharm 같은 IDE TOOL을 사용법
  • TDD ( 테스트 주도 개발 )
  • 리팩토링
  • 점진적으로 일하기 
  • SOLID 원칙으로 개발하기 
  • 객체 지향 주도 개발 등등..


TDD KATA란?

테스트코드 작성을 연습할 수 있는 작은 연습문제들을 말한다.

String Calculator KATA 문제 예시 - http://osherove.com/tdd-kata-1/

String Calculator KATA - Pytest 버전으로 풀어본거 GitHub - tdd-kata/tree/master/chapter-1


Randori - 페이프로그래밍으로 함께 문제 풀어보기 


방법

  • 제한 시간 ( 5~7분 ) 안에, 참여자 1명이 테스트코드를 작성한다. ( 그래서 타이머를 켜두는게 좋다 )
  • 그 다음 참여자는 테스트코드를 통과시키는 코드를 작성한다. 그리고 다음 문제의 테스트코드를 작성한다.
  • 이걸 반복한다.
  • 키보드를 쥐고있는 사람이 코드를 작성하는 키를 쥔다. 만약 방법을 잘 모를 경우, 주변 사람들에게 도움을 요청할 수 있다.
  • 그리고 이러한 도움을 받았다면, 도움을 줘야한다.


TDD Coding Dojo 퍼실리테이션 참고 동영상 강의 

[Pluralsight] Coding Dojo: Test Driven Development 

[Pluralsight] Unit Testing with Python


TDD Coding Dojo 운영 관련 미디엄