fbpx

Get your 6-month No-Cost Opt-Out offer for Unlimited Software Automation?

탐색적 테스트는 응용 프로그램에 많은 이점을 제공하여 잠재력을 최대한 발휘할 수 있는 특정 유형의 소프트웨어 테스트입니다.

팀이 탐색적 테스트를 일상적인 점검에 통합하는 방식은 특히 소프트웨어가 새롭고 예상치 못한 방식으로 테스트 절차에 접근할 때 소프트웨어 기능이 얼마나 잘 작동하는지 결정할 수 있습니다. 이를 통해 테스터는 출시될 때까지 눈에 띄지 않고 주요 기능이 작동하지 않을 수 있는 애플리케이션 내 문제를 발견할 수 있습니다.

탐색 테스트의 프로세스, 유형 및 접근 방식을 이해하면 조직과 테스트 팀이 이를 일반적인 검사에 통합하는 방법을 지시하는 데 도움이 될 수 있습니다.

또한 팀에서 이러한 검사를 용이하게 하고 잠재적으로 개발에 장애물이 되기 전에 문제를 파악하는 데 사용할 수 있는 여러 가지 무료 도구가 있습니다.

이 가이드에서는 팀이 구현 전에 고려해야 할 주요 고려 사항과 함께 탐색 테스트의 이점을 보여줍니다.

 

Table of Contents

탐색적 테스트란 무엇입니까?

 

탐색적 테스트는 테스트 설계와 실행 단계를 결합하여 테스터에게 완전한 운영 자유를 보장하고 작업을 지속적으로 간소화할 수 있도록 합니다.

이러한 팀은 소프트웨어를 확인하면서 철저한 검사가 필요한 새로운 구성 요소를 발견하고 응용 프로그램에 도움이 되는 새로운 테스트를 쉽게 제시할 수 있습니다.

탐색적 테스트는 임시 테스트와 유사하지만 훨씬 더 엄격한 문서를 따르고 보다 적극적인 학습 프로세스를 통합합니다.

덜 구조화된 접근 방식은 테스터가 응용 프로그램이 현실적인 시나리오 및 테스트 사례에 어떻게 대응할 것인지 확인하는 데 도움이 되며 스크립트 테스트를 보완하는 중요한 역할을 합니다.

검사에는 창의성과 소프트웨어에 대한 철저한 이해가 필요하기 때문에 팀의 탐색적 테스트의 품질은 종종 개별 테스터의 기술에 따라 달라집니다. 이는 테스터가 연역적 추론을 사용하여 전반적인 기술을 안내하는 지속적인 발견 프로세스입니다.

탐색적 테스트는 사용자가 소프트웨어를 사용하는 방식을 반영하기 때문에 특히 유용합니다. 대부분의 사용자는 실수로 버그와 문제를 발견하므로 이러한 스크립트 없는 프로세스를 통해 테스터는 미리 결정된 검사를 통해 발견할 수 없는 문제를 찾을 수 있습니다.

팀이 이 절차를 자동화하여 더 높은 수준의 효율성을 보장하는 것도 가능합니다.

 

1. 탐색적 테스트는 언제 수행해야 합니까?

 

탐색적 테스트는 일반적으로 거의 모든 소프트웨어 테스트 프로세스에서 유용하지만 특히 응용 프로그램에 대한 신속한 피드백을 제공하는 데 탁월합니다.

팀은 스크립팅된 테스트가 부족한 경우 이러한 검사를 통합할 수도 있습니다. 소프트웨어 검사에 대한 명확한 방향이 없으면 탐색 테스트를 통해 표준 검사 범위를 벗어나는 문제를 발견하는 데 도움이 될 수 있습니다.

다양한 테스트 절차를 보장하면 테스터가 이 소프트웨어를 모든 단계에서 훨씬 더 깊이 이해할 수 있지만 조기에 수행하면 더 많은 이점을 얻을 수 있습니다.

추가적인 마음의 평화를 위해 필요에 따라 나중에 팀이 예비 테스트를 다시 수행할 수 있습니다.

 

2. Exploratory Testing을 할 필요가 없을 때

 

소프트웨어가 핵심 기능을 가질 때까지 테스터가 기다리는 것이 더 유용할 수 있지만 탐색 테스트가 이점을 제공하지 않는 몇 가지 시나리오가 있습니다.

응용 프로그램의 기능은 일반적으로 서로 교차하거나 상호 작용합니다. 즉, 개발 팀이 이 소프트웨어에 더 많은 기능을 추가하면 한 기능에 대한 탐색 테스트가 더 이상 사용되지 않을 수 있습니다.

테스터가 혼란을 피하기 위해 강력한 수준의 문서화를 보장할 수 있다고 가정하면 문제 없이 스크립팅된 검사와 함께 이러한 테스트를 수행할 수도 있습니다.

탐색적 테스트는 다른 테스트 유형에 비해 매우 다양하므로 이러한 검사를 적용할 수 있습니다.

 

3. 누가 Exploratory Testing에 참여합니까?

 

탐색적 테스트에는 다음과 같은 측면에서 많은 직원이 참여합니다.

• 모든 기술 수준의 소프트웨어 테스터는 이러한 테스트를 수행할 수 있지만 소프트웨어를 더 잘 이해하는 팀 구성원은 더 다양한 검사를 설계할 수 있습니다.

경험은 또한 가장 유용한 테스트를 결정하는 능력에 영향을 미칠 수 있습니다.

• 이러한 테스트 결과를 인정하는 소프트웨어 개발자는 모든 제안을 실행하고 종종 문제에 대한 자체 솔루션을 개발합니다.

테스트에 대한 응답은 애플리케이션이 성공적인 릴리스를 위한 적합 상태에 도달할 수 있도록 합니다.

• 이 전체 프로세스를 감독하고 팀에서 사용할 테스트 유형을 결정하는 사람이 될 수도 있는 프로젝트 관리자.

또한 테스트를 간소화하거나 자동화할 수 있는 팀용 소프트웨어 조달을 담당할 수도 있습니다.

 

탐색 테스트 수명 주기

 

탐색 테스트 프로세스는 테스터의 자유에 중점을 두지만 여전히 특정 구조를 따릅니다.

이 접근 방식의 주요 세 단계는 다음과 같습니다.

 

1단계: 학습

 

테스터는 소프트웨어와 그 기능에 대한 강력한 이해를 개발하는 것으로 시작합니다. 소프트웨어가 서로 어떻게 결합되는지 결정하기 위해 비판적으로 분석합니다.

이를 통해 테스터는 사용자가 애플리케이션과 작동 방식을 이미 알고 있을 수 있지만 사용자가 할 수 있는 일반적인 입력을 파악할 수 있습니다.

학습 단계에는 소프트웨어 작동 방법에 대한 자습서가 필요할 수도 있습니다. 이것은 탐색 단계이며 테스터에게 광범위한 유용한 테스트를 설계하는 데 필요한 모든 정보를 제공합니다.

 

2단계: 테스트 설계

 

탐색적 테스트 설계에는 다양한 규칙과 매개 변수가 포함되지만 스크립트 테스트에 비해 여전히 훨씬 더 많은 자유를 제공합니다. 테스트 시작 전에 세부 사항이 이미 알려져 있습니다.

테스터는 응용 프로그램에 보다 정확하게 적합하다고 생각하는 검사를 고안할 수 있으며 수정해야 할 중요한 오류를 포함하여 개발 팀에 중요한 데이터를 잠재적으로 발견할 수 있습니다.

테스팅 팀은 이 단계를 사용하여 어떤 접근 방식을 취하고 다양한 테스터 간에 강점을 발휘하는 방식으로 작업을 나누는 방법을 확인합니다.

 

3단계: 실행

 

사용할 검사를 설계한 후 테스터는 이제 가장 효과적이라고 생각하는 방식으로 응용 프로그램을 검사할 수 있습니다. 즉, 특정 테스트를 고안한 직후에 검사를 수행할 수 있습니다.

이것은 테스터가 적극적으로 문제를 검색하고 발견한 문제가 다른 기능에 영향을 줄 수 있는 단계입니다.

탐색적 테스트 실행과 관련된 직관적인 작업의 측정이 있지만 여전히 설정된 프로세스와 목표를 따르므로 특정 테스트 목표를 쉽게 수용할 수 있는 유동적 테스트가 가능합니다.

 

탐색적 테스트와 스크립팅된 테스트

 

탐색 테스트는 스크립팅 테스트와 사실상 정반대이지만 둘 다 애플리케이션이 릴리스 준비가 되었는지 확인하는 데 중요할 수 있습니다. 후자는 일반적으로 더 형식적이고 구조적이며 종종 응용 프로그램의 기능에 더 특정한 탐색적 확인과 비교하여 많은 광범위한 테스트를 포함합니다.

이것의 일부로 탐색적 테스트는 훨씬 더 적응력이 좋은 반면 스크립트 테스트는 소프트웨어에 주요 변경 사항이 있는 경우 어려움을 겪을 수 있습니다. 탐색적 테스트는 버그를 발견하고 더 빠르게 대처할 수 있으므로 전자는 빠른 피드백이 가장 중요한 경우에 특히 유용합니다.

 

1. 활성 탐색 테스트

 

활성 탐색 테스트에는 다른 테스터가 실행하는 확인을 위해 자동화된 스크립트를 설계하는 테스터가 포함됩니다. 이러한 스크립트는 해당되는 경우 이전 테스트를 고려합니다.

두 명의 테스터는 일반적으로 검사 절차 전반에 걸쳐 역할을 전환하여 이러한 스크립트 및 프로세스의 신뢰성을 다시 확인합니다.

활성 테스트는 예비 검사의 상표 특이성을 희생하지 않고 더 넓은 적용 범위를 갖습니다. 이러한 스크립트는 또한 더 나은 문서화를 가능하게 하여 테스터가 발견한 문제를 더 쉽게 재현할 수 있도록 합니다.

문서화는 이해 관계자가 애플리케이션의 전체 진행 상황을 확인하는 데 도움이 되므로 활성 테스트의 필수 구성 요소입니다.

 

2. 수동 탐색 테스트

 

패시브 탐색 테스트에는 한 명의 테스터만 필요하지만 쌍으로 작업하면 프로세스를 더욱 간소화할 수 있습니다.

이 접근 방식에는 테스터 작업을 기록하는 특정 소프트웨어가 포함되어 있어 발견한 문제를 복제할 수 있는 쉬운 단계를 제공합니다. 이것은 일반적으로 테스터가 자신의 행동을 단계별로 설명하는 설명을 제공하는 비디오 형식입니다.

테스트 프로세스를 기록하면 입력 요청에 얼마나 빨리 응답하는지를 포함하여 애플리케이션의 성능에 대한 통찰력도 얻을 수 있습니다.

패시브 테스트는 테스터와 개발 팀 모두에게 소프트웨어 작동 방식에 대한 풍부한 세부 정보를 제공합니다.

 

탐색적 테스트 기법

 

탐색 테스트는 일반적으로 테스터가 가장 효율적인 방법으로 소프트웨어를 탐색하는 ‘둘러보기’ 형식을 따릅니다.

다음을 포함하여 팀이 선택할 수 있는 다양한 투어가 있습니다.

 

• 가이드북 투어

이 접근 방식은 응용 프로그램의 강조 표시된 기능에 우선 순위를 지정하여 일반 사용자가 소프트웨어에 참여하는 방식을 밀접하게 복제하고 자연스럽게 발견할 수 있는 문제를 발견합니다.

 

• 역사 투어

이 둘러보기는 애플리케이션의 가장 오래된 기능을 검사하여 여전히 작동하는지 확인합니다. 이것은 개발자가 그것과 충돌하는 새로운 기능을 추가한 경우에 특히 중요합니다.

 

• 머니 투어

이 탐색적 테스트는 중요한 애플리케이션 기능, 특히 고객과 고객이 액세스하기 위해 비용을 지불하는 기능을 확인합니다. 이러한 기능은 일반적으로 테스트 팀에서 가장 우선 순위가 높습니다.

 

• 범죄 행위 투어

테스터는 때때로 유효하지 않은 정보를 입력하고 애플리케이션이 이에 어떻게 반응하는지 조사하는 등 애플리케이션을 중단시키거나 부정적인 시나리오를 유도하기 위해 적극적으로 노력합니다.

 

• 뒷골목 투어

이 프로세스에는 소수의 고객이 사용할 가능성이 있는 기능이 포함됩니다. 이들은 특히 다른 기능과 상호 작용하기 때문에 모든 테스트 접근 방식에 필수적입니다.

 

• 지적 여행

이 둘러보기는 소프트웨어의 처리 속도를 결정하기 위해 더 높은(때로는 최대값) 값으로 가장 복잡한 기능을 테스트하여 응용 프로그램을 더욱 발전시킵니다.

 

탐색적 테스팅 접근법

 

탐색 테스트에는 두 가지 주요 접근 방식이 있습니다.

 

1. 세션 기반 탐색 테스트

 

이것은 테스트 프로세스를 미션과 전세라는 두 가지 구성 요소가 있는 ‘세션’으로 나누어 테스트 프로세스를 정량화하는 것을 목표로 하는 시간 기반 기술입니다.

임무는 특정 세션의 목적과 기간이며 탐색 테스터에게 명확한 초점을 제공합니다.

헌장은 모든 세션의 범위를 설정하고 테스터가 달성하려는 특정 목표를 자세히 설명합니다. 그 결과 이러한 검사를 보다 관리하기 쉬운 구성 요소로 분할하여 더 높은 수준의 책임(및 문서화)을 얻을 수 있습니다.

세션 기반 테스트는 또한 생산성을 향상시키고 테스터에게 명확한 메트릭과 문제 해결 정보를 제공합니다.

 

2. 쌍 기반 탐색 테스트

 

쌍 기반 테스트는 주로 동일한 장치에서 쌍으로 작업하여 애플리케이션을 동시에 지속적으로 확인한다는 점에서 활성 탐색 테스트와 유사합니다. 이 배열에서 한 테스터는 다양한 테스트 사례를 제안하고 다른 테스터가 소프트웨어를 테스트하는 동안 진행 상황을 기록합니다.

의사 소통은 쌍 기반 테스트 전반에 걸쳐 필수적입니다. 이를 통해 두 테스터가 검사 및 목적을 알고 있는지 확인할 수 있습니다.

이러한 쌍을 직접 할당하는 경우 모든 테스터의 강점과 약점을 수용해야 더 강력한 탐색 테스트 프로세스를 구축할 수 있습니다.

 

탐색적 테스트에 영향을 미치는 요인은 무엇입니까?

 

팀의 예비 테스트 품질에 영향을 줄 수 있는 요소는 다음과 같습니다.

 

• 소프트웨어의 가장 중요한 목표 및 핵심 기능.

• 응용 프로그램의 현재 단계에 대한 특정 테스트 목표.

• 팀에서 각 테스터의 개별 역할 및 능력.

• 테스트 자동화를 위한 무료 소프트웨어와 같은 사용 가능한 도구.

• 테스터가 동료 또는 경영진으로부터 받는 지원.

• 클라이언트의 요청 및 시장의 현재 광범위한 추세.

• 인터페이스의 유동성과 같은 애플리케이션의 사용 용이성.

• 테스터가 테스트 단계를 완료해야 하는 시간.

• 테스터가 사용하려는 입력 및 기타 분류된 데이터.

• 시간이 지남에 따라 개발자가 소프트웨어에 추가하는 기능.

 

탐색적 테스트의 유형

 

팀에서 통합할 수 있는 탐색 테스트의 세 가지 주요 유형은 다음과 같습니다.

 

1. 자유형 탐색적 테스트

 

자유 형식 테스트는 응용 프로그램 검사에 대한 임시 접근 방식을 수용합니다. 여기에는 설명할 규칙이 거의 없으므로 효과가 다를 수 있습니다. 일부 소프트웨어 및 구성 요소는 보다 강력한 방법론을 보증합니다.

이러한 검사는 테스터가 이 응용 프로그램에 익숙해지고 이전 테스터의 작업을 검증하도록 도와줌으로써 여전히 많은 이점을 제공할 수 있습니다.

엄격한 규칙이 없더라도 숙련되고 숙련된 테스터는 이를 쉽게 사용하여 이점을 얻을 수 있습니다. 그들은 소프트웨어의 모든 측면을 쉽게 이동할 수 있습니다. 경우에 따라 테스트 규칙이 제한적이어서 실수로 팀의 결과를 제한할 수 있습니다.

 

2. 시나리오 기반 탐색적 테스트

 

시나리오 기반 테스트는 이 소프트웨어의 일반적인 작동 중에 사용자가 만들 가능성이 있는 입력을 확인하는 것과 같이 모든 테스트의 기초로 현실적인 상황을 사용합니다.

테스터는 자신이 고안한 모든 시나리오가 사용자가 애플리케이션에 참여하는 방식과 일치하는지 확인하기 위해 열심히 노력합니다.

팀의 목표는 가능한 한 많은 시나리오를 테스트하는 것이므로 시간이 제약이 될 수 있습니다. 앞으로의 기한에 따라 모든 가능성을 다룰 수는 없을 것입니다.

테스터는 다양한 범주에 걸쳐 광범위한 테스트를 사용해야 합니다.

 

3. 전략 기반 탐색 테스트

 

전략 기반 테스트에는 경계 값 테스트, 동등성 기술, 위험 기반 기술 등을 포함한 광범위한 특정 방법이 포함됩니다. 이것은 일반적으로 이러한 개별 방법을 통합하는 맞춤형 전략을 개발할 수 있으므로 애플리케이션에 이미 익숙한 테스터를 우선시합니다.

전략 기반 접근 방식은 사용자가 발생하는 문제에 직면하게 할 수 있는 가능한 시나리오를 살펴보지 않고 주로 소프트웨어의 기능(및 내부 작업)에 초점을 맞춥니다. 이를 통해 응용 프로그램과 그 다양한 기능을 더 광범위하게 분석할 수 있으며 잠재적으로 다른 다양한 접근 방식보다 더 깊이 있게 분석할 수 있습니다.

 

수동 또는 자동 탐색 테스트?

 

테스트 팀은 탐색적 확인을 수동으로 수행하거나 자동화할 수 있습니다. 두 옵션 모두 엄청난 이점을 제공할 수 있습니다. 올바른 옵션은 종종 프로젝트의 세부 사항에 따라 다릅니다.

 

수동 탐색 테스트

 

수동 탐색 테스트를 통해 더 넓은 범위의 맞춤형 검사가 가능합니다. 인간 테스터가 컴퓨터보다 느리기 때문에 시간이 더 오래 걸릴 수 있지만 수동 검사는 사용자 경험을 결정하는 데 중요한 역할을 할 수 있습니다.

테스터는 응용 프로그램의 모든 기능이 제대로 작동하는지 확인하는 것뿐만 아니라 사용자 기반이 쉽게 작동할 수 있는지 확인하기 위해 노력합니다. 이것은 아마도 탐색적 테스트의 가장 일반적인 형태일 것입니다. 하지만 이것이 반드시 가장 효과적인 것은 아닙니다.

 

1. 탐색적 테스트를 수동으로 수행할 때의 이점

 

수동 탐색 테스트의 이점은 다음과 같습니다.

 

사용성에 더욱 집중

 

자동화된 탐색 테스트는 소프트웨어의 불일치를 감지할 수 있지만 인간 테스터와 같은 방식으로 이러한 문제를 해석하지 못할 수 있습니다.

여기에는 소프트웨어 사용자가 응용 프로그램을 탐색하거나 상호 작용할 가능성이 있는 방법을 이해하는 것이 포함되며, 이는 자동화가 고려할 수 없는 사항입니다.

수동 탐색 테스터는 발견한 문제가 전체 소프트웨어 또는 일반 경험에 미치는 영향에 대한 구체적인 세부 정보를 포함하여 더 높은 수준의 피드백을 제공할 수 있습니다.

 

실시간 변경 가능

 

예비 테스트의 주요 강점 중 하나는 테스트의 필요성을 식별하고 필요한 개선 사항을 경매하기 전에 상대적으로 빠르게 실행할 수 있다는 것입니다.

자동화된 테스트는 일반적으로 훨씬 빠른 프로세스이지만 테스터는 변경하기 전에 모든 것이 완료될 때까지 기다려야 합니다. 수동 테스터는 탐색 테스트 프로세스가 진행되는 동안 이 작업을 수행할 수 있습니다.

그러나 이것은 종종 소프트웨어의 사소한 부분에 영향을 미치는 오류에 대해서만 가능합니다.

 

세부 사항에 더 큰 관심

 

탐색적 테스팅은 주로 애플리케이션을 이해하면서 애플리케이션을 테스트하는 새로운 방법을 발견하는 것입니다. 이것은 때때로 테스터에게 아이디어를 제공함으로써 하나의 테스트가 다른 테스트로 이어진다는 것을 의미할 수 있습니다.

자동화된 테스트는 테스트 팀에 상대적으로 손을 대지 않기 때문에 이를 설명하지 못할 수 있습니다. 수동 테스터는 소프트웨어에 대한 지식을 지속적으로 향상시키고 새롭고 동등하게 중요한 테스트를 고안하고 있지만 타사 소프트웨어가 이를 자동화하는 경우 어려울 수 있습니다.

 

코드 외부에서 오류를 찾을 수 있습니다.

 

수동 탐색 검사를 통해 테스터는 코드 자체를 포함하여 애플리케이션 및 소프트웨어의 모든 측면을 볼 수 있습니다.

많은 자동화된 접근 방식은 코드와 작동 방식으로 제한되므로 테스트 팀이 애플리케이션의 다른 부분에서 발생할 수 있는 문제를 알아차리지 못할 수 있습니다.

이는 일부 솔루션이 탐색적 테스트에 대한 더 광범위한 접근 방식을 제공할 수 있으므로 주로 보유한 자동화 소프트웨어에 따라 다릅니다.

 

프로젝트 전반에 걸쳐 품질 보장

 

자동화된 탐색적 확인은 애플리케이션 내의 오류 및 메트릭만 찾습니다. 수동 테스터는 대신 소프트웨어를 검사하고 자신의 포괄적인 피드백을 제공할 수 있습니다.

예를 들어 코드를 테스트하고 코드가 너무 복잡하다고 판단할 수 있습니다. 데드 코드는 성능을 저하시킬 수 있지만 자동화된 프로세스에 의해 효과적으로 감지되지 않기 때문에 특히 중요합니다.

소프트웨어에 대한 테스터의 지식은 테스트의 다른 단계에서 발생하는 문제를 진단하는 데 도움이 될 수 있습니다.

 

2. 수동 탐색 테스트의 과제

 

수동 탐색 테스트의 과제는 다음과 같습니다.

 

인적 오류 가능성

 

자동화된 예비 테스트는 정확한 진행 상황을 변경하지 않고 필요한 만큼 정확히 동일한 검사를 실행할 수 있으므로 일관성과 신뢰할 수 있는 결과를 보장합니다.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

수동 탐색 테스트는 인적 오류에 취약하므로 테스터가 잘못된 값을 입력할 수 있습니다. 일반적으로 이러한 테스트를 다시 확인하고 불일치가 언뜻 보기에도 명백해 보일 수 있으므로 이를 수정하는 것이 가능합니다.

그러나 실수를 인지한 후 테스트를 다시 실행하면 시간이 더 걸릴 수 있습니다.

 

일반적으로 더 많은 시간이 소요됨

 

테스터가 인적 오류 없이 모든 예비 검사를 올바르게 수행하더라도 이 전체 프로세스는 테스트를 훨씬 더 빠르게 계산할 수 있는 자동화된 소프트웨어에 비해 상당한 시간이 걸립니다.

최소한 몇 시간의 차이가 날 수 있습니다. 테스터가 자동화를 통해 얻을 수 있는 이점이 없는 응용 프로그램 부분에 소요할 수 있는 시간입니다.

탐색적 테스트는 또한 지속적인 감독이 필요한 반면 자동화를 통해 밤새 테스트를 실행할 수 있습니다.

 

긴 문서화 프로세스

 

유사한 맥락에서 수동 테스트 도중 및 이후에 수동 문서화는 탐색 테스트 프로세스에 불필요한 부담이 될 수 있습니다.

이로 인해 시간이 지남에 따라 변경 사항 및 소프트웨어 편집을 추적하기가 더 어려워집니다. 자동화된 소프트웨어는 일반적으로 테스트를 실행할 때 이를 직관적으로 고려할 수 있습니다.

이것은 다른 문제에서 시간과 에너지를 빼앗아 전체 소프트웨어 테스트 절차의 범위와 폭을 효과적으로 줄이는 또 다른 관리 문제입니다.

 

소프트웨어에 대해 잘 알고 있어야 합니다.

 

모든 기술 수준의 수동 테스터는 응용 프로그램을 검사하고 철저하게 테스트할 수 있습니다. 이것은 탐색 프로세스의 첫 번째 단계인 소프트웨어를 이해하기 위해 투입한 작업 때문입니다.

그러나 테스터가 이 응용 프로그램의 작동 방식을 배우는 데 어려움을 겪거나 소홀히 한다면 적절한 범위의 테스트를 고안하고 실행하는 데 어려움을 겪을 것입니다.

소프트웨어를 잘 알면 테스터가 일반적인 테스트 매개변수를 뛰어넘을 수 있습니다.

 

유지 비용이 많이 듭니다

 

수동 탐색 테스트에 의존하려면 일반적으로 더 큰 테스트 팀이 필요하므로 자동 확인에 비해 장기적으로 비용이 더 많이 들 수 있습니다. 이러한 탐색 테스트를 수행하는 타사 소프트웨어는 엄청난 가치를 제공하거나 완전히 무료일 수도 있습니다.

작업의 복잡성에 따라 회사는 응용 프로그램을 완전히 확인하기 위해 수년간의 경험을 가진 고도로 숙련된 테스터가 필요할 수 있습니다. 이것은 무료 자동화 소프트웨어를 사용하는 것에 비해 테스트 비용을 크게 증가시킬 수 있습니다.

 

3. 수동 탐색 테스트를 사용하는 경우

 

수동 탐색 테스트에는 종종 몇 가지 문제가 따르지만 여전히 철저한 소프트웨어 테스트의 중요한 구성 요소입니다. 이는 자동화가 완전히 설명할 수 없는 소프트웨어 측면에도 강력한 초점이 필요하기 때문입니다.

예를 들어 소프트웨어는 사용자 인터페이스나 사용자 경험 테스트에 대한 피드백을 안정적으로 제공할 수 없습니다. 테스터는 애플리케이션을 수동으로 테스트하는 경우에만 애플리케이션이 실제로 어떻게 작동하는지에 대한 좋은 아이디어를 얻을 수 있습니다. 즉, 개발자와 테스트 팀 모두 적어도 어느 정도의 수동 탐색 테스트를 검사에 통합하는 것을 고려해야 합니다.

 

자동화된 탐색적 테스트

 

자동 테스트는 타사 소프트웨어를 사용하여 특정 검사를 자동화합니다. 테스터는 일반적으로 거의 모든 테스트를 수용하도록 이를 사용자 정의할 수 있습니다.

그러나 이를 위해서는 일반적으로 팀이 자동화를 보정하기 위해 적어도 한 번 수동으로 검사를 실행해야 합니다. 이를 통해 테스트 팀과 개발 팀 모두의 프로세스를 크게 간소화할 수 있습니다.

탐색적 테스트를 자동화하는 것은 흔하지 않을 수 있지만 이를 수행하면 애플리케이션과 성능에 몇 가지 분명한 이점이 있습니다.

 

1. 탐색적 테스트 자동화의 이점

 

탐색 테스트 자동화 의 주요 이점은 다음과 같습니다.

 

일관된 테스트 실행

 

사람의 실수는 수정하는 데 시간과 비용이 모두 드는 테스트 실수로 쉽게 이어질 수 있습니다. 자동 탐색 검사를 통해 테스트 팀은 이 문제를 피할 수 있습니다.

테스터는 테스트를 올바르게 실행하는 방법을 자동화 소프트웨어에 효과적으로 가르쳐 매번 동일하게 수행하도록 합니다. 이렇게 하면 테스트의 전반적인 신뢰성이 향상되고 개발자가 결과를 기다리는 데 소요되는 시간이 줄어듭니다. 특히 테스터가 밤새 쉽게 실행되도록 설정할 수 있기 때문입니다.

 

모두를 위한 시간 절약

 

자동화된 테스트를 통해 개발자는 문제에 대한 수정 작업을 훨씬 더 빠르게 시작할 수 있으며 테스터는 더 광범위한 탐색 검사를 수행할 수 있습니다. 마감일과 관계없이 팀이 설명할 수 있는 시나리오는 너무 많습니다. 즉, 테스터가 허용된 시간 내에 가능한 한 많은 검사를 수행하는 것이 중요합니다.

자동화는 이러한 탐색적 테스트를 수동 테스터보다 훨씬 빠른 속도로 수행함으로써 도움이 됩니다.

 

비용 효율적인 접근 방식

 

팀이 선택한 소프트웨어에 따라 자동화가 수동 테스트보다 훨씬 비용 효율적일 수 있습니다. 심지어 무료일 수도 있습니다.

수동 테스터를 고용하는 것이 여전히 중요하고 그들 중 일부는 자동화 절차를 교정하는 일을 담당할 것이지만 실질적으로 가능한 한 많은 탐색 테스트를 자동화하면 회사에서 인건비를 낮출 수 있는 기회를 얻을 수 있습니다.

팀이 자동화 소프트웨어를 이해하면 이를 다양한 작업에 적용할 수 있습니다.

 

여러 장치에 맞게 조정 가능

 

수동 테스트에는 모바일 애플리케이션을 구축하는 경우 Android 및 iOS를 포함한 다양한 전화 운영 체제에 대한 지식과 같이 다양한 장치에 대한 경험이 있는 직원이 필요할 수 있습니다.

자동화된 소프트웨어는 이를 설명하고 여러 장치에서 테스트하여 응용 프로그램이 일관되게 잘 작동하는지 확인할 수 있습니다. 이러한 장치에 대한 지식이 있는 테스트 팀은 지루한 프로세스를 찾을 수 있습니다. 자동화는 다시 한 번 일반적인 탐색적 테스트 프로세스를 간소화하고 각 반복을 동시에 테스트할 수 있습니다.

 

재사용 가능한 스크립트

 

팀이 동일한 소프트웨어의 여러 버전 또는 아키텍처나 기능이 유사한 여러 제품을 테스트하는 경우 한 테스트 주기에서 다음 주기로 스크립트를 재사용할 수 있습니다.

호환성을 보장하기 위해 필요한 조정이 있는 경우 수동 테스터는 완전히 새로운 스크립트를 작성하는 것보다 훨씬 빠르게 조정할 수 있습니다.

자동화는 탐색 테스트 프로세스의 거의 모든 단계를 최적화하여 다양한 소프트웨어 구성에서 쉽게 설정할 수 있습니다.

 

2. 탐색적 테스트 자동화의 과제

 

이 프로세스에는 다음과 같은 다양한 문제도 포함됩니다.

 

테스트의 한쪽만 나타냅니다.

 

수동 테스터만이 안정적으로 피드백을 제공할 수 있는 몇 가지 측면이 있기 때문에 애플리케이션을 테스트하는 동안 모든 검사를 자동화하는 것은 실용적이거나 현명하지 않습니다.

여기에는 사용자 경험이 포함되지만 선택한 소프트웨어에 따라 자동화를 통해 철저한 성능 및 로드 테스트 분석을 얻을 수 있습니다.

탐색적 테스트 자동화는 인간의 판단력이 부족하며 일부 확인을 위해 수동 테스터와 함께 가장 잘 작동할 수 있습니다.

 

능력에 대한 비현실적인 기대

 

비슷한 맥락에서 자동화된 탐색 테스트 절차는 전체 프로젝트와 함께 응용 프로그램에 엄청난 이점을 제공할 수 있습니다.

그러나 이 방법이 항상 정답은 아닙니다. 각 단계에서 자동화에 크게 의존하는 조직은 소프트웨어에 대한 불완전한 관점을 가질 수 있습니다.

자동화는 문제를 식별하지만 테스트 및 개발 팀은 문제를 해결할 책임이 있습니다. 프로젝트의 모든 사람이 기능과 한계를 이해할 수 있도록 전반적인 자동화 전략을 정의하는 것이 중요합니다.

 

더 높은 기술 요구 사항

 

자동화에는 일반적으로 복잡한 검사를 실행하는 방법과 검사를 프로그래밍하고 실제로 자동화하는 방법을 아는 것이 포함됩니다. 자동화 소프트웨어가 이러한 프로세스를 상당히 최적화하는 데 도움이 될 수 있지만 이것은 종종 수년간의 스크립팅 경험을 필요로 합니다.

회사에서 효과적인 자동화를 촉진하기 위해 다양하고 강력한 기술을 갖춘 테스터를 채용하는 것이 중요합니다.

자동화 경험이 있는 테스터는 사용 가능한 타사 소프트웨어 옵션 중에서 선택하는 동안 우선 순위를 지정해야 하는 기능을 알고 있으므로 팀이 좋은 제품을 받을 수 있습니다.

 

부적절한 전략과 커뮤니케이션

 

성공적인 자동화를 위해서는 일관된 전략을 전달하는 것이 무엇보다 중요합니다. 개발자, 테스터 및 프로젝트 관리자는 테스트 내내 동일한 페이지에 있어야 합니다.

팀은 향후 절차의 범위와 일정을 확인하기 위해 협력해야 합니다. 이것은 모든 테스트 프로세스에 해당되지만 자동화의 복잡성이 추가되기 때문에 특히 필수적입니다. 더 나은 커뮤니케이션 회선과 부족한 정보 사일로를 통해 팀은 테스트를 보다 효율적으로 수행할 수 있습니다.

 

올바른 자동화 소프트웨어 선택

 

자동화에는 일반적으로 팀의 테스트 목표와 호환되는 타사 애플리케이션을 선택하는 작업이 포함됩니다. 모든 옵션에는 다른 가격 계획과 기능이 있습니다. 소프트웨어가 상당한 양의 가치를 제공하면서 자동 테스트를 성공적으로 실행하더라도 이는 상당한 장기적 비용이 될 수 있습니다.

프리미엄 대안에 필적하는 인상적인 기능을 제공하는 다양한 무료 옵션이 있습니다. 테스트 팀이 무료 소프트웨어를 포함하여 사용 가능한 모든 옵션을 조사하는 것이 중요합니다.

 

결론: 탐색적 테스트 자동화 대 수동 탐색적 테스트

 

모든 종류의 애플리케이션이 두 가지를 조합하여 더 나은 성능을 발휘하므로 완전 수동 테스트 또는 완전 자동 테스트의 이점을 누릴 수 있는 프로젝트는 거의 없습니다.

자동화된 테스트는 개발 및 품질 보증 팀의 프로세스를 최적화할 수 있지만 설계의 일부 측면에는 수동 탐색 테스트가 필요합니다. 이것이 사용자 의식 피드백을 얻을 수 있는 유일한 방법입니다.

시간이 지남에 따라 더 많은 조직이 자동화 를 지능적으로 최대화하여 비즈니스가 효율적인 전략을 갖도록 하는 프로세스인 초자동화를 구현하기 위해 노력하고 있습니다. 이는 여전히 수동 테스트와 함께 존재할 수 있습니다.

자동화 소프트웨어의 보급 증가로 인해 특히 다양한 기능과 함께 사용할 수 있는 몇 가지 무료 옵션을 통해 자동화된 테스트에 대한 기업의 접근성이 높아지고 있습니다. 이를 통해 회사는 결합된 수동/자동 탐색 테스트 접근 방식을 더 쉽게 채택할 수 있습니다.

개발에서 애자일(증분적이지만 중요한 진행에 초점을 맞춘 프로젝트 관리 기술)의 인기가 높아지는 것도 짧은 테스트 주기를 요구하기 때문에 요인이 되었습니다. 결합된 테스트 전략은 동일한 소프트웨어의 여러 반복에서 성공을 보장하기 위해 반복 테스트를 필요로 하는 지속적인 통합과 같은 다양한 기타 개발 전략을 수용할 수 있습니다.

 

Exploratory Testing을 시작하기 위해 필요한 것

 

예비 테스트의 전제 조건은 다음과 같습니다.

 

1. 명확한 테스트 목표

 

탐색 테스트는 자유와 동의어이며 때때로 임시 테스트와 혼동되지만 여전히 특정 규칙이나 정의 가능한 목표를 따릅니다. QA 팀이 거의 모든 테스트 구조를 성공적으로 탐색할 수 있는 유일한 방법은 특히 테스터가 일반적으로 이러한 검사를 스스로 설계하기 때문에 각 테스트의 예상 결과를 아는 것입니다.

 

2. 창의적이고 직관적인 테스터

 

탐색적 테스트는 응용 프로그램의 문제를 발견할 수 있는 새롭고 창의적인 테스트를 설계하는 데 중점을 둡니다. 경험이 적은 테스터라도 소프트웨어를 이해하고 있다고 가정하면 이 작업을 수행할 수 있습니다.

테스터가 애플리케이션과 작동 방식을 이해하는 것이 중요합니다. 이를 통해 다양한 유용한 검사를 직관적으로 개발할 수 있습니다.

 

3. 일관된 문서화

 

모든 유형의 테스트에는 모든 팀원이 예상 테스트 일정을 따르고 아무도 실수로 확인을 반복하지 않도록 강력한 문서가 있어야 합니다.

이는 문제를 해결하는 방법을 파악하기 위해 정기적인 테스트 업데이트가 필요한 개발자와 같이 단일 부서 및 여러 부서 간의 의사 소통의 중요한 측면입니다.

 

4. 고객의 관점

 

탐색적 테스트는 사용자가 응용 프로그램에 실제로 참여하는 방법을 반영하는 것을 포함하여 많은 전략과 시나리오를 다룹니다. 테스트 팀이 시나리오 기반 테스트를 수행하지 않더라도 확인 중에 이를 설명하는 것이 중요합니다.

이를 채택하면 테스터가 다양한 관점에서 테스트에 접근하여 이러한 검사의 품질을 향상시킬 수 있습니다.

 

5. 자동 테스트 소프트웨어

 

팀은 설계하는 테스트의 상당 부분을 자동화할 수 있으므로 실행 단계 이전에 고품질 자동 테스트 소프트웨어를 조달할 수 있는 것이 중요합니다.

개발자와 테스트 팀은 프로젝트에 대한 이해를 바탕으로 자신의 요구 사항에 맞는 타사 애플리케이션을 결정할 수 있습니다.

 

탐색적 테스트 프로세스

 

탐색 테스트의 구체적인 단계는 다음과 같습니다.

 

1. 테스트 절차 분류

 

예비 테스트의 첫 번째 단계는 관련 팀 구성원이 일반적인 결함을 분류하고 근본 원인 분석을 수행하는 것과 같이 이러한 검사에 접근하는 방법을 이해하는 것입니다.

이것은 테스터가 테스트 자체에 대한 아이디어를 개발하는 곳입니다. 정확한 방법론에 따라 테스트 헌장을 설계할 수도 있습니다.

이것은 해당 세션 또는 근무일에 대한 범위와 테스트를 설정합니다.

 

2. 테스트 시작

정확한 매개변수(예: 각 테스트 시간 또는 전체 세션)는 팀 자체의 선호도와 프로젝트 요구 사항에 따라 다르지만 모든 탐색은 특정 공통점을 따릅니다.

관련 검사를 분류하면 품질 보증 직원이 테스트를 수행하고 결과를 기록하기 시작합니다.

검사에 자동화가 필요한 경우 테스터는 이를 밤새 작동하도록 설정하거나 낮 동안 스스로 모니터링할 수 있습니다.

 

3. 결과 검토

 

다음 단계는 결과를 검토하여 기본 및 예상 결과와 비교하는 것입니다. 이러한 테스트 결과 어떤 종류의 중대한 예상치 못한 편차가 발생하면 테스터는 확인을 반복하거나 즉시 수리 방법을 알아낼 수 있습니다. 그들이 개발자에게 제시하는 제안은 취해야 할 올바른 접근 방식을 결정하는 데 도움이 될 수 있으며 버그 보고서에서 이를 자세히 설명할 수 있습니다.

 

4. 테스트 보고

 

테스트 결과를 경매한 후 품질 보증 팀은 테스트 절차 자체를 검토하기 시작하고 이를 사용하여 탐색적 테스트 접근 방식이 적합한지 결정합니다.

이 테스트 요약 보고서는 재테스트가 필요한 검사 중에 작동 오류가 있었다고 결론을 내릴 수도 있습니다. 테스트 팀은 개발자가 이러한 문제를 해결하여 성공 여부를 결정한 후 응용 프로그램을 다시 확인할 수도 있습니다.

 

탐색적 테스트의 모범 사례

 

탐색 테스트를 위한 가장 효과적인 방법은 다음과 같습니다.

 

1. 테스터 페어링

여러 형태의 탐색 테스트는 테스터가 함께 작업함으로써 이점을 얻습니다. 이는 프로세스를 더욱 간소화하고 동일한 검사에 대한 여러 관점을 허용합니다.

페어 테스트는 또한 터널 시야의 가능성을 방지하여 보다 창의적인 테스트 설계를 장려합니다.

여러 사람이 동일한 테스트에 참여하면 전반적으로 정확도가 높아질 수 있으며 작업 부하를 분할하면 전체 팀의 테스트 속도가 훨씬 빨라집니다.

 

2. 수동 및 자동 테스트 혼합

 

일부 회사는 여전히 자동화를 채택하는 데 어려움을 겪고 있는 반면 다른 회사는 수동 관점이 더 유익할 수 있음에도 불구하고 자동화를 과도하게 사용하고 있습니다. 이러한 검사의 균형을 맞추면 테스트 팀이 소프트웨어 인터페이스와 같은 보다 주관적인 측면을 포함하여 애플리케이션 전체에서 더 많은 기반을 다루고 품질을 보장할 수 있습니다.

수동 및 자동 테스트를 함께 수행하는 것이 모든 기능에 대한 완벽한 테스트 범위를 보장하는 유일한 방법입니다.

 

3. 시장 이해

 

테스터가 테스트 프로세스 중에 대상 청중과 경쟁자를 모두 아는 것이 중요합니다. 이를 통해 사람들이 애플리케이션의 현재 기능에 어떻게 반응할지 평가할 수 있습니다.

특정 기능은 수요가 높으며 테스트 팀은 검사 중에 이러한 기능의 우선 순위를 지정함으로써 이점을 얻을 수 있습니다. 또한 광범위한 테스트 범위를 유지해야 합니다. 이는 출시 시 소프트웨어의 잠재적인 성공과 함께 테스트 방향을 결정할 수 있습니다.

 

4. 테스트를 위해 실제 장치 사용

 

소프트웨어 테스트 팀은 탐색 검사를 용이하게 하기 위해 에뮬레이터를 사용할 수 있습니다. 이는 유용할 수 있지만 실제 사용자 환경을 거의 반영하지 않습니다.

실제 장치는 보다 현실적인 경험을 생성하여 탐색적 테스트의 신뢰성을 개선하는 데 도움이 됩니다. 에뮬레이터는 불완전하며 고객에게 표시되지 않는 오류가 있을 수 있습니다.

에뮬레이션은 여러 플랫폼을 테스트하는 빠른 방법이지만 실제 장치를 대체할 수는 없습니다.

 

탐색적 테스트의 출력 유형

 

검사를 수행한 후 테스터가 받을 수 있는 다음과 같은 다양한 출력이 있습니다.

 

1. 테스트 결과

 

탐색적 테스트가 수백 가지의 고유한 테스트를 포함할 수 있으므로 결과 자체는 다양한 형태를 취합니다. 이러한 결과는 대부분의 테스트 루틴 출력을 구성하여 애플리케이션의 상태 및 사용자 요구를 충족하는 기능에 대한 중요한 정보를 제공합니다.

테스터는 시스템을 다시 확인하고 이러한 결과를 수신하면 정보를 검증하여 다음 조치를 결정할 수 있습니다.

 

2. 테스트 로그

 

응용 프로그램 자체 로그는 종종 테스트 프로세스 중에 오류와 문제를 드러냅니다. 이는 소프트웨어가 테스트에 실패한 이유에 대한 가장 강력한 단서를 제공합니다. 선임 테스터는 특히 응용 프로그램의 로그를 해석하는 데 능숙하여 복잡한 문제의 원인을 식별할 수 있습니다.

테스터가 이러한 로그에서 수집하는 정보가 많을수록 개발자를 더 많이 도울 수 있습니다.

 

3. 테스트 보고서

 

팀의 자동화 절차에 따라 출력이 버그 보고서를 자동으로 생성할 수 있습니다. 이는 원인 및 개발자와 관련된 기타 데이터를 포함하여 애플리케이션 내에 존재하는 모든 오류를 설정합니다.

테스터는 이를 사용하여 소프트웨어가 출시 준비가 되었는지에 대한 자신의 의견을 제시할 수 있으며, 이는 일반적으로 go/no-go 결정으로 알려져 있습니다.

 

탐색적 테스트의 예

 

다음은 회사에서 탐색적 테스트를 사용할 수 있는 방법에 대한 세 가지 예입니다.

 

1. 모바일 게임 앱

 

게임 회사가 모바일 앱의 주요 업데이트를 출시하려는 경우 예비 테스터는 이전 기능과 새로운 기능을 모두 확인하여 애플리케이션이 여전히 안정적인지 확인할 수 있습니다. 이로 인해 특정 장치에서 실행하지 못할 정도로 소프트웨어의 복잡성이 증가할 수 있습니다.

테스터는 가능한 한 많은 플랫폼에서 유용성을 보장하면서 이로 인한 영향을 최소화하기 위해 노력합니다.

탐색적 테스터는 모든 기능이 의도한 대로 작동하는지 확인하기 위해 게임과 그 많은 복잡한 시나리오를 철저히 검사합니다. 이 프로세스에는 일반적으로 수동 테스터가 필요합니다.

 

2. 서비스 제공자의 웹사이트

 

웹 사이트는 또한 사용자와 직원 모두에게 작동하는지 확인하기 위해 탐색적 테스트를 거치므로 테스터는 웹 사이트에 로그인하여 시작할 수 있습니다. 이것은 새 사용자 프로필을 생성하는 사이트의 기능을 테스트하고 사용자가 관리 기능에 액세스할 수 없는지 확인합니다.

그런 다음 테스터는 약속을 예약하거나 주문하는 형태일 수 있는 서비스 확인으로 진행합니다. 그런 다음 구매를 완료하여 체크아웃이 제대로 작동하는지 확인한 다음 주문 이메일 확인 및 계정 내역을 확인합니다.

 

3. 병원의 경영시스템

 

모든 종류의 응용 프로그램 및 시스템은 탐색 테스트를 통해 이점을 얻을 수 있습니다. 병원 관리 시스템의 경우 테스터는 결제 모듈이 다른 기능과 상호 작용하는 방식을 살펴볼 수 있습니다.

통합 수준이 높을수록 엄격한 테스트 없이 심각한 오류가 발생할 수 있습니다. 이러한 검사에는 시스템의 많은 구성 요소와 이들이 교차하는 방식을 추적하는 아키텍처 다이어그램이 포함될 수 있습니다.

테스터는 또한 시스템의 이전 반복에서 문제를 살펴보고 이러한 문제가 여전히 존재하는지 확인하기 위해 구체적으로 테스트하고 오류가 발견되면 신속한 조치를 취합니다.

 

Exploratory Testing을 통해 발견된 오류 및 버그 유형

 

탐색 테스트 중에 테스터가 발견할 수 있는 오류는 다음과 같습니다.

 

1. 호환되지 않는 기능

애플리케이션의 특정 기능은 예상대로 서로 상호 작용하지 않을 수 있습니다. 이로 인해 사용자가 구매를 완료하거나 앱을 사용할 수 없게 될 수 있습니다. 테스터는 모든 기능이 서로 잘 맞는지 확인하기 위해 기능을 개별적으로 그리고 서로 연계하여 검사합니다.

 

2. 부적절한 UI 디자인

응용 프로그램의 사용자 인터페이스는 누군가가 소프트웨어를 사용하는 방법을 정확하게 결정합니다. 예를 들어, 중요한 기능이 고객에게 명확하지 않은 경우 고객은 이러한 기능이 존재한다는 사실을 인지하지 못할 수 있으며, 이는 애플리케이션의 즐거움을 제한합니다.

수동 UI 테스트는 사용자에게 친숙하지 않은 디자인을 식별하고 수정합니다.

 

3. 인증 오류

많은 응용 프로그램과 웹 사이트에서 특정 권한이 있는 사용자 프로필을 만들 수 있습니다. 테스터가 일반 사용자가 예기치 않은 방식으로 소프트웨어를 사용하는 동안 민감한 데이터나 관리 기능에 어떻게든 액세스할 수 있는지 확인하는 것이 중요합니다.

 

4. 죽은 코드

테스터는 애플리케이션 내에 여전히 존재하는 오래된 코드를 발견할 수 있으며, 이는 주목할만한 성능 문제의 원인이 될 수도 있습니다. 데드 코드는 애플리케이션의 내부 작업을 과도하게 복잡하게 만들고 피할 수 있는 오류를 유발할 수 있습니다. 이를 식별하고 최적화하면 직원과 사용자를 위해 소프트웨어의 응답성이 향상됩니다.

 

일반적인 탐색 테스트 측정항목

 

탐색 테스트 중에 테스터가 접할 수 있는 일반적인 메트릭은 다음과 같습니다.

 

1. 성능 테스트 지표

애플리케이션의 일반 성능을 살펴보는 탐색적 테스트는 광범위한 메트릭을 생성할 수 있습니다. 여기에는 안정성을 결정하기 위한 실패 및 성공률과 함께 최소, 평균 및 최대 응답 시간이 포함될 수 있습니다.

 

2. 테스트 커버리지 지표

테스트 범위는 테스트가 포함하는 애플리케이션의 범주 및 측면 수를 결정하기 때문에 중요합니다. 예를 들어 요구 사항 적용 비율은 추가 테스트 라운드가 필요한 기능이 있는지 평가합니다.

 

3. 전반적인 테스트 효율성

성공 및 실패한 확인 수를 추적하면 테스터가 애플리케이션의 일반적인 상태를 파악하는 데 도움이 됩니다. 또한 팀은 감지한 오류 중 얼마나 많은 오류가 중요한지 추적할 수 있습니다.

 

4. 불량분포

비슷한 맥락에서 결함 분포를 확인하면 오류에 가장 취약한 구성 요소 또는 기능이 표시됩니다. 이들은 종종 다른 사람들과 상호 작용하는 애플리케이션의 일부일 수 있으므로 이러한 테스트의 우선 순위를 지정하는 것이 필수적입니다.

 

5. 회귀 지표

탐색적 회귀 테스트를 통해 테스터는 동일한 소프트웨어의 다양한 반복 동작과 이것이 성능에 어떤 영향을 미칠 수 있는지 확인할 수 있습니다.

결함 주입률과 빌드당 결함은 이를 지원하는 특정 메트릭입니다.

 

혼동 해소: 예비 테스트와 임시 테스트

 

테스터의 자유에 중점을 두는 일부 사람들은 탐색적 테스트를 임시 테스트와 혼동하는 경우가 많습니다. 두 형식은 몇 가지 주요 유사점을 공유하지만 궁극적으로 다른 목적을 제공합니다.

 

1. 임시 테스트란 무엇입니까?

 

애드혹 테스트는 기존 테스트 설계를 깨고 그렇지 않으면 나타나지 않을 수 있는 결함을 찾는 완전히 구조화되지 않은 접근 방식입니다.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

이러한 형태의 테스트에는 일반적으로 문서가 필요하지 않으므로 테스터가 원인을 절대적으로 확신하지 않는 한 문제를 재현하기 어렵습니다.

이것의 한 예는 무작위 입력을 포함하고 궁극적으로 시스템을 깨뜨리는 것을 목표로 하는 검사인 ‘원숭이 테스트’입니다.

탐색 테스트와 유사하게 많은 임시 테스터가 쌍으로 작업하여 이러한 검사를 완료합니다. 이것은 그들의 신뢰성을 향상시킵니다. 수표가 모든 가능성을 고려했는지 확인하기 위해 정식 테스트 실행 후 임시 접근 방식이 유용할 수 있습니다. 이는 추가 테스트를 수행할 시간이 제한된 경우에도 도움이 됩니다. 올바른 실행을 통해 임시 테스트는 매우 유용합니다.

 

2. 탐색적 테스트와 임시 테스트의 차이점

 

임시 테스트에는 일반적으로 공식 문서가 포함되지 않습니다. 즉흥적인 검사 특성으로 인해 기록 보관이 훨씬 더 중요해지는 탐색적 테스트와는 극명한 대조를 이룹니다.

탐색적 테스트는 보다 다양한 공식 테스트 기술을 사용하는 반면 임시 검사는 기존 테스트 에티켓 외부를 살펴봄으로써 이를 방지합니다. 이렇게 하면 테스터가 다른 방법으로는 절대 찾을 수 없는 버그를 발견할 수 있습니다.

탐색적 테스트에는 명확한 목표와 경계가 있지만 여전히 팀 구성원이 창의적인 테스트를 사용할 수 있습니다. 애드혹 테스트는 일반적으로 소프트웨어를 추진하는 것 외에 정의할 수 있는 최종 목표가 없습니다. 임시 테스트는 종종 소프트웨어 및 해당 기능에 대한 기존 지식을 포함하는 반면 탐색 테스트는 응용 프로그램 학습을 일반적인 프로세스에 통합합니다.

 

애자일 탐색 테스트

 

민첩한 방법론은 지속적인 개선을 크게 촉진합니다. 이것은 특히 빈번한 소프트웨어 업데이트에 대한 수요가 증가함에 따라 탐색 테스트와 잘 어울린다는 것을 의미합니다.

탐색적 테스트를 Agile과 결합하면 일정 전반에 걸쳐 릴리스 계획 및 스프린트 실행을 통합하여 팀 구성원에게 더 강력한 테스트 구조를 부여할 수 있습니다. 애자일 기술을 수용하는 회사는 이를 탐색적 테스트와 결합하여 이를 더욱 활용할 수 있습니다. 이는 응용 프로그램의 각 개별 소프트웨어 구성 요소를 테스트하는 좋은 방법입니다. 테스터는 스크립트 없이 예비 검사를 수행할 수 있으므로 품질 보증 직원과 개발자 모두 귀중한 시간을 많이 절약할 수 있습니다.

자동화된 탐색적 테스트는 이러한 절감 효과를 결합하여 회사가 애플리케이션의 최신 반복을 잠재적으로 하룻밤 사이에 훨씬 더 빠르게 확인할 수 있도록 도와줍니다. 탐색적 확인은 빠르고 사용 가능한 결과를 제공하며 개발자는 다음 스프린트의 일부로 필요한 변경 사항에 대해 조치를 취할 수 있습니다.

수동 탐색 테스트는 자동화된 접근 방식이 놓칠 수 있는 문제를 식별하는 기능으로 인해 Agile과 함께 여전히 많은 이점을 제공합니다. 다른 형태의 테스트는 애자일 프레임워크에 편안하게 맞추기에는 시간이 너무 오래 걸리거나 이점이 너무 적습니다. 탐색적 확인을 통해 각 애자일 단계가 소프트웨어와 해당 기능을 크게 개선하는지 확인할 수 있습니다.

 

탐색적 테스트를 구현할 때 피해야 할 7가지 실수와 함정

 

다음은 기업이 탐색적 테스트를 구현하는 동안 자주 저지르는 7가지 일반적인 실수와 기업이 이러한 문제를 피할 수 있는 방법입니다.

 

1. 불균형한 수동/자동화 테스트

 

수동 점검으로 가장 잘 작동하는 테스트와 자동화의 이점을 얻을 수 있는 테스트를 파악하는 데는 시간이 걸리지만 팀이 훨씬 더 효율적으로 테스트할 수 있습니다.

너무 많은 테스트를 자동화하면 인간 테스터의 부족으로 인해 다루기 힘들거나 사용자 친화적이지 않은 애플리케이션이 생성될 수 있습니다.

 

2. 시간 제약

탐색적 테스트는 다른 많은 형태의 테스트보다 빠르지만 프로젝트 기한의 현실은 팀이 수행할 수 있는 테스트 수에 여전히 제한이 있음을 의미합니다.

테스트 범위에 대한 시간 관리 및 약속은 테스트 팀이 많은 광범위한 범주에서 가능한 한 많은 검사를 수행하는 데 도움이 됩니다.

 

3. 융통성 없는 테스터

예비 테스터는 소프트웨어에 대한 기존 지식이나 특히 심도 있는 기술이 필요하지 않지만 검사는 여전히 개별 팀 구성원의 능력과 이니셔티브에 의존합니다.

프로젝트 관리자는 이러한 테스트 역할을 현명하게 할당하고 필요한 경우 팀의 보다 창의적이고 직관적인 구성원에게 할당해야 합니다.

 

4. 실패 복제의 어려움

어떤 작업이 테스트 실패에 기여하는지가 항상 분명한 것은 아닙니다. 또한 응용 프로그램의 어떤 측면에 책임이 있는지 명확하지 않을 수 있습니다.

이것이 많은 탐색적 접근 방식이 문제와 정확한 원인을 보다 명확하게 이해하기 위해 테스터를 함께 페어링하거나 테스터의 화면을 직접 녹화하는 것을 포함하는 이유입니다.

 

5. 불분명한 문서

자동화된 버그 보고서이든 완료된 테스트의 수동 기록이든 관계없이 좋은 문서는 개발자가 테스트 팀의 결과에 따라 조치를 취하는 것을 더 간단하게 만듭니다.

테스트 팀은 모든 단일 검사에서 고품질 기록 보관을 보장하고 각 보고서에 가능한 한 많은 세부 정보를 제공해야 합니다.

 

6. 높은 기대치

탐색적 테스팅은 거의 모든 소프트웨어 프로젝트에 유용하지만 여전히 그 범위가 제한되어 있습니다. 다른 테스팅 방법과 함께 사용하면 가장 잘 작동합니다.

테스트 팀은 일반적인 스크립트 테스트와 함께 이러한 검사를 수행해야 합니다. 이것이 품질 보증 부서가 지속적으로 광범위한 테스트 범위를 보장할 수 있는 유일한 방법입니다.

 

7. 부적절한 자동화

테스트 팀과 프로젝트 관리자가 특정 애플리케이션에 가장 많은 이점을 제공하는 자동화 소프트웨어를 이해하는 것이 중요합니다.

다양한 타사 옵션은 고유한 기능을 제공하므로 팀의 선택에 따라 로봇 프로세스 자동화 의 성공이 결정될 수 있습니다. 그들은 앞에 있는 모든 옵션을 고려해야 합니다.

 

5 최고의 무료 탐색 테스트 도구

 

품질 보증 팀이 무료로 사용할 수 있는 5가지 최고의 탐색 테스트 도구는 다음과 같습니다.

 

1. ZAPTEST 무료 에디션

ZAPTEST Free는 프리미엄 수준의 기능을 무료로 제공하므로 모든 조직이 손쉬운 탐색 테스트 구현의 이점을 누릴 수 있습니다.

이 애플리케이션은 혁신적인 1SCRIPT 기술로 모든 플랫폼, 장치 및 브라우저를 자동화할 수 있습니다.

ZAPTEST는 또한 유연한 RPA 자동화를 제공하여 이를 수동 접근 방식과 결합할 수 있습니다.

 

2. XRAY 탐색 앱

XEA를 사용하면 사용자가 포괄적인 테스트 헌장을 만들고 진행 상황을 쉽게 기록하여 탐색 테스트의 버그 보고 단계를 간소화할 수 있습니다.

이 옵션은 전적으로 사용자 관점에 초점을 맞추고 다른 테스터를 업데이트하기 위한 중앙 집중식 결과 허브를 제공합니다.

그러나 XRAY에는 현재 통합 자동화가 없기 때문에 장기적인 효율성이 제한될 수 있습니다.

 

3. 벌레 자석

철저한 탐색적 테스트를 제공하는 브라우저 확장 프로그램인 Bug Magnet을 사용하면 테스터가 엣지 케이스 및 기타 문제가 있는 값을 확인할 수 있습니다.

이 확장은 또한 더미 텍스트, 이메일 주소 및 여러 문자 세트의 간단한 통합을 제공합니다.

그러나 이것은 Firefox 및 Chrome 기반 브라우저에서만 사용할 수 있으므로 경쟁사보다 다재다능한 선택이 아닙니다.

 

4. Azure 테스트 계획

Azure Test Plans는 Microsoft Azure 플랫폼의 핵심 부분이며 테스터가 여러 시나리오에서 풍부한 데이터를 캡처할 수 있도록 합니다.

이 옵션은 데스크톱 및 웹 기반 응용 프로그램 모두에 적합하며 소프트웨어 개발에 대한 명확한 기록이 있는 종단 간 추적 기능도 제공합니다.

그러나 이 접근 방식은 종종 Azure와의 더 깊은 통합이 필요하므로 유연성을 희생해야 합니다.

 

5. 간증

Testiny는 수동 탐색 테스트를 전문으로 하며 테스터가 최대 유연성을 위해 트리 구조를 사용하여 검사를 설계할 수 있는 스마트 편집기를 제공합니다.

실행 또는 테스트 사례에 대한 모든 변경 사항은 완전한 책임 및 추적 가능성을 보장하기 위해 애플리케이션 기록에 남아 있습니다.

그러나 이는 소규모 팀 및 오픈 소스 프로젝트에만 무료입니다.

 

엔터프라이즈 대 무료 탐색적 테스트 도구는 언제 사용해야 합니까?

 

예비 테스트는 가치 있는 투자이며 프리미엄 애플리케이션은 일반적으로 더 많은 기능을 제공하지만 충분한 기능을 제공하는 무료 옵션이 많이 있습니다.

예비 테스트는 프리미엄 모델에 전념하는 경우 상당한 운영 비용이 될 수 있지만 모든 소프트웨어 개발 회사 또는 팀이 이에 대한 자금이 있는 것은 아닙니다. 최상의 타사 소프트웨어 선택은 종종 회사의 특정 요구 사항에 따라 다릅니다.

유료 솔루션이 해당 프로젝트의 요구 사항을 충족하는 유일한 방법일 수 있습니다. 팀은 애플리케이션을 커밋하기 전에 다양한 선택 사항을 조사해야 합니다.

소규모 팀이 있는 회사는 제한된 수의 사용자에게 많은 옵션이 무료이므로 무료 테스트 도구의 이점을 가장 많이 누릴 수 있습니다.

또는 이러한 제한이 없는 옵션과 테스트 팀의 규모를 수용할 수 있는 옵션을 선택할 수 있습니다. 이것은 더 정확한 결과를 보장하기 위해 탐색적 테스터를 페어링하는 것을 훨씬 더 실용적으로 만들 수 있습니다. 팀은 자연스럽게 더 적은 수의 사용자 프로필을 필요로 합니다.

많은 서비스에서 소프트웨어의 무료 평가판을 제공하므로 조직이 요구 사항을 충족하는지 확인할 수 있습니다. 이들은 보통 몇 주 동안만 지속됩니다.

 

탐색적 테스트 체크리스트, 팁 및 요령

 

다음을 포함하여 테스터가 탐색 검사를 시작할 때 설명할 수 있는 많은 추가 팁이 있습니다.

 

1. 기능과 모듈을 적절히 나누기

잘못된 의사소통을 피하기 위해 테스트 팀은 실행하려는 모든 기능과 검사에 대한 명확한 목록을 작성해야 합니다. 이것은 또한 테스트가 소프트웨어 기능 전체에 적절하게 분산되도록 보장하는 것을 의미합니다.

최상의 결과를 얻으려면 테스트 팀이 각자의 기술과 강점에 따라 각 테스트를 수행할 구성원을 협상하는 것이 가장 중요합니다.

 

2. 소프트웨어를 이해하기 위한 작업

학습 단계는 탐색 테스트의 중요한 부분입니다. 즉, 테스터는 테스트를 고안하기 전에 소프트웨어에 적극적으로 참여하고 작동 방식을 파악해야 합니다.

이 소프트웨어의 내부 작동에 대해 배우는 것은 팀 전체에서 더 큰 이해를 보장하는 협업 프로세스가 될 수 있습니다. 이를 통해 테스터는 더 나은 검사 및 테스트 사례를 개발할 수 있습니다.

 

3. 문제 영역 파악

모든 애플리케이션에는 다른 애플리케이션과 교차하는 기능 또는 구성 요소가 있습니다. 소프트웨어가 더욱 복잡해짐에 따라 오류가 발생할 가능성이 높아집니다. 이것은 더 많은 테스트가 필요할 수 있습니다. 팀은 추가 도움이 필요한 구성 요소를 파악하기 위해 적극적으로 노력해야 합니다.

응용 프로그램의 요구 사항과 팀의 전체 테스트 우선 순위를 가장 잘 반영하는 특정 테스트 투어를 사용할 수 있습니다.

 

4. 기본 사용자 시나리오로 시작

품질 보증 팀은 필요한 경우 임의의 순서로 예비 테스트를 수행할 수 있지만 더 복잡한 기능을 조사하기 전에 더 쉬운 검사부터 시작하는 것이 더 도움이 될 수 있습니다.

이것은 복잡성 측면에서 순조로운 진행을 허용하여 테스터에게 소프트웨어를 이해할 수 있는 기회를 제공합니다. 또한 기본 기능이 예상대로 작동하는지 테스트하는 데 도움이 됩니다.

 

5. 테스터를 함께 페어링

페어링 탐색 테스트는 품질 보증 단계를 간소화하고 검증하여 테스터가 모든 검사에서 절대적인 확신을 가지고 작업할 수 있도록 합니다. 협업은 소프트웨어에 대한 각 팀원의 친숙도를 향상시켜 모든 형태의 테스트를 보다 효과적으로 만듭니다.

또한 개별 관점으로 인해 훨씬 더 깊이 있는 버그 보고서를 제공하여 개발자에게 더 많은 작업 정보를 제공할 수 있습니다.

 

6. 여러 테스트 실행

응용 프로그램을 다시 테스트할 수 있는 팀의 능력은 그들 앞의 시간표와 기한에 따라 달라집니다. 그러나 가능하다면 특히 문제가 있는 구성 요소를 두 번 확인하는 것이 유용할 수 있습니다.

또한 반복 테스트를 통해 이전에 감지된 문제가 현재 수정되어 소프트웨어에 더 이상 영향을 미치지 않는지 확인할 수 있습니다. 이러한 부지런함은 때때로 테스트가 성공적인지 확인하는 데 필요합니다.

 

결론

 

탐색적 테스트는 모든 종류의 소프트웨어 개발 회사에 많은 것을 제공하며 스크립트 테스트 및 기타 많은 검사를 보완하는 역할을 합니다.

탐색 테스트의 도움으로 품질 보증 팀은 응용 프로그램을 더 높은 표준으로 테스트하여 최종 소프트웨어의 품질을 개선하고 개발자가 오류가 있는 경우 오류를 수정할 수 있도록 돕습니다.

수동 및 자동 탐색 테스트를 조합하면 모든 소프트웨어 구성 요소에 동일한 주의를 기울일 수 있으므로 최대한의 이점을 얻을 수 있습니다.

회사에 예비 자동화 소프트웨어가 필요한 경우 ZAPTEST FREE Edition은 다른 프리미엄 애플리케이션보다 훨씬 광범위하고 유연한 기능을 제공하므로 테스터가 이러한 검사를 쉽게 최적화할 수 있습니다.

 

FAQ 및 리소스

 

1. Exploratory Test 자동화에 대한 최고의 과정

 

신규 및 숙련된 탐색 테스터 모두 자신의 기술을 향상시키는 과정을 통해 혜택을 받을 수 있습니다. 여기에는 새로운 소프트웨어에 접근하는 방법을 파악하는 것이 포함됩니다.

이에 도움이 되는 유용한 과정은 다음과 같습니다.

• Udemy의 완전한 2023년 소프트웨어 테스팅 부트캠프; 이것은 28시간 동안 광범위한 소프트웨어 테스트를 가르칩니다.

• Coveros의 탐색적 테스트; 이것은 헌장을 개발하고 탐색적 테스트를 API에 적용하는 방법에 중점을 둡니다.

• Polteq의 2일 탐색 테스트 교육; 여기에서는 탐색적 테스트가 Agile 컨텍스트에서 작동하는 방식을 살펴봅니다.

• LinkedIn의 탐색적 테스트; 이것은 현대 소프트웨어 테스팅이 탐색적 검사를 어떻게 받아들였는지를 보여줍니다.

• 소프트웨어 테스팅에 대한 Coursera의 소개; 이는 처음 테스터가 일반적인 절차를 이해하는 데 도움이 됩니다.

 

2. Exploratory Testing의 상위 5개 면접 질문은 무엇입니까?

 

예비 테스트 직책을 인터뷰할 때 채용 관리자가 후보자의 기술과 경험을 정확하게 평가하기 위해 좋은 질문을 하는 것이 중요합니다.

가장 많이 묻는 다섯 가지 질문은 다음과 같습니다.

• 적합성을 포함하여 스크립팅 테스트와 탐색 테스트의 주요 차이점은 무엇입니까?

• 탐색적 테스터로서 어떤 어려움에 직면했으며 이를 어떻게 극복했습니까?

• 로봇 프로세스 자동화에서 가장 많은 이점을 얻을 수 있는 탐색적 테스트의 예를 제시하십시오.

• 탐색적 테스터에게 가장 중요한 기술(기술적 또는 기타)은 무엇이라고 생각합니까?

• 소프트웨어와 이를 확인하는 방법을 이해하기 위해 고군분투하는 테스터에게 어떤 조언을 하시겠습니까?

 

3. Exploratory Testing에 대한 최고의 YouTube 자습서

 

YouTube와 같은 비디오 공유 웹사이트에는 예비 테스터가 핵심 원칙을 이해하는 데 도움이 되는 무료 자습서가 많이 있습니다. 일부는 시리즈의 일부를 형성하고 다른 일부는 주제에 대한 단일 비디오 심층 분석입니다.

이러한 자습서를 제공하는 채널은 다음과 같습니다.

• Testing Academy는 소프트웨어 테스트의 모든 측면을 다루는 수백 개의 비디오를 제공합니다.

• 소프트웨어 테스팅 멘토(Software Testing Mentor)는 소프트웨어 테스팅 기초에 대한 광범위한 비디오를 유사하게 제공합니다.

• QAFox는 모든 비디오를 보완하는 실제 사례와 라이브 프로젝트도 제공합니다.

• SDET-QA Automation Techie에는 다양한 테스트 접근 방식에 대한 여러 종합 비디오가 있습니다.

• GlitchITSystem은 결함을 발견하기 위해 탐색적 테스트를 통해 다양한 웹사이트를 살펴봅니다.

 

4. 예비 테스트를 유지하는 방법은 무엇입니까?

 

잘 실행된 탐색적 테스트에는 개발자와 미래의 테스터가 소프트웨어의 새로운 반복을 위해 다시 참조하는 강력한 문서가 포함됩니다.

응용 프로그램에 중요한 업데이트가 있는 경우 이러한 추가 사항이 기존 기능에 부정적인 영향을 미치지 않도록 기본 기능을 다시 테스트해야 합니다.

이것이 탐색 테스트가 장기적으로 성공적으로 유지되도록 보장하는 유일한 방법입니다. 또한 원래 응용 프로그램 및 검사를 설계할 때 예비 기능과 같은 향후 계획을 고려하는 데 도움이 됩니다.

QA 직원은 이러한 테스트를 적절하게 계획하고 애플리케이션을 다시 확인해야 하는 시기를 파악해야 합니다. 자동화된 테스트 도구는 팀에 도움이 될 수 있습니다.

 

5. 탐색적 테스팅은 블랙박스 테스팅인가?

Exploratory testing은 코드를 직접 검사하지 않고 기능을 살펴봄으로써 응용 프로그램을 확인하는 블랙박스 테스트와 매우 유사합니다.

예비 테스트에 포함되는 검사 유형에는 명시적인 제한이 없습니다. 이 접근 방식은 코드를 포함하여 소프트웨어의 모든 측면을 포함할 수 있습니다.

이 두 테스트 유형의 주요 유사점 중 하나는 테스터의 예지력 부족입니다. 블랙박스 테스터는 일반적으로 소프트웨어를 테스트하기 전에 소프트웨어에 익숙하지 않으며 예비 테스터는 초기 검사의 일부로 소프트웨어가 어떻게 작동하는지 배웁니다.

일반적으로 탐색적 테스트가 항상 블랙박스 테스트로 분류되는 것은 아니지만 이 두 가지 접근 방식 사이에 상당한 양의 교차점이 있는 것은 사실입니다.

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post

Virtual Expert

ZAPTEST

ZAPTEST Logo