결함 관리 / 애플리케이션 성능 분석

2023. 2. 16. 14:26정처기 필기/2과목 - 소프트웨어 개발

결함 관리

 

1. 결함 상태 추적

종류 설명
결함 분포 모듈 또는 컴포넌트의 특징 속성에 해당하는 결함 수 측정
결함 추세 테스트 진행 시간에 따른 결함 수의 추이 분석
결함 에이징 특정 결함 상태로 지속되는 시간 측정

 

2. 결함 추적 순서

순서 설명
결함 등록
(Open)
 
결함 검토
(Reviewed)
 
결함 할당
(Assigned)
결함을 고치기 위해 개발자와 문제 해결 담당자에게 결함이 할당
결함 수정
(Resolved)
개발자가 결함 수정 완료
결함 조치 보류
(Deferred)
수정이 불가능해 연기
결함 종료 해결(승인)
결함 해제 종료 승인된 결함을 검토해서 결함이 아니라고 판명

 

3. 결함 심각도, 결함 우선순위

- 결함 심각도

  : 치명적(Critical) --> 주요(Major) --> 보통(Normal) --> 경미(Minor) --> 단순(Simple)

 

- 결함 우선순위

  : 치명적(Critical) --> 높음(High) --> 보통(Midium) --> 낮음(Low)

 


애플리케이션 성능 분석

 

1. 애플리케이션 성능

종류  설명
처리량
(Throughput)
일정 시간 내 애플리케이션이 처리하는 일의 양
응답 시간
(Response Time)
애플리케이션에 요청을 전달한 시간부터 응답이 도착할 때까지 걸린 시간
경과 시간
(Turn Around Time)
애플리케이션에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
자원 사용률
(Resource Usage)
애플리케이션이 의뢰한 작업을 처리하는 동안의 CPU 사용량, 메모리 사용량, 네트워크 사용량 등 자원 사용률

 

2. 애플리케이션 성능 저하 원인 분석

- DB에 필요 이상의 많은 데이터를 요쳥한 경우

- 커넥션 풀의 크기를 너무 작거나 크게 설정한 경우

- JDBC나 ODBC 같은 미들웨어를 사용한 후 종료하지 않아 연결 누수가 발생한 경우

- 대량의 파일을 업로드하거나 다운로드해 처리 시간이 길어진 경우

 

3. 소스 코드 최적화

- 클린 코드 작성 원칙

  : 가독성, 단순성, 의존성 배제, 중복성 최소화, 추상화

 

4. 소스 코드 품질분석 도구의 종류

- 정적 분석 도구 : pmd, cppcheck, checkstyle, SonarQube, ccm, cobertuna

- 동적 분석 도구 : Avalanche, Valgrind