2015년 11월 14일 토요일

지속적 통합을 손쉽게 적용하는 다섯 가지 방안

지속적 통합은 SW 통합에서 발생할 수 있는 중요한 문제들을 줄여주고 보다 빠르게 응집력 높은 소프트웨어를 개발할 수 있다는 점에서 널리 쓰이고 있습니다 . 본 원고에서는 지속적 통합 시 오류 발생을 억제하고 피할 수 있는 효과적인 방안 ( 빌드 관리 전략 수립 , 빌드 / 배포시기 관리 , 인수테스트 통과 후 탐색테스트 수행 등 ) 을 제공합니다. 

소프트웨어 공학에서 , 지속적인 통합 (continuous integration, CI) 은 지속적으로 품질관리를 적용하는 프로세스를 실행하는 것을 의미하며, 작은 단위의 작업 , 빈번한 적용 , 지속적인 통합은 모든 개발을 완료한 뒤에 품질관리를 적용하는 고전적인 방법을 대체하는 방법으로서 소프트웨어의 질적 향상과 소프트웨어를 배포하는데 걸리는 시간을 줄이는데 초점이 맞추어져 있습니다.

지속적 통합 시 발생하는 문제점 확인 및 보완 할 수 있는 방안
  1. 빌드 관리 전략 수립
  2. 잘못된 오류에 대한 근절
  3. 빌드 / 배포 시기 관리
  4. 인수테스트 통과 후 탐색테스트 수행
  5. 분산된 팀을 위한 명확한 기대 설정

디자인 패턴 자동화 Part 1

디자인패턴 자동화 개념 및 디자인 패턴 적용


소프트웨어 개발 프로젝트의 규모는 점점 커지며 복잡해지고 있다 . 전문가들은 프로젝트가 복잡해질수록 소프트웨어 개발 비용과 유지보수 비용은 더욱 증가하며 , 하드웨어 비용을 초과하게 될 것으로 예상하고 있다.
소프트웨어 규모와 개발 및 유지보수 비용간의 관계는 초선형 (Super-liner) 관계에 있다 . 결국 소프트웨어 규모가 크고 복잡할수록 개발과 유지보수를 위한 우수한 엔지니어를 필요한 반면 우수한 엔지니어를 고용하고 지속적으로 보유하는 것은 어렵게 된다 .

디자인 패턴은 이러한 문제점을 해결할 수 있는 SW 공학을 위한 강력한 도구의 일종으로 , SW 설계에서 자주 나타나는 문제를 위해 이미 개발되어 있는 해결 방법이며 , 많은 디자인 패턴들이 축적되면서 그 효용성이 증대되고 있다 .
  • 보일러판 코드의 문제점
  • 디자인 패턴 자동화 및 컴파일러 확장

효과적인 SW자동화 테스팅 수행을 위한 FAQ

대부분의 SW 품질관리 전문가들은 SW 자동화 테스팅을 매우 효과적인 것으로 평가하고는 있으나 , 자동화 테스팅과 수동 테스팅을 구분해서 수행해야 할 최적시기를 선택하는 것은 여전히 의문사항으로 남아 있습니다 . 이를 위해 본 보고서에서는 SW 자동화 테스팅의 수행에 있어 가장 많이 제기되는 질문들에 대한 적절한 답변을 제공하고자 합니다 .

- SW 자동화 테스팅 수행을 위한 FAQ - 
1. SW 자동화 테스팅이란 ?
2. 자동화 테스트를 수행해야 하는 경우는 무엇인가 ?
3. 테스트 자동화의 우선순위는 무엇인가 ?
4. 수동 테스트에 적합한 테스트의 종류는 무엇인가 ?
5. 자동화 테스트 선택 시 주의해야할 사항은 무엇인가 ?
6. 팀의 지속적인 테스트 자동화 성공 방법은 무엇인가 ?

마이크 콘의 테스트 자동화 피라미드