예비 테스트
예비 테스트가 무엇인지 그리고 그 역사에 대해 알아보세요. 예비 테스트의 장단점, 스크립트 테스트와 어떻게 다른지, 적절한 사용 컨텍스트를 알아보세요.
Deepak Parmar
기고 작가
예비 테스트는 종종 동시 학습, 테스트 설계, 실행으로 설명되는 소프트웨어 테스트에 대한 접근 방식입니다. 발견에 초점을 맞추고 개별 테스터의 안내에 따라 다른 테스트 범위에서는 쉽게 다룰 수 없는 결함을 찾아냅니다.
예비 테스트 관행은 최근 몇 년 동안 추진력을 얻었습니다. 테스터와 QA 관리자는 포괄적인 테스트 커버리지 전략의 일부로 예비 테스트를 포함하는 것이 좋습니다.
예비 테스트의 역사
예비 테스트는 오래 전부터 있었지만 종종 '임시 테스트'라고 불렸습니다. "예비 테스트"라는 용어는 소프트웨어 테스트 전문가인 Cem Kaner가 그의 고전 저서인 Testing Computer Software에서 공식적으로 처음 등장했습니다.
이제 유명해진 그 소개는 다음과 같습니다. “얼마나 많은 유형의 테스트 케이스를 만들든 언젠가는 공식적으로 계획한 테스트가 바닥날 것입니다. 계속 테스트해도 됩니다. 테스트를 준비하거나 설명하는 데 많은 시간을 들이지 말고 생각나는 대로 새로운 테스트를 실행하세요. 직감을 믿으세요.”
예비 테스트를 사용하는 이유
오늘날의 팀은 지속적 통합을 채택하고 높아지는 고객의 기대치를 충족하기 위해 시장 수요에 맞춰 고품질의 디지털 경험을 제공해야 합니다. 시장 출시 속도는 중요하지만 백만 달러의 비용이 드는 버그나 단순한 사용자 경험 재해로 인해 비용이 많이 드는 경우가 있습니다. Boeing에서 Instagram에 이르기까지 기한을 맞추기 위해 제공을 서두르고 품질이 떨어지는 테스트로 인해 평판과 재정적 손해가 발생한 사례가 많습니다.
소프트웨어 품질 테스트는 대부분 구조화된 접근 방식을 사용합니다. 테스트 케이스는 이미 정의된 사용자 스토리를 기반으로 정의되며 테스트 데이터는 정의된 테스트 케이스를 기반으로 구조화됩니다. 테스트 커버리지는 소프트웨어 엔지니어링 메트릭으로 측정되며 대부분의 경우 기술적으로 커버리지가 충분합니다.
솔루션 보기
Open DevOps로 소프트웨어를 구축 및 운영
관련 자료
DevOps를 위한 자동화된 테스트
자주 놓치는 것은 사용자 수용 테스트(UAT)를 통해 발견되고 사용자 페르소나를 기반으로 테스트되는 극단적인 사례입니다. 반면 예비 테스트는 무작위적이거나 구조화되지 않았기 때문에 구조화된 테스트 단계에서는 발견되지 않을 버그를 찾아낼 수 있습니다.
예비 테스트를 통해 테스터는 특정 순서를 따르는 사용자 스토리 스토리를 활용할 수 있습니다. 테스터는 결함에 주석을 추가하고 어설션 및 음성 메모를 추가하며 문서를 즉시 만들 수 있습니다. 이렇게 해서 사용자 스토리가 테스트 케이스로 변환됩니다. 이 정보는 QA에도 사용할 수 있습니다.
사실상 테스트 단계를 공식적으로 작성하지 않고도 테스트 실행이 구현됩니다. 그러면 예비 테스트 도구는 자동화의 서막이 됩니다. 결과를 형식화하고 자동으로 문서화하는 데 도움이 됩니다. 시각적 피드백과 공동 테스트 도구 덕분에 누구나 예비 테스트에 참여할 수 있습니다. 그러면 팀은 변화에 빠르게 대응하고 적응하여 애자일 워크플로를 지원할 수 있습니다.
또한 테스터는 자동화된 테스트 케이스 문서화 도구를 사용하여 예비 테스트 시퀀스를 기능 테스트 스크립트로 변환할 수 있습니다. 그러면 기존의 테스트 프로세스가 강화됩니다.
Jira 및 테스트 관리 제품과 같은 도구와 통합하면 팀에서 기록된 문서를 테스트 케이스로 직접 내보낼 수 있습니다.
따라서 예비 테스트는 문서화 속도를 높이고 단위 테스트를 지원하며 즉각적인 피드백 루프를 만드는 데 도움이 됩니다. 컨텍스트 기반 소프트웨어 테스트 학교의 공동 설립자인 James Bach는 “예비 테스트는 실시간 과학적 사고를 장려한다”고 설명합니다.
예비 테스트를 실행해야 하는 경우
예비 테스트는 누군가가 제품이나 애플리케이션에 대해 빠르게 배우고 신속한 피드백을 제공해야 하는 경우와 같은 특정 테스트 시나리오에 적합합니다. 사용자의 관점에서 제품 품질을 검토하는 데 도움이 됩니다.
많은 소프트웨어 주기에서 팀이 테스트를 구조화할 시간이 많지 않은 경우 초기 반복 작업이 필요합니다. 예비 테스트는 이러한 시나리오에 아주 유용합니다.
업무상 중요한 애플리케이션을 테스트할 때 예비 테스트를 사용하면 심각한 품질 결함으로 이어지는 극단적인 사례를 놓치지 않게 됩니다. 또한 예비 테스트를 통해 단위 테스트 프로세스를 지원하고 단계를 문서화하고 해당 정보를 사용하여 이후의 스프린트에서 광범위하게 테스트할 수 있습니다.
테스트 커버리지를 강화할 새로운 테스트 시나리오를 찾는 데 특히 유용합니다.
예비 테스트를 실행하지 않는 경우
조직은 예비 테스트와 스크립트 테스트 사이에서 적절한 균형을 맞출 수 있어야 합니다. 예비 테스트만으로는 충분한 커버리지를 제공할 수 없으며 팀은 몇 가지 초기 마일스톤에 도달하지 않는 한 예비 테스트를 시도해서는 안 됩니다.
특히 규제를 받거나 규정 준수를 기반으로 하는 모든 유형의 테스트에서는 스크립트 테스트가 적합합니다. 법적인 이유로 특정 확인 목록 및 의무 사항을 준수해야 하는 규정 준수 기반 테스트에서는 스크립트 테스트를 계속 사용하는 것이 좋습니다. 이에 대한 한 가지 예는 접근성 테스트로 테스트 프로토콜에는 여러 법률이 적용되며 통과해야 할 정의된 기준이 있습니다.
CI/CD를 위한 예비 테스트의 중요성
예비 테스트에서는 숙련된 테스터뿐만 아니라 모든 주요 이해 관계자도 테스트를 할 수 있습니다. 예비 테스트 도구를 사용하면 스크린샷을 캡처하고, 음성 메모를 녹음하고, 세션 중에 피드백에 주석을 추가할 수 있습니다. 이렇게 하면 기존 소프트웨어 테스터 이외의 사용자가 더 빠르고 효율적으로 검토할 수 있습니다.
예비 테스트는 QA 팀의 기존 테스트 전략을 보완합니다. 아직 밝혀지지 않은 문제/버그를 발견하기 위한 문서화되지 않은 일련의 테스트 세션으로 구성되어 있습니다. 자동 테스트 및 기타 테스트 관행과 결합하면 테스트 커버리지가 증가하고 극단적인 사례를 발견하며 잠재적으로 새로운 기능을 추가하고 소프트웨어 제품을 전반적으로 개선할 수 있습니다. 엄격한 구조가 없기 때문에 팀 내에서 실험, 창의성, 발견을 장려합니다.
피드백의 거의 즉각적인 특성은 테스터와 개발자 간의 격차를 줄이는 데 도움이 됩니다. 무엇보다 예비 테스트의 결과는 개발 팀에 사용자 중심의 관점과 피드백을 제공합니다. 목표는 기존의 테스트를 보완하여 정의된 워크플로 뒤에 일반적으로 숨겨져 있는 백만 달러의 비용이 드는 결함을 찾는 것입니다.
테스트 관리 애플리케이션에 대해 자세히 알아보려면 Atlassian Marketplace를 방문하세요. 또한 DevOps 테스트 자습서를 통해 Atlassian 도구 및 타사 도구가 워크플로에 테스트를 통합하는 방법을 알아볼 수 있습니다.
이 문서 공유
다음 주제
여러분께 도움을 드릴 자료를 추천합니다.
이러한 리소스에 책갈피를 지정하여 DevOps 팀의 유형에 대해 알아보거나 Atlassian에서 DevOps에 대한 지속적인 업데이트를 확인하세요.