애플리케이션 테스트 수행
단위 테스트
단위 테스트 개념
개별적인 모듈을 테스트한다.
목 객체 생성 프레임워크
- 더미 객체: 테스트할 때만 객체가 필요하고 해당 객체의 기능까지 필요하지 않은 경우 사용
- 테스트 스텁: 제어 모듈이 호출하는 타 모듈의 기능을 단순이 수행하는 도구로 더미 객체의 단순 기능에 특정 상태를 가정해서 리턴(상위 모듈 테스트)
- 테스트 드라이버: 하위 모듈을 호출하고 결과를 도출(하위모듈 테스트)
- 테스트 스파이: 테스트 대상 클래스와 협력하는 클래스로 가는 출력을 검증하는데 사용
- 가짜 객체: 실제 협력 클래스의 기능을 대체해야 할 경우에 사용
통합 테스트
통합 테스트 개념
각 모듈 간의 인터페이스 관련 오류 및 결함을 찾아내기 위한 체계적인 테스트 기법
- 하향식: 상위 모듈을 먼저 개발하고 하위 모듈이 완전히 구현되지 않았을때 스텁을 사용하여 하위 모듈의 역할 대신(상위모듈 테스트)
- 상향식: 하위 모듈을 먼저 개발하고 상위 모듈이 완전히 구현되지 않았을때 드라이버를 사용하여 상위 모듈 역할 대신(하위 모듈 테스트)
하스상드
=하향식=스텁, 상향식=드라이버
테스트 자동화 도구 유형
- 정적 분석 도구
애플리케이션을 실행하지 않고 분석하는 도구
- 테스트 실행 도구 유형
- 데이터 주도 접근 방식
- 키워드 주도 접근 방식
테스트 하네스
- 개념
컴포는트 및 모듈을 테스트하는 환경의 일부분으로 단위 또는 모듈 테스트에 사용하기 위해 코드 개발자가 작성
- 테스트 하네스 구성요소
- 테스트 드라이버: 하위 모듈을 호출하고 파라미터를 전달하고, 모듈 테스트 수행 후의 결과를 도출하는 상향식 테스트에 필요
- 테스트 스텁: 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구로 하향식 테스트에 필요
- 테스트 슈트: 테스트 대상 컴포넌트나 모듈에 사용되는 테스트 케이스의 집합
- 테스트 케이스: 입력값, 실행 조건, 기대 결과 등의 집합
- 테스트 스크립트: 자동화된 테스트 실행 절차에 대한 명세
- 목 오브젝트: 사용자의 행위를 조건부로 사전에 입력해 두면, 그 상황에 예정된 행위를 수행하는 객체
애플리케이션 테스트 결과 분석
테스트 결과 분석
- 소프트웨어 결함
소프트웨어 결함을 말할 때 에러, 결함, 결점, 버그, 실패의 용어를 사용한다.
- 에러/오류: 에러는 결함의 원인이 되는 것으로 일반적으로 사람에 의해 생성된 실수
- 결함/결점/버그: 에러 또는 오류가 원인이 되어 소프트웨어 제품에 포함되어 있는 결함
- 실패/문제: 소프트웨어 제품에 포함된 결함이 실행될 때 발생되는 현상
테스트 리포팅
- 테스트 결과 정리: 모든 테스트가 완료되면 테스트 계획과 테스트 케이스 설꼐부터 모두 포함된 문서 작성
- 테스트 요약문서: 테스트 계획, 소요 비용, 테스트 결과로 판단 가능한 대상 소프트웨어 품질 상태를 포함한 문서 작성
- 품질 상태: 품질 상태는 정량화된 품질 지표인 테스트 성공률 등이 포함
- 테스트 결과서: 테스트 결과서는 결함과 관련한 사항을 중점적으로 기록하며, 결함의 내용 및 자원 정보 등을 상세하게 기록함
- 테스트 실행 절차 리뷰 및 평가: 단계별 테스트 종료 시 테스트 실행 절차를 리뷰하고 결과에 대한 평가를 수행하고, 그 결과에 따라 실행 절차를 최적화하여 다음 테스트에 사용
결함 관리 프로세스
결함 관리 계획 + 결함 기록 + 결함 검토 + 결함 수정 + 결함 재확인 + 결함 상태 추적 및 모니터링 활동 + 최종 결함 분석 및 보고서 작성
관기검수 재추분
=관리 기록 검토 수정 재확인 추적 분석
애플리케이션 개선 조치사항 작성
테스트 커버리지
- 테스트 커버리지 개념
주어진 테스트 케이스에 의해 수행되는 소프트웨어의 테스트 범위를 측정하는 테스트 품질 측정 기준
- 테스트 커버리지 유형
- 기능 기반 커버리지: 테스트 대상 애플리케이션의 전체 기능을 모수로 설정하고, 실제 테스트가 수행된 기능의 수를 측정하는 방법
- 라인 커버리지: 애플리케이션 전체 소스 코드의 라인 수를 모수로 테스트 시나리오가 수행한 소스 코드의 라인 수를 측정하는 방법
- 코드 커버리지: 소프트웨어 테스트 충분성 지표 중 하나
기라코
결합의 식별 및 관리
- 치명적 결함
- 주요 결함
- 보통 결함
- 경미한 결함
- 단순 결함