TEST EXIT
품질 검증 활동이 마무리되는 시점이 오면 QA는 언제 테스트를 종료할지, 종료가 가능한 상황인지 판단하여 최종 품질 상태를 평가하고 프로젝트 구성원에게 제품의 출시 가능 여부에 대한 의견을 전달해야 합니다.
그럼, 제품 출시를 위한 최종 품질 결정을 판단하는 근거는 어떻게 얻을 수 있을까요?
프로세스를 도입할 때 각 테스트 단계별 테스트 목표 기준을 설정하고 전체 테스트 수행 결과에 대한 완료 기준을 정량적 수치로 측정할 수 있도록 품질 기준을 도입합니다. 정성적 수치가 아니라 정량적 수치로 기준을 도입하는 이유는 QA에 따라 최종 품질에 대한 평가를 분석함에 있어 그 근거가 다를 수 있고 QA의 견해와 주관적 판단을 근거로하여 품질 담당자에 따라 최종 품질 상태의 간극이 커질 수 있기 때문입니다.
담당자에 따라 최종 품질의 상태가 천차만별이라면 테스트 조직의 품질 보증 활동 전체에 대한 신뢰도가 하락할 수 있습니다. 또 담당자별로 비교해서 특정 리더만 선호하는 현상이 발생될 수도 있습니다. 일정 수준의 품질을 유지하고 품질의 불확실성을 제거하기위해 조직 단위의 공통화된 정량적 품질 기준이 필요한 이유입니다.
테스트 완료 조건과 품질 목표 수준은 회사마다 기준이 다르고 때로는 프로젝트나 도입된 프로세스(애자일 or 워터폴)에 따라 각기 다른 기준을 가질 수 있습니다.
품질 보증 활동이 모두 완료되고 품질 목표 기준을 달성하였다면 테스트가 종료되고 출시 가능한 상태로 판단할 수 있습니다. 품질 보증 활동이 완료되지 않은 경우 추가 일정을 투입하여 테스트를 더 수행할 것인지, 품질 목표를 달성하지 못했다면 목표를 변경할 것인지 상황에따라 또는 잔존한 리스크나 이슈에 따라 프로젝트 관련자와 논의로 결정해야 합니다.
♣︎ 테스트 완료 기준 + 최종 품질 목표 기준 예시
개발 구현 완료율 100%
테스트 조직에서 계획된 품질 보증 활동이 모두 완료되어야 하고 테스트 실행 결과가 완료 조건을 만족해야한다. (ex_테스트 케이스 수행률 100% / 성공률 100%)
잔존 리스크가 없거나 또는 수정되지 않은 경우 대응 방안이 마련되어야 한다.
결함 수정율 : 100% 또는 수정되지 않은 이슈 중 Major 이상 결함이 없어야 한다.
테스트가 마무리 단계에 진입해서도 심각한 결함이 발생되거나 확인되는 결함 수 수치가 높을 때 테스트 종료가 불가하다.
품질 활동 중 권고된 시정 사항이 조치 완료되거나 대응 방안이 마련되어야 한다.
테스트 종료가 불가한 경우 프로젝트 관련자에 제품의 품질 상태 및 테스트 종료가 불가한 원인을 공유하여 제품 출시 여부를 결정하도록 한다.
테스트 완료 기준과 품질 목표에 만족함에도 불구하고 실무 현장에서 간혹 이런 사례들이 확인됩니다. QA가 완료 기준과 품질 목표 자체를 신뢰하지 못해서 오픈 결정을 조언하는 직전까지도 불안해 하는 경우가 있습니다. 이건 정량적 완료 기준이 문제가 되는 것이 아니라 기준에 도달했다고 속이거나, 품질 보증 활동을 신뢰하지 못할 때 발생됩니다. 예시로 준비된 테스트 케이스가 주요 기능이나 리스크를 누락해서 테스트 결과를 신뢰하지 못하는 상황이 발생되거나 테스터가 테스트 케이스를 수행하지 않고 얼렁뚱땅 결과만 기입하고 넘어간 케이스를 경험하는 경우를 들 수 있습니다.
품질을 검증하고 책임져야 할 담당자가 품질을 의심한다면 어느 누가 제품을 신뢰할 수 있을까요? QA가 먼저 제품의 품질을 확신할 수 있어야 합니다.
품질 보증 활동 마무리 단계에서 이런 일이 발생되지 않도록 QA는 테스트 프로세스 전반에 걸쳐 테스트 제어 활동을 수행해야 합니다.
테스트 제어 활동
QA가 테스트 케이스를 작성하지 않는 경우라면 명확한 테스트 범위와 리스크 요소를 사전에 공유한다.
제품이 충족해야 될 품질 수준 / 품질 특성(기능성, 효율성, 신뢰성 등) / 테스트 전략을 상세히 전달한다.
작성된 테스트 케이스에서 누락된 부분이 없는지 테스트 케이스를 리뷰하고 수시로 진행상황을 검사한다.
테스트 실행 중에는 QA도 참여하여 테스트 진행 상황을 컨트롤한다.
달성해야 할 제품의 품질 목표에 포커싱을 두고 프로젝트가 진행되는 동안 지속적으로 테스트 활동을 모니터링하고 계획과 테스트 진행 상황을 비교하여 필요 시 마다 발생되는 차이에 대해 조치를 취해야 합니다. 이것이 만족될 때에 QA는 품질에 대한 확신을 가지고 테스트 종료를 선언할 수 있습니다.