제2과목 애플리케이션 테스트 관리
▷ 애플리케이션 테스트 관리 C
> 테스트 자동화 도구
- 테스트 자동화의 개념 : 반복작업을 쉽고 효율적으로 테스트 수행, 휴먼에러감소, 정확성유지, 품질향상
- 테스트 자동화 도구의 장점/단점
장점 : 재입력 및 재구성 등 반복작업의 자동화로 시간 단축, 객관적 평가, 그래프 제공
단점 : 사용법 숙지필요, 프로그램비용 발생
- 테스트 자동화 수행시 고려사항 : 측정불가한 테스트x, 용도에 맞는 적절한 도구 사용, 환경설정 및 습득기간을 고려하여 일정계획 필요, 테스트 엔지니어 투입시기 결정
- 테스트 자동화 도구의 유형
정적 분석도구(프로그램실행없이 분석), 테스트 실행 도구, 성능 테스트 도구(가상의 사용자가 테스트, 성능목표달성)
테스트 통제 도구(결함관리), 테스트 하네스 도구(모듈테스트 환경 일부분, 코드, 데이터)
- 테스트 수행 단계별 테스트 자동화 도구
테스트 계획 - 요구사항 관리 : 사용자 요구사항 정의, 변경사항 관리
테스트 분석, 설계 - 테스트 케이스 생성
테스트 수행 - 테스트 자동화, 정적 분석, 동적 분석(시뮬레이션), 성능 테스트(처리능력), 모니터링(자원상태분석)
테스트 관리 - 커버리지 분석(완료 후 충분여부), 형상관리, 결함 추적관리
> 결함관리
- 결함(Fault)의 정의 : 오류, 작동실패 등 설계(예상)와 다른 동작
- 결함 관리 프로세스
결함관리계획 -> 결함기록(테스트 결함관리 DB) -> 결함검토 -> 결함수정 -> 결함재확인 -> 결함상태 추적 및 모니터링 활동(게시판 형태) -> 최종결함 분석 및 보고서 작성
- 결함 상태 추적
결함 분포(결함수 측정), 결함 추세(시간, 결함 수), 결함 에이징(특정 결함상태 지속시간)
- 결함 추적 순서
결함등록 -> 결함검토 -> 결함 할당(담당자) -> 결함수정 -> 결함조치 보류(수정불가능, 연기) -> 결함종료(승인) -> 결함해제
- 결함 분류
시스템결함, 기능결함(요구사항 미반영), GUI결함(화면설계 결함), 문서결함(요구사항과 기능요구사항의 불일치)
- 결함 심각도
High(프로세스진행 중단), Medium(프로세스 영향, 부정확한 기능), Low(프로세스 영향x)
- 결함 우선순위 : 결함중요도, 심각도
- 결함 관리 도구
Mantis(결함관리도구(추적, 통합), 단위별작업기록), Trac(발생결함 추적, 결함통합관리), Redmine((추적), Bugzilla(결함신고, 확인, 처리, 관리도구, 심각도에 따른 우선순위 설정가능)
▷ 애플리케이션 테스트 관리 D
> 애플리케이션 성능 분석
- 애플리케이션 성능 : 사용자의 요구사항을 최소한의 자원으로 최대한의 기능을 신속하게 처리하는 정도
처리량 : 일정시간내 처리하는 일의 양
응답시간 : 요청전달시점부터 응답도착시간까지
경과시간 : 작업의뢰시간부터 처리완료시간까지
자원사용률 : cpu, 메모리, 네트워크 등의 자원사용률
- 성능 테스트 도구
Jmeter : 다양한 프로토콜 지원
LoadUI : 사용자 편리성 강화
OpenSTA : 프로토콜에 부하테스트, 생산성, 모니터링 처리
- 시스템 모니터링(Monitoring) 도구 : 사용량 확인 분석도구
Scouter, Zabbix
- 애플리케이션 성능저하 원인 분석 : DB의 많은 데이터 요구, 커넥션풀(DB와 연결된 커넥션을 pool에 미리 생성하여 사용)의 크기가 크거나 작을 경우, 네트워크 접속불량, 대량파일 업다운로드, 전송실패 및 지연
> 애플리케이션 성능 개선
- 소스코드 최적화
클린코드(이해용이, 수정 및 추가가 단순 명료), 나쁜코드(복잡, 이해성저하)
클린코드 작성원칙 : 가독성, 단순성, 의존성 배제(다른 모듈에 영향), 중복성 최소화, 추상화(간략화)
- 소스코드 최적화 유형
클래스 분할 배치(1:1), 느슨한 결합(의존성 최소화), 코딩 형식 준수(줄바꿈, 배치순서 등), 기억하기 좋은 네이밍, 발음이 용이한 단어사용, 적절한 주석
- 소스코드 품질 분석도구 : 결함발견
정적 분석도구 : 소스코드 실행없이 코딩표준, 스타일, 결함 확인, 복잡도, 모델의존성, 불일치성 분석
동적 분석도구 : 소스코드 실행하여 결함관리
- 소스코드 품질분석도구의 종류
Pmd(미사용변수, 최적화되지않은 코드), cppcheck(메모리, 오버플로우), sonarQube(코드복잡도, 코딩설계) - 정적
checkstyle(소스코드 표준), ccm(복잡도), cobertura(자바언어 코드 복잡도) - 정적
avalanche(프로그램에 대한 결함 분석), valgrind(메모리, 쓰레드(실행프로그램 단위)) - 동적
'정보처리기사 > [inflearn] 필기 (완)' 카테고리의 다른 글
정보처리기사 - 제3과목 데이터베이스 구축 / 논리 데이터베이스 설계(1) (0) | 2022.03.31 |
---|---|
정보처리기사 - 제2과목 소프트웨어 개발 / 인터페이스 구현 (0) | 2022.03.31 |
정보처리기사 - 제2과목 소프트웨어 개발 / 애플리케이션 테스트 관리 (1) (0) | 2022.03.30 |
정보처리기사 - 제2과목 소프트웨어 개발 / 제품 소프트웨어 패키징 (0) | 2022.03.29 |
정보처리기사 - 제2과목 소프트웨어 개발 / 통합 구현 (0) | 2022.03.29 |