결함 및 관리 도구 관련
Test Case(테스트 케이스)는 소프트웨어 테스팅의 지도와 같습니다.
혼란스러운 프로젝트의 길을 잃지 않도록, 무엇을 테스트할지, 어떻게 테스트할지, 어떤 결과를 기대할지 명확히 알려주는 체계적인 계획서입니다.
테스트 케이스는 “우리가 무엇을 확인하려는지”와 “어떤 기준으로 그것을 성공 또는 실패로 판단할 것인지”를 구체적으로 정의합니다.
테스트 케이스는 소프트웨어가 올바르게 작동하는지 확인하기 위해 설계된 시나리오입니다.
이 시나리오는 특정 입력 값, 실행 조건, 그리고 기대되는 출력을 포함하며, 다음과 같은 질문에 답을 제공합니다:
• “무엇을 테스트해야 하는가?”
• “테스트를 수행하는 방법은?”
• “테스트의 성공 기준은 무엇인가?”
1. 테스트 ID
• 고유 식별 번호. 예: TC001, TC_LOGIN_01
• 왜 필요할까?: 체계적인 관리와 추적을 위해 필요
2. 테스트 제목
• 테스트 대상의 간단한 설명
• 예: “로그인 기능 - 올바른 자격 증명을 입력했을 때 성공적으로 로그인해야 한다.”
3. 테스트 설명
• 테스트의 목적과 실행 조건에 대한 자세한 설명
• 예: “사용자가 올바른 이메일과 비밀번호를 입력한 경우, 홈 화면으로 리디렉션된다.”
4. 입력 데이터(Input Data)
• 테스트 수행에 필요한 데이터
• 예: “사용자 이메일: user@example.com, 비밀번호: Password123!”
5. 테스트 단계(Test Steps)
• 테스트를 실행하기 위한 구체적인 단계
• 예:
(1) 로그인 페이지로 이동한다.
(2) 이메일과 비밀번호를 입력한다.
(3) ‘로그인’ 버튼을 클릭한다.
6. 기대 결과(Expected Result)
• 테스트가 성공했을 때 기대되는 결과
• 예: “홈 화면으로 이동하며, 환영 메시지가 표시된다.”
7. 실제 결과(Actual Result)
• 테스트 수행 후 실제로 나타난 결과
8. 테스트 상태(Status)
• 테스트 성공 여부 (Pass/Fail)
• N/A (Not Available)
• N/T (Not Tested)
사례 1: 로그인 기능 테스트
• 테스트 ID: TC_LOGIN_01
• 테스트 제목: 로그인 - 올바른 자격 증명으로 성공
• 테스트 설명: 사용자가 유효한 이메일과 비밀번호로 로그인하면 홈 화면으로 이동해야 한다.
• 입력 데이터:
- 이메일: user@example.com
- 비밀번호: Password123!
• 테스트 단계
(1) 로그인 페이지로 이동한다.
(2) 이메일과 비밀번호를 입력한다.
(3) 로그인 버튼을 클릭한다.
• 기대 결과: 사용자는 홈 화면으로 이동하고 “환영합니다!” 메시지가 표시된다.
사례 2: 잘못된 비밀번호 테스트
• 테스트 ID: TC_LOGIN_02
• 테스트 제목: 로그인 - 잘못된 비밀번호로 실패
• 테스트 설명: 유효하지 않은 비밀번호로 로그인 시도 시, 로그인이 불가해야 하며, 로그인 페이지에 유지되어야 한다.
• 입력 데이터:
- 이메일: user@example.com
- 비밀번호: WrongPass123
• 테스트 단계
(1) 로그인 페이지로 이동한다.
(2) 이메일과 잘못된 비밀번호를 입력한다.
(3) 로그인 버튼을 클릭한다.
• 기대 결과: “비밀번호가 잘못되었습니다”라는 오류 메시지가 표시된다.
테스트 케이스는 항공기 조종사가 따르는 체크리스트와 같습니다.
비행기가 안전하게 이륙하고 착륙하기 위해, 조종사는 각 단계에서 정확히 어떤 점을 확인해야 하는지 알고 있어야 합니다.
테스트 케이스도 마찬가지입니다. 소프트웨어가 제대로 작동하도록, 모든 기능을 철저히 점검하기 위한 체계적인 계획서 역할을 합니다.
1. 테스트의 체계화
• 테스트 케이스는 QA 팀이 무엇을 테스트하고 있는지 명확히 파악하게 해줍니다.
2. 반복 가능한 테스트
• 테스트 케이스는 문서화되어 있어, 누가 테스트를 수행하더라도 동일한 결과를 얻을 수 있습니다.
3. 결함 추적 용이
• 결함이 발견되면, 관련된 테스트 케이스를 참조하여 원인을 추적하고 수정할 수 있습니다.
4. 효율적인 협업
• 테스트 케이스는 QA 팀뿐 아니라 개발자, 비즈니스 팀과의 의사소통에도 활용됩니다.
1. 테스팅의 기본기 익히기
• Test Case 작성은 QA의 기본입니다. 주니어 QA 엔지니어는 이를 통해 요구사항을 정확히 이해하고 체계적으로 검증하는 능력을 키울 수 있습니다.
2. 요구사항 분석 능력 향상
• 테스트 케이스를 작성하려면, 요구사항을 꼼꼼히 분석해야 합니다. 이 과정에서 QA 엔지니어는 요구사항을 검증 가능한 형태로 변환하는 능력을 익히게 됩니다.
3. 자동화의 출발점
• 테스트 케이스는 자동화 테스트 스크립트를 작성하는 기초 자료로 활용됩니다.
1. 명확하고 간결하게 작성
• 복잡한 설명 대신, 누구나 이해할 수 있는 간단한 문장을 사용하세요.
2. 구체적인 입력 데이터 포함
• 테스트를 실행하기 위한 데이터를 명확히 기재하세요.
3. 독립적으로 작성
• 테스트 케이스는 각각 독립적으로 실행 가능해야 합니다.
4. 테스트 커버리지 고려
• 소프트웨어의 모든 기능이 테스트 케이스에 포함되었는지 확인하세요.
Test Case는 QA 업무의 기본 도구로, 소프트웨어가 제대로 작동하는지 확인하는 데 중요한 역할을 합니다.
주니어 QA 엔지니어는 Test Case를 통해 체계적인 테스팅을 수행하며, 이를 기반으로 QA 프로세스를 이해하고 확장할 수 있습니다.
테스트 케이스를 잘 작성하는 것은 소프트웨어 품질을 지키는 첫걸음입니다.