QA (Quality Assurance) QC (Quality Control) 관련 용어 IV
✅ 새니티 테스트(Sanity Test)란? for Quality Assurance
새니티 테스트(Sanity Test)는 주요 기능이 정상적으로 작동하는지 빠르게 확인하는 테스트입니다.
🔹 Sanity Test의 특징
✔ 핵심 기능 점검 → 전체가 아니라 특정 부분만 테스트
✔ 빠른 검증 → 빌드가 정상적인지 신속하게 확인
✔ Regression Test의 일부 → 상세한 테스트 전에 핵심만 체크
✔ Pass/Fail 기준 → 큰 문제 없으면 다음 단계로 진행
🔍 Sanity Test가 필요한 이유
새로운 기능이 추가되거나 버그가 수정된 후, 전체 테스트(Regression Test) 전에 핵심적인 부분이 정상 작동하는지 확인하는 과정이 필요합니다.
만약 Sanity Test에서 실패하면, 상세한 테스트를 진행할 필요 없이 바로 수정 작업이 이루어져야 합니다.
🔄 Sanity Test vs. Smoke Test 차이
구분 | Sanity Test | Smoke Test |
---|---|---|
목적 | 수정된 기능이 제대로 동작하는지 확인 | 전체 시스템이 실행 가능한지 검증 |
범위 | 특정 기능 중심 | 전체 시스템 테스트 |
실행 시점 | 버그 수정 후 | 빌드 배포 후 |
테스트 깊이 | 비교적 깊게 테스트 | 넓지만 얕게 테스트 |
예시 | 로그인 오류 수정 후, 로그인 기능만 확인 | 앱 실행 후 모든 메뉴가 열리는지 확인 |
💡 한 줄 요약:
Sanity Test는 버그 수정 후, 핵심 기능이 정상 작동하는지 확인하는 빠른 검증 테스트입니다!
✅ Spec-out이란?
Spec-out은 기능이나 요구사항(Specification)을 상세하게 정의하거나 정리하는 과정을 의미합니다.
🔹 Spec-out의 특징
✔ 기능 정의 → 어떤 기능이 필요한지 구체적으로 정리
✔ 요구사항 문서화 → 개발자, 디자이너, QA 등이 참고할 수 있도록 명확한 스펙 제공
✔ 프로젝트 계획 수립 → 개발, 테스트, 출시 전 사전 작업
🛠 Spec-out이 사용되는 상황
1️⃣ 신규 기능 개발 전 요구사항 정의
“이 기능을 어떻게 구현할 것인가?”에 대한 세부 내용 정리
2️⃣ 기존 기능 개선을 위한 문서화
기존 기능을 업데이트할 때, 변경 사항을 문서로 정리
3️⃣ QA 및 테스트 계획 수립
테스트 케이스 작성 전, 어떤 기준으로 테스트할지 정의
🔄 Spec-out 예시
✅ 로그인 기능을 Spec-out 하는 경우
-
로그인 방식: 이메일/비밀번호, 소셜 로그인(Google, Apple) 지원
-
비밀번호 규칙: 최소 8자 이상, 숫자 1개 포함
-
실패 시: 5회 실패 후 10분간 로그인 제한
💡 한 줄 요약
Spec-out은 기능이나 요구사항을 상세히 정의하고 문서화하는 과정입니다! 📄✨
✅ Turn 항목 정의란?
Turn 항목 정의는 QA(품질 보증) 또는 소프트웨어 개발 과정에서 프로세스의 특정 순서나 흐름의 전환 지점에 대한 기준을 정의하는 작업입니다.
🔍 Turn 항목 정의 주요 개념
✔ 흐름 전환 기준 → 사용자 행동이나 시스템 이벤트에 의해 프로세스가 다음 단계로 넘어가는 시점
✔ 트리거 이벤트 → 전환을 유발하는 특정 조건(예: 버튼 클릭, 페이지 이동)
✔ 예외 상황 처리 → 흐름 전환 중 발생할 수 있는 오류나 예외 상황
🛠 사용 예시
1️⃣ 회원가입 프로세스에서의 Turn 항목 정의
-
사용자 정보 입력 → 인증 코드 발송
-
인증 코드 입력 → 회원가입 완료
2️⃣ 결제 프로세스 Turn 항목 정의
-
상품 선택 → 결제 페이지 이동
-
결제 정보 입력 → 결제 완료
🔑 체크리스트 항목 예시
항목 | 전환 조건 | 예외 상황 | 비고 |
---|---|---|---|
로그인 진행 | 로그인 버튼 클릭 | 비밀번호 오류 | 5회 실패 제한 |
결제 완료 | 카드 정보 입력 | 카드 승인 실패 | 승인 재시도 가능 |
회원가입 완료 | 인증번호 입력 | 인증 실패 | 재발송 가능 |
💡 한 줄 요약
Turn 항목 정의는 특정 프로세스에서 전환되는 흐름의 기준과 조건을 명확히 규정하는 작업입니다!
✅ Prod 환경이란?
**Prod 환경(Production Environment)**은 제품 또는 서비스가 최종 사용자에게 배포되어 실제로 운영되는 환경을 의미합니다.
🔑 주요 특징
-
실제 사용자들이 접속하고 사용하는 환경
-
가장 안정적이고 검증된 버전의 소프트웨어가 배포됨
-
서비스 품질 보장 및 보안 강화 필요
-
테스트 환경과는 달리 실시간 데이터와 거래가 발생
🛠 Prod 환경 구성 요소
항목 | 설명 |
---|---|
서버 | 서비스가 운영되는 실 서버 |
데이터베이스 | 실제 사용자 데이터를 저장 |
모니터링 시스템 | 서비스 상태와 성능 모니터링 |
보안 시스템 | 데이터 암호화 및 접근 제어 |
💡 개발 환경과의 차이
환경 | 목적 | 데이터 | 안정성 |
---|---|---|---|
Dev | 개발 및 기능 테스트 | 가짜 데이터 | 낮음 |
Staging | 실제와 유사한 테스트 | 테스트 데이터 | 중간 |
Prod | 사용자 서비스 운영 | 실제 데이터 | 매우 높음 |
🔥 한 줄 요약
Prod 환경은 서비스가 실제 사용자에게 배포되어 운영되는 최종 환경입니다!
✅ Dev 환경이란?
**Dev 환경(Development Environment)**은 소프트웨어 개발 및 초기 테스트가 이루어지는 환경을 의미합니다.
🔑 주요 특징
-
개발자들이 코드 작성 및 수정 작업을 수행
-
가장 자유로운 환경으로, 오류 발생 가능성 높음
-
새로운 기능 개발 및 실험적인 작업 진행
-
실제 데이터가 아닌 모의 데이터(Mock Data) 사용
🛠 Dev 환경 구성 요소
항목 | 설명 |
---|---|
코드 저장소 | 개발 코드가 저장되는 Git 저장소 |
개발 서버 | 기능 구현 및 테스트용 서버 |
데이터베이스 | 테스트용 데이터 저장 |
디버깅 도구 | 오류 및 성능 분석 도구 |
💡 Dev 환경과 다른 환경 비교
환경 | 목적 | 데이터 | 안정성 |
---|---|---|---|
Dev | 기능 개발 및 실험 | 가짜 데이터 | 낮음 |
Staging | 배포 전 최종 테스트 | 테스트 데이터 | 중간 |
Prod | 사용자 서비스 운영 | 실제 데이터 | 매우 높음 |
🔥 한 줄 요약
Dev 환경은 개발자들이 기능을 구현하고 실험하는 테스트 공간입니다! 💻✨
Leave a Reply