ISTQB CTFL 01

jihyeon·2022년 11월 6일
0

Testing

목록 보기
1/2

[공부한 자료 : ISTQB CTFL Syllabus]
*더 궁금한 점은 인터넷 검색을 통해 찾았습니다.

  • 테스팅의 일반적인 목적
    1) 요구사항, 사용자 스토리, 설계, 소스 코드 등과 같은 작업 산출물 평가에 의한 결함 예방
    2) 명시된 모든 요구사항이 충족됐는지 검증
    3) 테스트 대상의 완성 여부 확인과 사용자와 기타 이해관계자의 기대치 대로 동작하는지의 확인
    4) 장애 및 결함 발견과 이에 따른 부적절한 소프트웨어 품질의 리스트 레벨의 감소
    5) 이해관계자가 테스트 대상의 품질 수준을 결정하는 데 필요한 충분한 정보 제공
    6) 계약/법률/규제 요구사항이나 표준의 준수 및 테스트 대상이 이러한 요구사항이나 표준을 준수하는지 확인

  • 컴포넌트 테스팅 목적
    1) 내재되어 있는 결함을 최대한 조기에 가능한 많이 식별하고 수정
    2) 코드 커버리지를 높이는 것

  • 인수 테스팅 목적
    1) 시스템이 기대한 대로 동작하는지, 또 요구사항을 충족하는지 확인
    2) 특정 시점에 시스템을 배포하는 것에 대한 리스크 정보를 이해관계자에게 제공

  • 테스팅 : 테스트를 실행하면 소프트웨어 결함으로 인한 장애를 찾아낼 수 있다.

  • 디버깅 : 그런 장애의 원인을 찾고 분석해서 수정하는 개발 활동이다.

  • 오류(Error) : 인간의 실수

  • 결함(Defect, Fault, Bug) : 컴포넌트나 시스템의 결점

  • 장애(Failure) : 눈으로 확인할 수 있는 시스템의 잘못된 동작

  • 테스팅의 7가지 원리
    1) 테스팅은 결함이 존재함을 밝히는 활동이지, 결함이 없음을 밝히는 활동이 아니다.
    2) 완벽한 테스팅은 불가능하다.
    3) 조기 테스팅으로 시간과 비용을 절약할 수 있다.
    4) 결함은 집중된다.
    : 출시 전 테스팅에서 발견하는 대부분의 결함은 소수의 모듈에 집중되어 발생하는 경향을 보이며, 운영상 장애의 대부분 역시 소수의 모듈에서 발생한다.
    5) 살충제 패러독스에 유의하라
    : 만일 같은 테스트를 계속해서 반복 실행한다면, 결국 해당 테스트로는 결함을 더 이상 발견할 수 없게 된다. 새로운 결함을 발견하기 위해서는 기존 테스트와 테스트 데이터를 바꾸고 새로운 테스트를 작성할 필요가 있다.
    (살충제를 계속 사용하다 보면 결국 해충을 잡지 못하듯, 테스트도 반복하다 보면 결국 결함을 더 이상 찾지 못하게 된다.)
    6) 테스팅은 정황에 의존적이다.
    7) 오류 부재는 궤변이다.

  • 테스팅 용어
    1) 요구사항 명세서(SRS)
    2) 테스트 베이시스(Test Basis)
    : 테스트 및 테스트 케이스 설계의 근거로 사용되는 모든 문서 또는 정보
    3) 테스트 케이스(Test Case)
    : 입력 값, 실행 사전조건, 테스트 절차, 기대 결과 등의 집합

  • 테스트 프로세스
    1) 소프트웨어의 품질 기준을 만족하기 위한 테스트를 수행함에 있어, 실행 조직의 역할과 책임, 필요 작업과 절차 및 산출물을 정의한 것이다.
    2) 소프트웨어 테스트의 다양한 단계/활동을 정의한다.

  • 테스트 프로세스를 구성하는 주요 활동
    1) 테스트 계획
    : 테스팅의 목적과 정황으로 인한 제약 사항을 고려해 테스트 목적을 달성하기 위해 필요한 접근법을 정의하는 활동을 포함한다.
    산출물 : 하나 이상의 테스트 계획
    2) 테스트 모니터링과 제어
    : 테스트 모니터링은 테스트 계획에 정의된 테스트 모니터링 메트릭을 활용해 실제 진행 상황을 계획한 진척 상황과 지속적으로 비교하는 활동을 말하고 테스트 제어는 시간이 지나면서 업데이트될 수 있는 테스트 계획의 목적 달성을 위해 필요한 활동을 수행하는 것이다.
    산출물 : 테스트 진행 현황 보고서, 테스트 요약 보고서와 같은 여러 형태의 테스트 보고서
    3) 테스트 분석
    : 테스트 가능한 기능과 연관된 테스트 컨디션을 식별하기 위해 테스트 베이시스를 분석한다.
    : "무엇을 테스트할 것인가?"라는 질문에 답을 제공
    산출물 : 분석을 통해 식별되고 우선순위가 선정된 테스트 컨디션
    4) 테스트 설계
    : 테스트 컨디션을 기반으로 상위 수준 테스트 케이스, 상위 수준 테스트 케이스 세트, 기타 테스트웨어를 생성한다.
    : "어떻게 테스트할 것인가?"라는 질문에 답을 제공
    산출물 : 필요한 테스트 데이터의 설계나 식별, 테스트 환경 설계, 인프라와 도구의 식별
    5) 테스트 구현
    : 테스트 구현 중 테스트 실행헤 필요한 테스트웨엉를 생성하고 완성하며, 테스트 케이스를 배치해서 테스트 프로시저를 만드는 것도 여기에 포함된다.
    : "테스트를 실행하기 위해 필요한 모든 것이 갖춰져 있는가?"라는 질문에 답을 제공
    산출물 : 테스트 프로시저와 이 프로시저의 배열, 테스트 스위트, 테스트 실행 일정
    6) 테스트 실행
    : 테스트 스위트를 테스트 실행 일정에 따라 실행한다.
    산출물 : 개별 테스트 케이스나 테스트 프로시저의 상태에 대한 문서 (예: 실행 준비 완료, 합격, 불합격, 실행하지 못함, 의도적으로 실행하지 않음 등), 결함 보고서, 테스팅에 사용한 테스트 항목 / 테스트 대상 / 테스트 도구 / 테스트웨어 등에 대한 문서
    7) 테스트 완료
    : 완료한 테스트 활동에서 데이터를 수집해서 경험, 테스트웨어, 기타 관련 정보를 축적하는 활동이다.
    산출물 : 테스트 요악 보고서, 차후 프로젝트나 반복주기의 개선을 위한 액션 아이템, 수정 요청서 혹은 제품 백로그 항목, 완성된 테스트웨어
    (* 백로그 : 요구사항 리스트, 제품의 개발 대상 목록으로 이해)
    (** 제품 백로그 : 전체 기간 동안 개발할 백로그)

profile
📍 My Development Archive.

0개의 댓글