제2과목 애플리케이션 테스트 관리
▷ 애플리케이션 테스트 관리 A
> 애플리케이션 테스트
- 애플리케이션 테스트의 개념 : 잠재되어있는 결함을 찾아내는 행위, 고객의 요구사항 확인, SW기능 수행 검증
- 애플리케이션 테스트의 필요성 : 프로그램 실행전 오류발견 예방, 반복테스트-신뢰도 향상
- 애플리케이션 테스트의 기본 원리 : 잠재적 결함 감소, 완벽한 테스트는 불가능, 특정한 모듈에 집중된 결함 20%의 코드에서 80%의 결함이 발견됨(파레토 법칙), 결함이 없어도 사용자의 요구를 만족하지 못하면 품질이 높다고 할 수 없다(오류 부재의 법칙), 테스트와 위험은 반비례하며 작은 부분부터 진행된다
> 애플리케이션 테스트의 분류
- 프로그램 실행 여부에 따른 테스트
정적 테스트 : 실행하지 않고 코드로 테스트, 초기의 발견과 SW비용 절감 ex. 워크스루, 인스펙션, 코드검사
동적 테스트 : 실행하는 테스트, SW개발의 모든 단계에서 실행 ex. 블랙박스, 화이트박스
- 테스트 기반(Test Bases)에 따른 테스트
명세 기반 테스트 : 사용자의 요구사항을 명세화하여 빠짐없이 확인 ex. 동등분할, 경계값분석
구조 기반 테스트 : 내부 논리적흐름
경험 기반 테스트 : 테스터 경험 기반, 요구사항 명세 불분명, 테스트 시간이 제한적일 때 효과적
- 시각에 따른 테스트 (시각에 따라)
검증테스트 : 개발자 시각, 명세서대로 완성되었는지
확인테스트 : 사용자 시각, 요구사항을 만족하였는지, 정상적으로 작동하는지
- 목적에 따른 테스트
회복테스트(고의적 결함발생 후 복구 테스트), 안전테스트(불법침입으로 부터 보호), 강도테스트(과부하시)
성능테스트(응답시간, 처리양), 구조테스트(논리적경로, 소스코드 복잡도), 회귀테스트(변경 및 수정된 코드의 결함확인)
병행테스트(기존SW와 변경SW 비교)
> 테스트 기법에 따른 애플리케이션 테스트
- 화이트 박스테스트(White Box Test) : SW 내부의 원시코드 논리적 구조, 복잡도 테스트, 시간소요, 오류위치파악에 유용
기초경로 검사 : 논리적 복잡성 측정, 해당 원시코드의 흐름도 작성후 논리적 복잡도 측정 (순환복잡도 : 화살표수 - 노드수 + 2), 조건검사,(논리적조건) 루프검사(반복구조), 데이터흐름 검사(변수정의, 사용위치)
- 블랙박스 테스트(Black Box Test) : 내부구조, SW 작동원리x, 입출력결과로 기능유효성 테스트, SW의 역할, 기능검사, 동치분할검사(입력자료초점 검사 사례분석), 경계값 분석, 원인효과그래프 검사(입력데이터간의 관계, 출력에 미치는 영향), 오류예측 검사(과거의 경험), 비교검사(여러버전에 동일한 자료로 동일한 결과를 내는지)
▷ 애플리케이션 테스트 관리 B
> 개발단계에 따른 애플리케이션 테스트
- 애플리케이션 테스트
단위테스트-통합테스트-시스템테스트-인수테스트
- V모델
SW개발단계 : 요구사항-분석-설계-구현-/-단위-통합-시스템-인수 : 테스트 단계
- 단위테스트 : 구조기반테스트(내부구조 복잡도 검증, 화이트박스 테스트), 명세기반테스트(실행기반, 블랙박스 테스트)
- 통합테스트 : 모듈의결합 테스트
비점진적 통합방식(모듈 결합 전체) : 빅뱅
점진적 통합방식(모듈 단계별 결합) : 하향식 통합테스트(스텁(시험용모듈)), 상향식 통합테스트(상하위 모듈간의 인터페이스 역할), 혼합식 통합테스트
- 시스템 테스트
기능적 요구사항(블랙박스), 비기능적 요구사항(화이트박스)
- 인수테스트
사용자 인수테스트, 운영상의 인수테스트(관리자), 계약인수 테스트, 규정인수 테스트, 알파테스트(사용자가 개발자앞에서 테스트), 베타테스트(개발자없이 여러명의 사용자가 테스트)
> 애플리케이션 테스트 프로세스
- 애플리케이션 테스트 프로세스 : SW가 사용자의 요구대로 만들어졌는지 테스트 절차
테스트 계획 -> 테스트 분석 및 디자인 -> 테스트 케이스 및 시나리오 작성 -> 테스트 수행 -> 테스트 결과평가 및 리포팅 -> 결함추적 및 관리
테스트 계획서(목적, 범위, 일정, 절차, 대상, 책임역할), 테스트 케이스(입력값, 실행조건, 기대결과), 테스트 시나리오(수행 동작순서), 테스트 결과서
1) 테스트 계획 : 대상, 범위
테스트 시작 조건 : 계획, 일정, 환경, 요구사항 명세서, 인력 역할, 책임
테스트 종료 조건 : 테스트완료, 일정만료, 비용소진
2) 테스트 분석 및 디자인 : 테스트 목적, 원칙, 검토, 사용자 요구사항 분석 및 검토
3) 테스트 케이스 및 시나리오 작성 : 테스트 케이스 작성 -> 검토확인 -> 시나리오 작성
4) 테스트 수행 : 테스트 환경 구축(실제시스템과 유사한 SW, HW, 네트워크시설 구축) -> 테스트수행
5) 테스트 결과 평가 및 리포팅 : 비교분석, 결과작성, 결함중점 기록
6) 결함 추적 및 관리 : 에러발견, 에러등록, 에러분석, 결함확정, 결함할당, 결함조치, 결함 조치 검토 및 승인
> 테스트 케이스/테스트 시나리오/테스트 오라클
- 테스트 케이스(Test Case) : SW가 사용자의 요구사항을 준수했는가, 입력값, 실행조건, 기대결과, 명세서 / 테스트오류 감소, 인력과 시간 감소, 시스템설계
- 테스트 케이스 작성순서
테스트 계획 검토 및 우선순위 결정 : 계획서 재검토, 범위, 접근방법 검토
위험 평가 및 우선 순위 결정 : 위험정도에 따른 우선순위 결정, 초점 결정
테스트 요구사항 정의 : 요구사항, 테스트대상 재검토
테스트 구조 설계 및 테스트 방법결정 : 테스트 케이스에 대한 형식, 분류방법
테스트 케이스 정의 : 입력, 실행조건, 예상결과 등 기술
테스트 케이스 타당성 확인 및 유지보수 : 갱신
- 테스트 시나리오(Test Scenario) : 테스트케이스 순서에 따른 구체적 절차, 누락방지
- 테스트 시나리오 작성시 유의사항 : 시스템, 모듈, 항목별 여러개의 시나리오, 사용자의 요구사항 토대로, 정상적인 업무흐름인지
- 테스트 오라클(Test Oracle) : 사전에 정의된 참값을 대입하여 비교하는 기법, 예상결과 계산, 확인
제한된 검증(몇몇 특정항목 제한), 수학적 기법, 자동화 가능(수행실행, 결과비교)
- 테스트 오라클의 종류
참 오라클(true, 기대하는 결과, 모든 오류 검출), 샘플링 오라클(몇몇 데이터케이스에 대한 기대결과값 제공), 추정 오라클(샘플링오라클 개선, 기대결과와 추정), 일관성 검사 오라클(수행전 후가 동일한지)
'정보처리기사 > [inflearn] 필기 (완)' 카테고리의 다른 글
정보처리기사 - 제2과목 소프트웨어 개발 / 인터페이스 구현 (0) | 2022.03.31 |
---|---|
정보처리기사 - 제2과목 소프트웨어 개발 / 애플리케이션 테스트 관리 (2) (0) | 2022.03.31 |
정보처리기사 - 제2과목 소프트웨어 개발 / 제품 소프트웨어 패키징 (0) | 2022.03.29 |
정보처리기사 - 제2과목 소프트웨어 개발 / 통합 구현 (0) | 2022.03.29 |
정보처리기사 - 제2과목 소프트웨어 개발 / 데이터 입출력 구현(2) (0) | 2022.03.28 |