[SW테스팅]D-3 Syllabus 2.3 테스트 유형

ACAI BERRY DEVELOVER·2023년 8월 21일
0
post-thumbnail

테스트 유형의 목적 : 특정 테스트 목적을 위해 테스트하는 활동의 집합

  • 기능 품질 특성 평가
    완전성
    내가 기대한 정확한 기능을 하느냐 - 정확성
    적합성(편의성, 사용자가 효율적으로 편리하게 쓸 수 있게 되어있느냐, 비슷한 품질로 '사용성(학습용이성,심미성)'과 혼동이 될 수 있음)
  • 비기능 품질 특성 평가
  • 구조적 테스팅(컴포넌트, 시스템 아키텍처 구조가 정확 명시와 일치하느냐)
  • 수정의 효과 평가(확인&리그레션 테스팅)

2.3.1 기능 테스팅

  • ✔︎ 실제 소프트웨어는 존재하나 명세에 존재하지 않는 기능이 있을 수 있음을 염두해두자.
  • "무엇"을 시스템이 해야 하는지 얘기한다.
  • 모든 테스트레벨에서 수행, 하지만 각 레벨에서의 관심 사항은 다를 수 있다.
  • 기능 테스팅은 블랙박스 테스팅 기법을 가장 많이 참조하기는 하나 다른 테스팅기법은 안된다는 말은 아니다(ex 구조기반, 경험기반)
  • 충분히 테스트했다를 평가하는 기준은 기능의 커버리지를 측정해서 커버리지로 보장할 수 있다.(다양한 기법으로 커버리지 측정이 가능)
    커버리지 종류에 따라 다를 순 있음.

2.3.2 비기능 테스팅

  • 시스템이 얼마나 잘 동작하느지에 대한 테스팅
  • 비기능테스팅은 모든 레벨(현장에선 시스템레벨에서 많이함)에서 가능하다(컴포넌트 test : 메모리 릭, 유지보수성 테스팅, 사용성 테스팅, 성능...)

ex) 시스템테스트에서 메모리 릭 현상 결함원인을 찾을 수 있을까?
어느 모듈에서 나오는 지 알려면 하나하나 다 뜯어봐야함.
단위테스트에서 발견하지 제일 쉬움

사용성도 빠르면 좋은 이유: 대량의 화면 UI 테스팅 시 초기(단위레벨)에 테스팅하면 일찍 발견해서 좋.

성능 테스트는?
보통 시스템레벨에서 하는게 더 신뢰성 있다.

  • 기능이 결함이 있는 상태에서 성능테스트를 하면 의미없는 테스팅일 경우가 높다.
  • 기능테스트를 통해 완전성을 확보하고 성능테스트를 하는게 좋다.

비기능테스트 설계 및 실행에느느 특수한 역량이나 지식이 필요할 수 있다. - 보안에 관련 지식, 능력, 지원도구 사용가능 , 도메인 지식

2.3.3 화이트 박스 테스팅

  • 시스템의 내부 구조나 구현을 기반으로 테스트 도출

정적테스팅

  • 상태 전이 모델, 유즈케이스, 코드등은 정적분석도구(규칙이 명확한 산출물)로 테스팅 가능하다.
  • 리뷰:사람이 직접 눈으로 찾는 것 (모든 산출물 대상), 단 코드를 일일히 다 읽어서 리뷰하는 것은 어렵다.
  • 정적 테스팅의 가치 - 결함이 테스트를 통해서 찾는 거보다 조기에 찾는게 가능.다음단계로 전이될 수 있는 것을 예방하는게 가장 큼
  • 비용이 훨씬 적게 듦(정적테스팅은 테스트케이스 안만들어도됨, 테스트 환경구출 안해도됨, 테스터데이터,사람등등, 재테스트 할 필요도 없음)
  • 예방적 차원이냐, 사후조치 차원이냐, 찾을 수 있는 결함 유형도 정적과 동적은 다다르다. 특히 유지보수성은 정적에서만 찾을 수 있음.
  • 포멀리뷰가 효과도 비용도 인포멀리뷰보다 크다

리뷰 프로세스

포멀한 리뷰는 사소한 결함까지 찾을 수 있게 찾아야할 결함갯수까지 정해준다.

포멀한 리뷰 프로세스:

  • 계획(테스트 일정,범위, 대상등을 정의) - 저자가 산출물을 설명해줌(설명회) - 개별리뷰 - 리뷰 - 수정작업 & 재리뷰할 것 판단 - 클로징

모더레이터의 역할과 권한이 중요: 운영

오픈 결함: 결함 확정된 것
이슈 : 아직 결함인지 미확정

정적분석(제일 비용이 싼 test, 빨리 돌아가고, 한번에 찾아주고) - 리뷰 - 화이트박스테스팅(설계, 테스트 환경, 재테스트등 비용이 많이듦)
이런관점으로 테스트 순서를 정할 줄 알아야함.

리스크와 비용은 항상 고려해야함.
리스크 비용을 초과하는 테스트는 잘못된 것.

공식리뷰는 비싸서 리스크가 큰 산출물 위주로 리뷰를 진행한다.

워크쓰루는 흐름을 주제로 읽어서 리뷰. 오픈앤드세션, 자유롭

공식리뷰는 라인 바이 라인. 앤드가 정해짐(시간지정)

기술 리뷰: 테크니컬 문서(not 요구사항명세서) 아기텍쳐 정의서, 프로그램 코드등을 기술 리뷰를 통해 정적 테스팅

작업 산출물에 리뷰 기법을 적용해 결함을 식별할 수 있다.

요구사항명세서,비즈니스 플로우, 계획서 - 인포말,워크스루
아키텍처 구조, 설계서 - 포말

리뷰 성공 요소 - 중재자의 역할

정적분석 - 코드, 모델로 이루어진 구조를 분석하는게 제일 효율적.

화이트박스테스트설계가 정적테스트의 가치가 있기도 함. 하지만 정적테스팅은 아님.

정적테스트로는 장애를 찾을 수 없다. 동적테스트로 장애도 찾고 결함도 찾을 수 있다.

매트릭은 formal한 리뷰에서 주로 씀(기록을 남기니까)

profile
쓸때 대충 쓰지 말고! 공부하면서 써!

0개의 댓글