본문 바로가기
📚 기초 지식

시험 단계 진행 절차와 용어

by Mia_ 2023. 2. 14.

시험 단계 진행 절차

- 시험 단계의 난이도와 기간은 해당 서비스의 특성에 달려 있음

- 자산을 취급하는 금융 서비스의 경우 서비스 품질을 높이기 위해 많은 시간, 비용을 투자하나 단순 홈페이지나 게시판은 대폭 축소 진행해도 무방함

- 시험 방식은 다양하며 특성에 따라 알맞게 선택할 수 있음

 

 

용어

블랙박스 vs 화이트박스 테스트

- 블랙박스 테스트는 내부를 들여다 볼 수 없는 상태를 의미하며 테스트를 진행하는 사람이 시스템 내부 설계를 모르는 상태에서 기능만 사용함으로써 정상 작동 여부를 판단하는 방식

- 화이트박스 테스트는 내부 구조와 코드를 알고 있는 상태에서 진행되는 테스트로 개발자 유닛 테스트가 여기에 해당 됨. 유닛 테스트는 구현 단계에서 실시 되며, 시험 단계에서는 대부분의 테스트가 블랙 박스로 진행 됨 

 

TC vs 체크리스트 

- TC는 Test Case의 약자로 테스트 하는 항목을 뜻함

- 체크리스트 또한 테스트를 하는 항목 혹은 항목의 집합을 의미함 

- TC가 조금 더 설계적인 관점을 포함하고 있다고는 하지만 두 개의 용어가 구별없이 거의 혼용되는 편 

 

QA팀

- QA(Quality Assurance)팀은 시험 단계에 필요한 체크리스트 작성 및 테스트를 실시하고 배포된 서비스의 사후 품질을 관리함

- 보통 중요도가 높은 서비스의 경우에는 반드시 존재하는 팀이지만 서비스 중요도가 낮거나 회사의 규모가 작은 경우에는 별도 QA팀이 존재하지 않을 수도 있음

- QA팀이 서비스 품질을 위해 시행하는 여러 절차와 그에 해당하는 문서가 존재함

 

 

사전 준비

통함 테스트 환경 구축

- 시험 단계 테스트는 실제 배포 환경과 동등한 환경에서 실시 되어야 하며 테스트가 진행되는 환경은 서비스의 목적과 난이도에 따라 각각의 구성 방식과 수가 결정되어야 함

- 만일 아직 배포를 한번도 하지 않은 서비스의 경우에는 배포 전까지 배포 환경을 통합 테스트 환경에서 사용하기도 함

 

개발자 테스트

- 시험 단계에 진입을 판단하기 위해 실시하는 테스트

- 개발자가 구현 단계에서 개발한 기능을 통합 테스트 환경에서 정상 작동 하는지를 확인함 

- 개발자 테스트 통과 여부는 배정 받은 이슈에게 개별로 기입하기도 하고 별도의 문서를 만들어 QA팀에 제출하기도 함

 

 

진행 절차 

Alpha 테스트

- 기본적인 기능 테스트를 실시하는 단계임

- 기존 기능은 기본 예외적인 상황까지 전부 포함함 

회원가입에 대한 Alpha 체크리스트 예제

- 기대 동작에 대한 자세한 정의, 예를 들어 에러 토스트의 위치나 글자 색 등은 체크리스트에 기입되어 있지 않다 → 해당 내용은 보통 요구사항 정의서나 혹은 다른 정책 문서에 기입되어야 함

- 즉, 체크리스트의 기준이 되는 문서가 반드시 존재해야 하며 해당 문서는 서비스 정책을 자세하게 다루고 있어야 함

 

Beta 테스트

- Alpha 때 보다 복잡한 상황을 만들어서 테스트 하는 단계임

- 특별한 이유가 없다면 Alpha 테스트 패스율을 100%를 기준 진입 조건으로 함

- Beta 체크리스트는 Alpha 테스트 항목을 포함하며 만일 Beta 테스트 일정이 타이트한 경우 Alpha 테스트 항목 중 일부만 선별해서 포함 시키기도 함

- 이렇게 이전에 테스트한 항목을 다시 테스트 하는 행위를 회귀(Regression) 테스트라고 함

- 회귀 테스트를 진행하는 이유는 개발자 코드 수정으로 인해 예상치 못한 이펙트가 발생했는지를 확인하기 위해서임

- Beta 테스트 중 회귀 테스트 항목에서 에러가 일정 수치 이상 발생하면 Beta가 중단되고 Alpha로 돌아가게 됨

회원가입에 대한 Beta 체크리스트 예제

- 체크리스트 기반의 기능 테스트와 별개로 성능 테스트도 실시함

 

 

Acceptance 테스트

- Beta  테스트를 일정 수준 이상으로 통과하게 되면 상용 배포 여부가 결정됨

- 상용 배포가 결정되게 되면 마지막으로 Acceptance 테스트를 진행하게 됨 

- 해당 기간에 실시하게 되는 체크리스트는 보통 알파 체크리스트의 내용을 일부 그대로 사용하는 경우가 많음

- 따라서 Acceptance 테스트 단계에서 테스트 항목은 100% 회귀 테스트라고 봐도 무관함 

- 해당 단계에서는 결함이 발생하지 않아야 함!

'📚 기초 지식' 카테고리의 다른 글

ESlint, Prettier 설정  (0) 2023.02.17
개발자 테스트 체크리스트  (0) 2023.02.14
API 명세서  (0) 2023.02.14
테이블 명세서  (0) 2023.02.14
화면 정의서  (0) 2023.02.14