Ch7_02 애플리케이션 통합 테스트
Study/정보처리기사 2020. 10. 13. 02:461. 애플리케이션 통합 테스트 수행
1. 통합 테스트
A. 통합 테스트 개념 : 앱 통합 테스트는 소프트웨어 각 모듈 간의 인터페이스 관련 오류 및 결함을 찾아내기 위한 체계적인 테스트 기법
B. 통합 테스트 수행 방법 분류
i. 점증적인 방법
ii. 비점증적인 방법
C. 하향식 통합 : 메인 제어 모듈로부터 아래 방향으로 제어의 경로를 따라 이동하면서 하향식으로 통합하면서 테스트 진행 (깊이-우선, 너비-우선)
i. 스텁 : 모듈 및 모든 하위 컴포넌트를 대신하는 더미 모듈
D. 상향식 통합 : 앱 구조에서 최하위 레벨의 모듈 또는 컴포넌트로부터 위족 방향으로 제어의 경로를 따라 이동하면서 구축과 테스트 수행
i. 상위의 모듈에서 데이터의 입력과 출력을 확인하기 위한 모듈
E. 통합 테스트 수행 방법 간 비교
i. 빅뱅 테스트 : 모든 모듈을 동시에 통합 후 테스트, 실제 모듈로 테스트, 단시간 테스트
ii. 상향식 테스트 : 최하위 모듈로부터 점진적으로 상위 모듈과 함께 테스트, 테스트 드라이버 필요, 장애 위치 파악 쉬움
iii. 하향식 테스트 : 최상위 모듈부터 하위 모듈을 통합하면서 테스트, 테스트 스텁 필요
2. 테스트 자동화 도구
A. 테스트 자동화 도구 개념 : 테스트 도구를 활용하여 반복적인 테스트 작업을 스크립트 형태로 구현함으로서 시간 단축, 인력투입비용 최소화, 쉽고 효율적인 테스트 수행
B. 장단점
i. 장점 : 반복되는 테스트 데이터 재입력 작업의 자동화
ii. 단점 : 교육 및 학습, 유지관리 비용
C. 테스트 자동화 도구 유형
i. 정적 분석 도구 : 앱을 실행하지 않고 분석하는 도구
ii. 테스트 실행 도구 : 테스트를 위해 작성된 스크립트 실행
1. 데이터 주도 접근 방식 : 테스트 데이터를 스프레드시트에 저장
2. 키워드 주도 접근 방식 : 일반적으로 테스트를 수행할 동작을 나타내는 키워드와 테스트 데이터를 스프레드시트에 저장
iii. 성능 테스트 도구 : 앱 처리량, 응답 시간, 경과 시간, 자원 사용률에 대해 가상의 사용자 생성, 테스트 수행, 성능 목표를 달성하였는지를 확인하는 도구
iv. 테스트 통제 도구 : 테스트 계획 및 관리를 위한 테스트 관리 도구, 테스트 수행에 필요한 데이터와 도구를 관리하는 형상 관리 도구 등
D. 테스트 하네스
i. 앱 컴포넌트 및 모듈을 테스트하는 환경의 일부분, 테스트를 지원하기 위한 코드와 데이터
ii. 테스트 하네스 구성요소
1. 테스트 드라이버
2. 테스트 스텁
3. 테스트 슈트 : 테스트 대상 컴포넌트나 모듈, 시스템에 사용되는 테스트 케이스의 집합
4. 테스트 케이스
5. 테스트 스크립트
6. 목 오브젝트 : 사용자의 행위를 조건부로 사전에 입력해 두면, 그 상황에 예정된 행위를 수행하는 객체
E. 테스트 단계별 테스트 자동화 도구
i. 테스트 계획 : 요구사항 관리
ii. 테스트 분석/설계 : 테스트 케이스 생성
iii. 테스트 수행 : 테스트 자동화, 정적 분석, 동적 분석, 성능 테스트, 모니터링
iv. 테스트 관리 : 커버리지 측정, 형상 관리, 결함 추적/관리
2. 애플리케이션 테스트 결과 분석
1. 테스트 결과 분석
A. 소프트웨어 결함
i. 에러/오류 : 결함의 원인, 일반적으로 사람에 의해 생성된 실수
ii. 결함/결점/버그 : 에러 또는 오류가 원인이 되어 소프트웨어 제품에 포함되어 있는 결함
iii. 실패/문제 : 소프트웨어 제품에 포함된 결함이 실행될 때 발생되는 현상
B. 테스트 완료 조건 : 각 단계별 테스트를 언제 어떤 상황에서 종료할 것인지를 결정하는 기준
C. 테스트 리포팅
i. 테스트 결과 정리
ii. 테스트 요약 문서
iii. 품질 상태
iv. 테스트 결과서
v. 테스트 실행 절차 및 평가
2. 결함 관리
A. 테스트 결함 관리 개념 : 각 단계별 테스트 수행 후 발생한 결함의 재발 방지와 유사 결함 발견 시 처리 시간 단축을 위해 결함을 추적하고 관리하는 활동
B. 결함 추적 관리 활동
C. 결함 관리 프로세스
i. 에러 발견
ii. 에러 등록
iii. 에러 분석
iv. 결함 확정
v. 결함 할당
vi. 결함 조치
vii. 결함 조치 검토 및 승인
3. 결함 추이 분석
A. 결함 추이 분석 개념 : 테스트 완료 후 발견된 결함의 결함 관리 측정 비표의 속성값 분석, 향후 앱의 어떤 모듈 또는 컴포넌트에서 결함이 발생할지를 추정하는 작업
B. 결함 추이 분석 유형
i. 결함 분포 분석
ii. 결함 추세 분석
iii. 결함 에이징 분석
3. 애플리케이션 개선 조치사항 작성
1. 테스트 커버리지
A. 테스트 커버리지 개념 : 주어진 테스트 케이스에 의해 수행되는 소프트웨어의 테스트 범위를 측정하는 테스트 품질 측정 기준, 정확성, 신뢰성 향상
B. 테스트 커버리지 유형
i. 기능 기반 커버리지 : 테스트 대상 앱의 전체 기능을 모수로 설정, 실제 테스트가 수행된 기능의 수를 측정하는 방법
ii. 라인 커버리지 : 전체 소스 코드 라인 수를 모수로 테스트 시나리오가 수행한 소스 코드 라인 수를 측정
iii. 코드 커버리지 : 소프트웨어 테스트 충분성 지표 중 하나, 소스 코드의 구문, 조건, 결정 등의 구조 코드 자체가 얼마나 테스트 되었는지 측정
C. 코드 커버리지 유형
i. 구문 커버리지 : 프로그램 내의 모든 명령문을 적어도 한 번 수행하는 커버리지
ii. 결정 커버리지 : 프로그램 내의 전체 결정문이 적어도 한 번은 참과 결과를 수행하는 커버리지
iii. 조건 커버리지 : 결정 명령문 내의 각 조건이 적어도 한 번은 참과 거짓의 결과가 되도록 수행하는 커버리지
iv. 조건/결정 커버리지 : 전체 조건식 뿐만 아니라 개별 조건식도 참 한 번, 거짓 한 번 결과가 되도록 수행하는 커버리지
v. 변경 조건/결정 커버리지 : 각 개별 조건식이 다른 개별 조건식에 영향을 받지 않고 전체 조건식에 독립적으로 영향을 주도록 함으로써 조건/결정 커버리지를 향상시킨 커버리지
vi. 다중 조건 커버리지 : 결정 조건 내 모든 조건식의 모든 가능한 조합을 100% 보장하는 커버리지
2. 결함의 식별 및 관리
A. 단계별 결함 유입의 종류
i. 기획 시 유입되는 결함 : 사용자 요구사항의 표준 미준수로 인해 테스트 불가능
ii. 설계 시 유입되는 결함 : 기능 단계에 유입된 결함 또는 설계 표준 미준수로 인해 테스트 불가능 등
iii. 코딩 시 유입되는 결함 : 설계에 유입된 결함, 코딩 표준 미준수로 인해 기능의 불일치, 불완전
iv. 테스트 부족으로 유입되는 결함 : 테스트 수행 시 테스트 완료 기준의 미준수, 테스트 팀과 개발 팀의 의사소통 부족 등
B. 결함 심각도별 분류
i. 치명적 결함 : 기능이나 제품의 테스트를 완전히 방해하거나 못하게 하는 결함
ii. 주요 결함 : 기능이 기대와 많이 다르게 동작하거나, 그 기능이 해야하는 것을 못함
iii. 보통 결함 : 제품이나 프로그램이 특정 기준을 충족하지 못하거나 전체에 영향을 주지 않는 일부 기능이 부자연 스러움
iv. 경미한 결함 : 사용상의 불편함
v. 단순 결함 : 기능에는 영향X, 수정되어야 함
C. 결함 우선순위
i. 결정적
ii. 높음
iii. 보통
iv. 낮음
D. 결함 관리 항목
'Study > 정보처리기사' 카테고리의 다른 글
Ch8_01 절차형 SQL 작성하기 (0) | 2020.10.17 |
---|---|
Ch7_03 애플리케이션 성능 개선 (0) | 2020.10.13 |
Ch7_01 애플리케이션 테스트 케이스 설계 (0) | 2020.10.13 |
Ch6_02 UI 설계 (0) | 2020.10.13 |
Ch6_01 UI 요구사항 확인 (0) | 2020.10.13 |