단위 3 / 11

탐색적 테스트 및 테스트 아이디어 생성: AI를 활용한 창의적인 버그 사냥

이득:

  • 탐색적 테스트의 인간 호기심 기반 특성을 이해하고 인공지능을 파트너로 사용하여 테스트 헌장 및 직관적인 단서를 생성하는 능력
  • 입력, 타이밍, 형식, 승인, 중단 등 발견 축을 다양화하고, 생산 단계에서 각각의 이상 징후를 다시 기록하는 능력
  • 디스커버리 세션 자체는 인간이 진행하는 동안 준비 및 마무리 단계에서만 AI를 사용하는 한계를 적용하는 기능

작성된 모든 테스트 케이스는 이미 생각한 내용을 확인합니다. 그러나 가장 위험한 실수는 이전에 누구도 생각하지 못했던 곳에 숨어 있는 경우가 많습니다. 탐색적 테스트(테스터가 미리 작성된 스크립트에 의존하지 않고 제품을 탐색하여 제품을 동시에 학습, 설계 및 실행하는 테스트 접근 방식)는 바로 이러한 격차를 목표로 합니다. 탐색적 테스트에서 전문가는 제품을 자유롭게 사용하면서 "이렇게 하면 어떻게 될까요?"라고 묻고 시스템의 예상치 못한 동작을 포착합니다. 이는 인간의 직관과 호기심에 가장 많이 의존하는 테스트 유형입니다. 이것이 바로 여기서 인공지능(AI)의 역할이 '대체'가 아니라 호기심을 증폭시키고 사각지대를 불러일으키며 아이디어를 창출하는 이유입니다.

이 단원에서는 테스트 헌장 인쇄, 휴리스틱 불러오기, 세션 후 메모 요약에 이르기까지 AI를 탐구 테스트 파트너로 사용하는 방법을 배웁니다.

탐색적 테스트가 여전히 인간의 작업인 이유는 무엇입니까?

단계를 미리 작성하고 문자 그대로 반복하는 테스트인 스크립트 테스트는 알려진 내용을 확인합니다. 탐색적 테스트는 알려지지 않은 것을 검색합니다. 탐색적 테스트의 가치는 테스터가 제품을 보고 "여기에 뭔가 이상한 것이 있다"고 느끼는 순간부터 나옵니다. AI는 당신이 보는 대로 제품을 볼 수 없고, 실제 사용자를 괴롭히는 것이 무엇인지 감지할 수 없으며, "이 버튼은 잘못된 위치에 있습니다"라고 말하여 방해받을 수 없습니다. 그러나 AI는 세 가지 면에서 매우 강력한 도움을 줍니다. (1) 테스트 아이디어의 체계적인 목록 생성, (2) 잊어버린 테스트 축을 상기시켜줌, (3) 흩어져 있는 발견 메모를 체계적인 보고서로 전환합니다.

팁: 발견 세션을 시작하기 전에 AI에게 "테스트 아이디어 준비"를 요청하세요. 세션 중에 화면을 AI에게 맡기지 마십시오. AI는 세션 전후에 도움이 됩니다. 세션 자체는 귀하의 호기심에 의해 주도됩니다.

휴리스틱과 AI

탐색적 테스터는 버그 찾기의 방향을 알려주는 짧은 알림인 경험적 방법을 사용합니다. AI는 이를 사용자의 상황에 맞게 조정하여 사용자에게 상기시킬 수 있습니다. 몇 가지 고전:

  • CRUD: 각 데이터에 대해 생성, 읽기, 업데이트, 삭제 흐름을 시도해 보세요. 누군가를 방해하십시오.
  • Goldilocks(약간/전체/많음): 필드에 매우 적은 데이터, 전체 데이터, 많은 데이터를 입력합니다(0자, 1자, 10,000자).
  • CRUD + 예약: 두 탭에서 동일한 레코드를 한 번에 편집한 다음 둘 다 저장합니다.
  • 중단: 작업 도중 페이지 새로 고침, 네트워크 연결 끊기, 백스페이스 누르기.
  • 역순: 단계를 역순으로 수행합니다(먼저 결제한 다음 장바구니에 추가).

AI에게 "해당 화면에 이러한 직관적인 신호를 적용하여 구체적인 시도를 제안"하라고 지시하면 현장에서 바로 사용할 수 있는 체크리스트가 제공됩니다.

테스트 조건 작성(헌장)

탐색적 테스트는 방황하는 것이 아닙니다. 이는 테스트 헌장(탐색 세션에서 탐색할 내용과 목적을 정의하는 짧은 지시문)에 중점을 둡니다. 좋은 헌장은 다음 패턴을 따릅니다. "[도구/데이터]를 사용하여 [대상 도메인]을 탐색하여 [어떤 정보/위험]을 찾아냅니다." AI는 이러한 용어의 초안을 신속하게 작성합니다.

탐색적 테스트와 스크립팅된 테스트의 균형 유지

건전한 테스트 전략은 스크립트(자동화, 반복 가능) 테스트와 탐색적 테스트의 조합을 사용합니다. 스크립트 테스트는 버전별로 알려진 동작이 손상되지 않았는지 저렴하게 검증합니다. 반면 탐색적 테스트에서는 이러한 스크립트가 고려한 적이 없는 새로운 위험을 찾습니다. 둘은 경쟁자가 아니라 보완 관계이다. 흔한 실수는 "발견할 필요가 없도록 모든 것을 자동화하자"라고 생각하는 것입니다. 자동화는 이미 알고 있는 것만 확인하지만, 모르는 것은 결코 찾을 수 없습니다. 또 다른 실수는 그 반대입니다. 자동화를 설정하지 않고 각 릴리스에서 수동 검색에 의존하는 것입니다. 이로 인해 동일한 기본 버그가 계속해서 발생하게 됩니다.

AI는 이러한 균형을 확립하는 데 도움이 됩니다. 발견 세션에서 발견한 이상 현상을 AI에 제공하여 영구적인 스크립트 회귀 테스트로 전환할 수 있습니다. 따라서 검색에서 한 번 발견된 오류는 다시는 감지되지 않은 상태로 반환될 수 없습니다. 발견은 "새로운 위험 찾기"를 담당하고, 자동화는 "발견된 위험을 놓치지 마세요"를 관리합니다. AI는 둘 사이의 연결을 가속화합니다.

팁: 각 검색 세션의 출력을 "즉시 수정할 버그"와 "영구 자동화로 전환할 시나리오"라는 두 개의 버킷으로 분리합니다. 두 번째 버킷은 발견의 장기적인 가치를 회귀 패키지로 전달합니다.

약한 프롬프트 / 강한 프롬프트

약함: "이 화면에서 무엇을 테스트해야 하나요?"
Strong: "'프로필 사진 업로드' 기능의 경우 90분 탐색 테스트 세션을 3가지 테스트 조건으로 나눕니다. 각 조건에 대해 대상, 사용할 직관적인 단서(파일 크기/형식/goldilocks/잘림), 시도할 5가지 구체적인 작업, 주의해야 할 위험 신호(느림, 손상된 이미지, 보안)를 제공합니다. 특히 악성 파일 업로드의 위험(너무 큰 파일, 잘못된 확장명)을 방어적으로 해결하세요."

강력한 프롬프트; 기간, 구조, 단서 및 위험 초점을 제공합니다. 그 결과는 세션 내내 편리하게 사용할 로드맵입니다.

탐색 축 테이블

물어볼 질문

샘플 에세이

입력 제한

극단값에서 필드는 무엇을 합니까?

이름 10,000자

타이밍

동시/중단 처리에서는 어떤 일이 발생하나요?

동일한 기록을 두 개의 탭에 저장

형식

예상치 못한 형식을 처리하는 방법은 무엇입니까?

이모티콘, 오른쪽에서 왼쪽으로 쓰는 텍스트, HTML

권위

승인되지 않은 사용자가 접근할 수 있나요?

수동으로 URL 변경

상태

유효하지 않은 상태 전환이 가능합니까?

취소된 주문에 대해 결제해 보세요

공제

네트워크/세션이 중단되면 데이터가 일관됩니까?

녹음하는 동안 네트워크 끊기

복사 가능한 템플릿 4개

1) 테스트 조건 생성기:

귀하의 역할: 선임 탐색 테스터. [duration]분의 탐색 세션을 기능:[feature]에 대한 3~4개의 테스트 조건으로 나눕니다. 각 조건: 목표, 사용할 직관적인 단서, 시도할 구체적인 5가지 조치, 관찰할 위험 신호. 조건 패턴: "[위험/정보]에 대한 [도구/데이터]를 사용하여 [도메인]을 탐색합니다."

2) 직관적인 큐 어댑터:

이러한 직관적인 단서를 CRUD, 골디락(적음/전체/더 많이), 인터럽트, 역순, 우회 인증 화면에 대한 구체적인 실험으로 변환합니다. 화면: [화면/흐름 설명]. 각 단서에 대해 2개의 화면별 실험을 작성합니다.

3) 맹점 알림:

나는 다음 기능을 테스트하고 있습니다: [feature]. 숙련된 테스터가 이 유형의 기능을 가장 놓친 10가지 사례를 나열하십시오. 접근성, 현지화(언어/날짜/통화), 동시성, 보안 및 성능 축을 포함합니다.

4) 세션 노트 요약:

다음은 내 발견 세션의 원시 메모입니다. 다음 구조로 구성하십시오. - 발견된 이상 현상(심각도 추정) - 알려진 재생 단계가 있는 변형 - 추가 조사가 필요한 변형 - 다음 세션에 대한 제안 원시 메모: [메모 붙여넣기]

세 개의 미니 케이스

사례 1 — 사각지대 알림이 작동 중입니다. 전문가가 다국어 애플리케이션에서 검색 기능을 테스트하고 있었습니다. "현지화 축을 잊지 마세요"라는 AI의 알림에 따라 그는 터키어 전용 "i/I" 문자 변환을 시도했습니다. "이스탄불"을 검색해도 결과가 나오지 않았습니다. 소문자 변환 오류가 감지되었습니다. AI 축이 생각나서 전문가가 시도해서 찾아냈습니다.

사례 2 — 헌장의 초점. 새로운 테스터는 결제 화면을 통해 2시간 동안 "서핑"을 했지만 구조화되지 않았기 때문에 작은 메모 2개만 작성했습니다. AI는 3가지 테스트 조건으로 나누어 세션을 기획한 뒤 같은 기간 11건의 이상 징후를 기록했다. 그 중 두 명은 심각했습니다. 구조 덕분에 같은 시간도 5배 더 효율적이었습니다.

사례 3 - 방어적인 파일 업로드 테스트. 한 팀은 자체 제품 내에서 프로필 사진을 업로드할 때 YZ가 제안한 "잘못된 확장자/너무 큰 파일"을 시도했습니다. 50MB 파일로 인해 서버가 40초 동안 충돌하고 크기 제한과 시간 초과가 추가된 것으로 나타났습니다. 테스트는 방어 목적으로 자체 제품에 대해서만 수행되었습니다.

일반적인 실수

  • AI를 세션으로 대체합니다. 발견의 가치는 관찰과 직관에 있습니다. AI는 준비와 회복을 돕습니다.
  • 예약 없이 둘러보세요. 집중하지 않고 몇 시간을 보내고 아무것도 찾지 못합니다. 테스트 조건은 초점을 제공합니다.
  • 메모를 수집하지 않습니다. 검색에서 발견된 이상 항목을 프로덕션 단계에서 다시 저장하지 않으면 해당 검색 결과가 손실됩니다.
  • 한 축에 갇혀 있습니다. 항상 입력의 한계를 테스트하십시오. 권한, 일정, 현지화 축을 우회합니다.
  • 승인되지 않은 보안 테스트를 수행합니다. 귀하의 제품에 대한 파일/URL 조작은 허가를 받은 경우에만 시도하십시오.

요약하면

탐색적 테스트는 기록되지 않은 것을 찾아 인간의 호기심에 가장 의존하는 테스트 유형입니다. AI는 여기서 당신을 대체하지 않습니다. 테스트 조건의 개요를 설명하고, 직관적인 단서를 상황에 맞게 조정하고, 맹점을 상기시키며, 지저분한 세션 메모를 체계적인 보고서로 전환합니다. 가치는 관찰과 직관에서 나옵니다. AI는 이 값에 초점을 맞추고 곱합니다. 조건을 작성하고, 축을 변경하고, 생산 단계에서 결과를 다시 기록하고, 승인 내에서만 보안 테스트를 수행합니다.

응용과제

귀하의 제품에서 기능을 선택하십시오. AI가 포함된 "테스트 조건 생성기" 템플릿을 사용하여 60분 세션을 3가지 조건으로 나눕니다. 세션을 수행하고(AI 없이 직접 탐색) 원시 메모를 유지합니다. 완료되면 "세션 노트 요약기" 템플릿을 사용하여 노트를 정리하세요. 결과: 최소 5개 이상, 각각에 대한 재생 단계 및 심각도 추정치. 어떤 테스트 조건과 직관적인 단서가 당신이 발견한 가장 가치 있는 이상 현상으로 이어졌는지 기록해 두세요.

체크리스트

  • [ ] 세션에 앞서 AI로 테스트 조건을 만들고 초점을 맞춰봤습니다.
  • [ ] 최소한 4가지의 서로 다른 검색 축(입력, 타이밍, 형식, 승인, 중단)을 시도했습니다.
  • [ ] 나는 호기심을 가지고 수동으로 세션을 진행했습니다. 나는 AI를 대체하지 않았다.
  • [ ] 나는 각 변칙 현상의 재현 단계와 심각도 추정치를 기록했습니다.
  • [ ] AI를 이용해 메모한 내용을 정기보고서로 만들었습니다.
  • [ ] 나는 승인을 받아 내 제품에 대해서만 보안/조작을 시도했습니다.