커뮤니티 여러분의 자유로운 이야기를 나눌 수 있는 공간입니다.

열린 게시판

현재 페이지 경로 메인>커뮤니티>열린 게시판

[일반]개발자 분들 혹시 테스트 코드라고 아시나요?

작성자 정보
작성자
Oracle
작성일
2020.06.26 15:10
조회
3440

TDD와 단위 테스트의 간단한 차이부터 생각해보자.

TDD

TDD는 테스트가 주도하는 개발을 의미한다. 테스트 코드를 먼저 작성하는 것 부터 시작한다.

레드 그린 사이클
  1. RED - 항상 실패하는 테스트를 먼저 작성하고,
  2. Green - 테스트가 통과하는 프로덕션 코드를 작성하고,
  3. Refactor - 테스트가 통과하면 프로덕션 코드를 리팩토링한다.

 

단위 테스트

이번 포스팅의 메인이라 할 수 있다. 

단위 테스트는 TDD의 첫 번째 단계인 기능 단위의 테스트 코드를 작성하는 것을 의미한다.

TDD와는 다르게, 레드 그린 사이클을 따라할 필요가 없다.

 

테스트 코드는 왜 작성해야 하는가?

  1. 단위 테스트는 개발단계 초기에 문제를 발견하게 도와준다.
  2. 단위 테스트는 개발자가 나중에 코드를 리팩토링 하거나, 라이브러리 업그레이드 등에서 기존 기능이 올바르게 작동하는지 확인할 수 있다. (ex: 희귀 테스트)
  3. 단위 테스트는 기능에 대한 불확실성을 감소시킬 수 있다.
  4. 단위 테스트는 시스템에 대한 실제 문서를 제공한다.
    - 단위 테스트 자체를 문서로 사용할 수 있다.
  5. System.out.println과 같이 출력된 데이터를 통해 눈으로 검증할 필요가 없어진다.
  6. 개발자가 만든 기능을 안전하게 보호한다.

5번의 경우 아주 중요한 장점이다. 작은 프로젝트라면 단순 출력데이터로 결과를 눈으로 검증하는것이 큰 문제로 작용하지 않는다. 하지만, 프로젝트의 규모가 거대해진다면, 단순히 서버 On / Off 만으로 엄청난 시간을 들이게될 수 있다. 테스트 코드의 경우 자동으로 결과를 검증해주기 때문에 더이상 수동검증은 필요가 없어진다.

6번의 경우, B라는 기능이 추가되어 테스트하는데, 기존에 잘되던 A의 기능에 문제가 생긴것이 발견되는 경우가 있다. 규모가 큰 프로젝트에서 빈번하게 발생하는 문제점인데, 이것을 방지하기 위해 프로젝트 내 모든 기능을 테스트 할 순 없다. 따라서 새로운 기능이 추가될 떄, 기존 기능이 잘 작동되는 것을 보장해주는 것이 테스트 코드다.

jojoldu 개발자는 테스트 코드를 서비스 기업에서는 특히나 강조되고 있어 100% 익혀야 할 기술이자 습관 이라 얘기했다.

 

xUnit 프레임워크

  1. Junit - Java
  2. DBUnit - DB
  3. CppUnit - C++
  4. NUnit - .net


이거라도 하시면 욕을 덜 드실거같은데요 

프로필이미지

이름
Oracle
기타정보
Lv.75 카스티야

가문정보 최근게시물

글 목록 (열린게시판)
번호 월드 구분 제목 작성자 작성일 조회 추천
NOTICE - -
둘로 나뉘어진 운명, 지즈 & 실라엔 안녕하세요, 운영자 L 입니다.오늘 소개해드릴 캐릭터는 바로![지즈] 그리고! [실라엔] 입니다.[2024 봄 ~ 여름 업데이트 미리보기] 개발자...
캐라콘 2024.04.16 10917 -
NOTICE - -
2024 상반기 전투 밸런스 조정 안내 안녕하세요, 큐레이터 L 인사드립니다??이번 개발자 노트에선 [2024 상반기 캐릭터 전투 밸런스 조정]이 어떻게 이루어질지, 어떤 캐릭터에...
캐라콘 2024.04.02 22735 -
NOTICE - -
2024 복귀자 혜택 개편 안내 안녕하세요. 18주년 이벤트 많은 분이 즐겨주고 계셔서 너무나도 뿌듯합니다??소식을 듣고 다시 GE를 찾아주시는 개척 가문 여러분들도 속...
캐라콘 2024.02.20 31130 -
NOTICE - -
[안내] 클라이언트 설치/실행 장애 FAQ 안녕하세요. 그라나도 에스파다 GM팀 입니다.최근 클라이언트 설치/실행 장애에 대한 이슈가 발생하고 있는 부분이 확인되어 관련 문제에 ...
캐라콘 2021.02.05 133362 -
227094 -질문
원본을 삭제한 게시물입니다. [2] 원본을 삭제한 게시물입니다.
- 2024.02.29 1148 -
227091 퍼플(신규)일반
이벤트 당첨 언제 주나욤? [2] 아직 소식이 없네요^^..
세희 2024.02.29 741 0
227090 카스티야일반
18주년 이벤트 효과 정리 [2] 1. 프랜스펄 포션, 트라이엄프 포션, 스테로이드 포션 천개 이상씩 보유2. 아르모니아 셋트 무적권 보유3. 발레론 악세 피스 1개라도 보유4...
초등학생 2024.02.29 1178 0
227089 리볼도외일반
사전 점검은 없나요 [2] 점검을 빨 리 합시다사전 점검 도입 요망
ω 2024.02.29 731 0
227088 퍼플(신규)일반
18주년 보상 빨리 받으세요 [1] 오늘까지 인걸로 알아요.
클라우디 2024.02.28 1054 1
227087 퍼플(신규)질문
18주년 보상 교환 뭐부터 받아야 하나요?... [3] 처음이라 아무것도 몰라요...ㅜㅜ도와주세용~~
파멸의손길 2024.02.28 1081 0
227086 리볼도외일반
되나 어어 되냐고
ω 2024.02.28 1168 0
227085 카스티야일반
카르멘 상향 및 버프 개선 요구 [7] 카르멘 강력한 한방이 컨셉아닌가요? 컨셉처럼 강력하지 않음, 1. 아리아 버프 >>> 지속시간짧고 , 시전시간 길고 사용하기 불편...
반◑ 2024.02.28 1225 5
227084 리볼도외일반
500개까지 증량 해줘 뻬애애애앵 창고애 잡템 팔아야 된단 말이야
ω 2024.02.28 589 0
227082 카스티야일반
이거 신기하네 [1] 몹들이 킵모드하면 옆으로 도망가서 지들끼리 애무하네영자 이생키들 기술자네 ,,, 그거 경험치 얼마된다고연구한다고 수고했다 해주고싶지...
가야공원그 2024.02.28 1296 0
227081 리볼도외일반
18주년 보상 교환기’ NPC 삭제 연기 요... [3] 많은 시간동안 모은거 교환하려면 시간이 많이 소모 될텐데18주년 보상 교환기’ NPC 일주일 후에 삭제 해 주는걸로 하면 안되나요?
님프 2024.02.27 1418 11
227079 카스티야질문 샤방방 2024.02.27 1051 0
227078 카스티야일반
패치가안대여.. 어쩜 뭐하나 제대로 하는게 없으신지..
장프로 2024.02.27 626 0
227077 카스티야일반
마성 아르모니아 깨기 [1] 보스 피가 전혀 달지 않습니다. 성수를 먹어야 하나요
파이삼지안 2024.02.27 1122 0
227076 카스티야일반
18 주년 O X 퀴즈 답 - 다른분이 올린거 ... [3] 원주율 파이는 3.14이다 O시속 100k로 유지 500k 5시간 O3 - 3 x 3 = 0 X3x3x3x3 = 9x8 X7x7x7x7 = 49x49 O0.5 x 0.5 = 0.25 O불사조의 불...
우리의뜻 2024.02.27 1122 0
227075 퍼플(신규)일반
윈도우11 채팅문제 해결법 [2] 시작>설정>시간 및 언어>언어 및 지역>언어>한국어>메뉴>언어옵션>키보드>MICROSOFT 입력기>메뉴>키보드...
나루메아 2024.02.27 631 0
227074 리볼도외일반
아니.. 왜 오랜만에 복귀 했는데.. 왜 다... 아니.. 왜 오랜만에 복귀 했는데.. 왜 다들 팔벌려 뛰기 하고 있지..
k.k 2024.02.27 771 0
227073 퍼플(신규)일반
그라 갓겜 [2] 드디어 오픈 초기부터 신복섭만 하던 나에게 행운을 줬네요한창 안하다가 오늘 신복섭 복귀하자마자 나에게 이런 기쁨을 주다니맨날 가챠 ...
RINDAMAN 2024.02.27 850 0
227072 퍼플(신규)일반
그라M 채신근황 [6] https://cafe.naver.com/granadoespadam/20620운영자가게임아이템을비공식적으로일부 유저에게 뿌림;
치즈퐁뒤 2024.02.27 1452 0
227071 리볼도외일반
곧 퇴근하고 육아하러 가야하는데 그라 M... [2] 곧 퇴근하고 육아하러 가야하는데 그라 M 상황 한짤로 보여드리고 갑니다.
절약요정 2024.02.26 1096 1

최근 10,000건의 게시물에서 검색한 결과입니다.
더 많은 검색을 원하시면 [다음 검색] 버튼을 클릭해 주세요.

통합검색

통합검색

배너 모음

베너 모음