개념: 품질에 계속 초점을 맞춤
이 원리는 품질을 소개하고 프로세스를 통해 품질을 처리하는 방법에 대해 설명합니다.
기본 설명

소개

이 원리는 프로젝트 라이프사이클을 통해 품질을 달성해야 함을 강조합니다. 반복적 프로세스는 많은 측정 및 정정 기회를 제공하므로 품질 달성에 특히 적합합니다.

            
이점
  • 고품질
  • 진행상태 및 품질의 초기 파악
패턴
  1. 제품 품질에 대한 팀 소유권을 확인합니다.
  2. 시연 가능한 기능 통합과 보조를 맞추어 초기부터 지속적으로 테스트합니다.
  3. 점진적으로 테스트를 자동화합니다.
안티패턴
  • 통합 테스트 전에 모든 아티팩트를 상호 검토하고 모든 유닛 테스트를 완료합니다.
  • 모든 중간 아티팩트에 대한 심층적 상호 검토를 수행합니다. 이 작업은 응용프로그램 테스트 및 주요 문제 식별을 지연시키므로 생산성을 저하시킵니다.
  • 통합 테스트 수행 전에 주요 문제 식별을 다시 지연시키는 모든 유닛 테스트를 완료합니다.

논의 

품질 개선은 단순히 "요구사항 충족", 또는 사용자 요구 및 기대를 충족시키는 제품 생산을 의미하지는 않습니다. 오히려, 품질은 달성 정도를 보여주는 척도 및 기준 식별, 제품이 원하는 품질 정도를 달성했는지와 이 성능이 반복되고 관리될 수 있는지를 확인하기 위한 프로세스 구현을 포함합니다.

고품질을 보장하려면 테스트 팀이 참여하는 것 이상이 요구되고 전체 팀이 품질에 참여해야 합니다. 모든 팀 구성원과 라이프사이클의 모든 파트를 필요로 합니다.

  • 분석가는 요구사항이 테스트 가능한지와 수행해야 할 테스트를 위해 명확한 요구사항을 지정하는지를 확인해야 할 책임이 있습니다.
  • 개발자는 테스트를 염두에 두고 응용프로그램을 디자인하고 해당 코드의 테스트에 대해 책임을 져야 합니다.
  • 관리자는 올바른 테스트 계획이 수립되어 있는지와 테스트웨어 빌드 및 필수 테스트 수행을 위한 올바른 자원이 마련되어 있는지를 확인해야 합니다.
  • 테스터는 품질 전문가입니다. 테스터는 나머지 팀원이 소프트웨어 품질 문제를 이해하도록 안내하고 모든 제품 테스트(예: 기능, 시스템 및 성능)에 대한 책임을 집니다.

품질 문제에 직면하면, 모든 팀 구성원은 해당 문제를 처리하기 위해 기꺼이 협력해야 합니다.

반복적 개발의 주요 이점 중 하나는 아래에 설명된 대로 초기부터 지속적으로 테스트 접근 방식이 사용 가능한 점입니다. 프로젝트가 끝날 때까지 가장 중요한 기능은 초기부터 구현되어 가장 필수적인 소프트웨어가 여러 달 동안 활발히 실행될 수도 있으므로 수개월 동안 테스트를 받게 될 가능성이 있습니다. 반복적 개발을 채택한 대부분의 프로젝트에서 품질 향상이 개선된 프로세스의 가장 중요한 결과라고 주장하는 것은 놀라운 일이 아닙니다.

각 반복에서 개발된 소프트웨어는 빌드되는 대로 테스트됩니다. 회귀 테스트를 통해 새로운 결함이 이 프로세스에서 발생되지 않도록 합니다.

테스트는 초기에 시작되고 반복 시마다 확장됩니다.
반복적 개발 시 초기 테스트를 사용합니다. 각 반복에서 개발된 소프트웨어는 빌드되는 대로 테스트됩니다. 회귀 테스트를 통해, 새로운 반복이 기능성을 추가함에 따라 새로운 결함이 발생하지 않도록 합니다. 참조: 지원 자료: 품질 관리.

응용프로그램을 점증적으로 빌드하면서 점진적으로 테스트를 자동화하여 초기에 결함을 발견하고 선행 투자를 최소화해야 합니다. 시스템을 디자인할 때 시스템의 테스트 방법을 고려해야 합니다. 올바르게 디자인을 결정하면 테스트를 자동화할 수 있는 능력이 크게 향상될 수 있습니다. 또한 디자인 모델에서 직접 테스트 코드를 생성할 수도 있습니다. 그 결과로 시간이 절약되고, 초기 테스트에 동기가 부여되고, 테스트 소프트웨어에서 버그 수를 최소화하여 테스트 품질이 향상됩니다. 자동화된 테스트는 무엇보다도 Agile 커뮤니티에 대한 중점 핵심 영역이므로, 모든 코드 테스트를 자동화하는 데 목적이 있고 코드가 작성되기 전에 테스트가 먼저 작성되는 테스트 우선 디자인입니다.