용어

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


  • 블랙박스 - 테스트를 진행 하는 사람이 시스템 내부 설계를 모르는 상태에서 기능만 사용

  • 화이트박스 - 내부 구조와 코드를 알고 있는 상태에서 진행되는 테스트로 개발자 유닛 테스트


TC(Test Case) vs 체크리스트


TC - 설계적 관점이 포함

하지만 구별없이 사용되는 경우가 많음

따라서, 체크 항목과 체크리스트라는 용어를 사용

  • 체크 항목
    • 테스트 할 항목
  • 체크리스트
    • 테스트 할 항목이 모여 있는 문서

QA(Quality Assurance)팀


시험단계에 필요한 체크리스트 작성 및 테스트 실시, 배포된 서비스의 사후 품질 관리


사전 준비

통합 테스트 환경 구축


시험 단계의 테스트는 실제 배포 환경과 동등한 환경에서 실시

환경은 서비스의 목적과 난이도에 따라 각각의 구성 방식과 수가 결정 되어야 함

배포 전까지 배포 환경을 통합 테스트 환경으로 사용 하기도 함

배포 환경을 빠르게 구축 후에 제출일 전까지 통합 테스트 환경으로 이용 하시는 것을 추천


개발자 테스트


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

구현 단계에서 개발한 기능이 통합 테스트 환경에서 정상 동작 하는 지 직접 확인

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

별도의 개발자 체크리스트를 만들어 수강생 여러분들이 직접 본인이 만든 프로젝트를 평가하는 지표로 사용


진행절차

Alpha 테스트


기본 적인 기능 테스트 - 기본 예외적인 상황까지 전부 포함

Alpha 테스트 예시


확인 해야 할 점은 기대 동작에 대한 자세한 정의는 어디에 기입되어 있는가?

해당 내용은 보통 요구사항 정의서나 혹은 다른 정책 문서에 기입

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

요구사항 정의서를 직접 작성해 봄으로써, 서비스 정책에 대한 이해를 돕고 중요성에 대해서도 인지


Beta 테스트


Alpha 때 보다 복잡한 상황을 만들어서 테스트

Alpha 테스트 패스율 100%를 기준을 진입 조건

Alpha 테스트 항목 포함(일부만 포함 시키기도 함)

다시 테스트 하는 행위를 회귀(Regression)테스트

회귀테스트 - 코드 수정으로 인해 예상지 못한 사이드 이펙트가 발생했는지를 확인하기 위해

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

Beta 테스트 예시


Beta 테스트 기간에는 체크리스트 기반의 기능 테스트와는 별개로 성능 테스트 실시

개발자가 모든 기능을 완료 하고 안정성이 어느 정도 보장된 상태에서 성능 확인

성능 테스트 관련 내용은 상당히 복잡하고 경험 베이스의 의사 결정이 필요한 부분이라 보통 경력이 높은 개발자들이 담당

Beta 기간에는 실제 상용 환경과 유사한 환경과 유사한 데이터를 기반으로 테스트

상용 배포가 안됐다면 상용 환경을 테스트 환경으로 그대로 이용


Acceptance 테스트


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

마지막으로 Acceptance 테스트

보통 알파 체크리스트의 내용을 일부를 그대로 사용하는 경우가 많다

테스트 항목은 100% 회귀 테스트라고 봐도 무관

결함이 발생하지 않아야 함

댓글남기기