본문 바로가기

단위테스트4

TDD, CI, CD 올해 Jolt Awards의 The Best Books에서는 6권의 최고의 책을 선정했고, 그 중에서 Jez Humble과 David Farley가 쓴 Continuous Delivery를 가장 최고의 책(Excellent Book)으로 선정했다. [관련 기사] 기사에서도 말했듯이 이책은 기존 Continuous Integration에서 코드로부터 할 수 있는 모든 것을 자동화시키는 개념을 더 확장하여(응용하여) 가상화(virtualization) 개념을 도입해 배포로 인한 무중단 서비스를 가능하게 하는 방식을 이야기하고 있다. CD에서의 테스트는 오로지 단위테스트(unit test)를 말하고 있으며, 그 테스트 수행 속도 역시 빨라야 한다. 즉, 단위테스트를 하는 범위(coverage)를 최대한 독립적.. 2011. 8. 27.
테스트, 이젠 옵션이 아닌 필수이다. 프로젝트 진행 중에 수많은 산출물들과 수많은 작업들이 있지만, 가장 주요한 그리고 필수적으로 있어야 되는 작업과 산출물은 주로 설계과 소스 코드로 초점을 맞출 수 있습니다. 그 이외에 개발에 지연을 주는 요소들은 모두 선택적인 작업이나 산출물들이 됩니다. 설계 산출물 중에서도 대부분이 클래스 다이어그램을 중심으로 하는 정적 모델을 필수 산출물로 선정하고, 시퀀스 다이어그램과 같은 동적 모델에 대해서도 선택 산출물이라고 얼버무리는 경우도 많습니다. 기본적으로 다이어그램은 선택과 필수라는 식의 접근 방식보다는 해당 산출물이 어떤 이유에서 필요하며 어떤 결과물들을 내기 위해서 사용되어야 하는지에 대한 타당성이 먼저 있어야 하며, 그와 같은 결과물들은 내려면 시퀀스 다이어그램과 같은 동적 모델을 그릴 수 밖에 .. 2011. 7. 11.
조직과 기술 발전 - 테스트 조직 구성 우리는 자리가 사람을 만든다는 이야기를 합니다. 자리는 직책이 될 수도 있으며, 혹은 조직 내에서 역할이 될 수도 있습니다. 결국 하는 일에 그 사람의 자격과 업의 본질을 바꿀 수 있다라는 말일 것입니다. 이를 조직내에서도 그대로 적용해보면 조직 내의 해당 역할을 담당하는 부서를 통해서 해당 기술의 발전을 꾀할 수 있을 것입니다. 소프트웨어를 생산하는 조직은 크게 보면, 전반적인 기본적인 뼈대를 담당하는 아키텍처/인프라를 구성하는 팀과, 여기에 비즈니스라는 살을 입히는 비즈니스 구현팀, 해당 구현된 SW를 검증하거나 품질을 보장하는 품질관리팀 등으로 구성될 수 있습니다. 물론, PMO와 같은 지원을 담당하는 팀이나, 인사나 재무와 같은 업무를 통해 지원하는 팀 역시 프로젝트를 수행하기 위해서 필요한 팀이.. 2011. 1. 12.
비즈니스 로직의 거대화와 테스트 방법의 변화 IT의 사용이 증가하면서 그 넓이(오프라인 업무의 온라인 업무화) 뿐만 아니라, 그 깊이(다양한 유형의 온라인 업무화)까지도 상당한 영역까지 구현의 범위가 넓어지고 있습니다. 따라서, 시스템의 구현에 대한 테스트는 그 입력과 예상되는 출력의 검증 뿐만 아니라, 다양한 경우의 조합(다양한 입력 변수들)을 통한 테스트가 비즈니스적으로 예상하는 형태로 결과값이 얻어지는지에 대한 테스트도 상당히 중요해지는 것 같습니다. 예를 들어, 금융권의 상품들은 다양한 옵션들이 추가되면서 다양한 상품들이 나타나고, 이에 대한 수익율이나 이자율, 환급율과 같은 결과치들이 상품으로써 팔릴 만한 가치인가를 결정하려고 하는 요구들이 강하게 나타나며, 특히, 파생상품의 경우들은 그 결과를 허용오차 범위 내에서 미리 예상할 수 있는 .. 2010. 11. 26.
반응형