320x100
320x100

단위 테스트

- 개별적인 모듈이나 컴포넌트에 대한 테스트

 : 모듈의 단독 수행을 위한 테스트 배드 필요

 

 

 

Mock 객체 생성 프레임워크

- Mock

 : stub의 객체버전

 : 수작업 혹은 목 객체 생성 프레임워크를 이용하여 생성

 

- 목 객체 유형

ㆍ더미 객체 : 객체만 필요한 경우에 사용 / 예외 수행

ㆍ테스트 스텁 : 타 모듈의 기능을 단순히 수행하는 도구

ㆍ테스트 드라이버 : 테스트 대상 하위 모듈 호출, 파라미터 전달, 결과 도출

ㆍ테스트 스파이 : 테스트 대상 클래스와 협력하는 클래스로의 출력 검증

ㆍ가짜 객체 : 실제 협력 클래스의 기능을 대체할 경우 사용

 

 

 

통합 테스트

- 각 모듈간 인터페이스 관련 오류 및 결함 도출

- 하향식 통합 테스트

 : 스텁 (더미 모듈)

- 상향식 통합 테스트

 : 드라이버 (더미 모듈)

 

 

샌드위치 통합

- 상향식 통합 테스트 + 하향식 통합 테스트 

 

 

빅뱅 테스트

- 모든 모듈을 동시에 통합 후 테스트 수행

 : 드라이버나 스텁 없이 실제 모듈을 통한 테스트

 

 

 

테스트 자동화 도구

- 반복적인 테스트 작업을 테스트 형태로 구현하는 도구

 

- 유형

ㆍ정적 분석 도구

  : 만들어진 애플리케이션을 실행하지 않고 분석

  : 코딩 표준, 코딩 스타일, 코드 복잡도 등을 분석

 

ㆍ테스트 실행 도구

  : 테스트를 위해 작성된 스크립트를 실행

  : 데이터 주도 접근 방식 / 키워드 주도 접근 방식

 

ㆍ성능 테스트 도구

  : 애플리케이션의 처리량, 응답시간 등에 대해 가상의 사용자를 생성하고 성능 목표 달성 여부 확인

 

ㆍ테스트 통제 도구

  : 테스트 계획 및 관리 / 결함 추적 및 관리

 

 

 

테스트 하네스 (Test Harness)

- 컴포넌트 및 모듈을 테스트 하는 환경의 일부분

 

- 구성요소

 : 테스트 드라이버 / 스텁 / 슈트 / 케이스 / 스크립트 / 목 오브젝트

 

 

 

테스트 리포팅

- 테스트 결과 정리

 : 테스트에 관한 모든 요소가 포함된 문서 작성

 

- 테스트 요약 문서

 

- 품질상태 

 : 테스트 성공률, 커버리지, 결함의 수, 결함의 중요도 등

 

- 테스트 결과서

 : 결함과 관련한 사항을 중점으로 상세한 기록

 

- 테스트 실행절차 리뷰 및 평가

 

 

 

결함 관리 프로세스

- 결함 관리 계획

- 결함 기록

- 결함 검토

- 결함 수정

- 결함 재확인

- 결함 상태 추적 및 모니터링 활동

- 최종 결함 분석 및 보고서 작성

 

 

 

테스트 커버리지

- 주어진 테스트 케이스에 의해 수행되는 소프트웨어의 테스트 범위를 측정하는 테스트 품질 측정 기준

- 유형

ㆍ기능 기반 커버리지

  : 테스트 대상 애플리케이션의 전체기능을 모수로 설정하고 실제 테스트가 수행된 기능의 수 측정

 

ㆍ라인 커버리지

  : 애플리케이션 전체 소스 코드의 라인 수를 모수로 테스트 시나리오가 수행한 코드 라인수 측정

 

ㆍ코드 커버리지

  : 소스코드의 구문, 조건 등의 구조 코드 자체의 테스트 측정

 

 

 

결함의 분류

- 시스템 결함

 : 비정상적인 종료 등 환경과 DB처리의 결함

 

- 기능 결합

 : 요구사항 미반영, 불일치 등 기획, 설계, 업무 시나리오 단계의 결함

 

- GUI 결함

 : UI 비일관성, 부정확한 커서 및 메시지 등 사용자 화면 설계의 결함

 

- 문서 결함

 : 이해 관계자간의 의사소통과 기록이 원활하지 않을때의 결함

 

 

 

결함 심각도별 분류

- 치명적 (Critical)

 : 기능이나 테스트를 완전히 방해하는 결함

 : 데이터 손실, 시스템 충돌

 

- 주요 (Major)

 : 기대와 많이 다른 작동, 기능 미작동

 : 기능 장애

 

- 보통 (Normal)

 : 제품이나 프로그램이 특정 기준에 불충족 / 전체에 영향을 주지 않는 일부 기능의 부자연스러움

 : 사소한 기능 오작동

 

- 경미한 (Minor)

 : 사용상의 불편함을 유발

 : 표준 위반, UI 잘림

 

- 단순 (Simple)

 : 사소한 버그 / 기능에 영향은 없으나 수정필요

 

 

 

결함 우선순위

- 결정적 (Critical)

 : 전체적인 기능 미동작 수준

 

- 높음 (High)

 : 다른 기능을 수행할 수 없는 수준

 

- 보통 (Medium)

 : 올바르지 않은 메시지 출력의 수준

 

- 낮음 (Low)

 : 디자인 혹은 UX 향상을 위한 요청

300x250
728x90