본문 바로가기
정보처리기사

10. 애플리케이션 테스트 관리 - Chap 3.애플리케이션 성능 개선

by Elin J 2021. 7. 5.

Chapter 3.애플리케이션 성능 개선

1. 애플리케이션 성능분석

1) 애플리케이션 성능 측정 지표 --> 처,응,경,자

    - 처리량 : 주어진 시간에 처리할 수 있는 트랜잭션의 수

   - 응답시간: 응답 출력이 개시될 때까지의 시간

   - 경과시간 : 출력이 완료할 때까지 걸리는 시간

   - 자원 사용률 : 트랜잭션 처리 동안 CPU, 메모리, 네트워크 사용량

 

2) 애플리케이션 성능 저하 원인 

    : 데이터베이스 / 내부로직 / 외부 호출 / 잘못된 환경 설정 / 네트워크 문제 등으로 야기

 

* 성능 테스트 케이스 작성

    목표값 설정 - 측정 항목 기술 - 테스트 시나리오 - 사전 확인사항 순으로 작성

 

3) 배드코드(Bad Code) : 다른 개발자가 로직을 이해하기 어렵게 작성한 코드

     외계인 코드 / 스파게티 코드 / 알 수 없는 변수명 / 로직 중복

 

 

 

2.애플리케이션 성능개선

1) 배드코드의 유형 ---> 오,문,이 결,침

  오염 / 문서부족 / 의미없는 이름 / 높은 결합도 / 아키텍처 침식

 

2) 클린코드 작성 원칙 ---> 가단의 중추

  가독성 / 단순성 / 의존성 최소 / 중복성 제거 / 추상화

 

  * 소스코드 최적화 기법 : 의미있는 이름, 간결하고 명확한 주석, 보기 좋은 배치, 작은 함수,

                        읽기 쉬운 제어 흐름, 오류 처리, 클래스 분할 배치, 느슨한 결합 기법 적용, 코딩 형식 기법 적용

  * 소스코드 품질 분석

      정적 분석도구(pmd, cppcheck, SonarQybe,ccm 등) /  동적 분석 도구 (Avalanche, Valgrid)

 

< 애플리케이션 성능 개선 방안 >

  : 소스 코드 최적화 기법 적용 / 아키텍처 조정(팩토리 메서드 패턴) / 프로그램 호출 순서 적용

      (의존성 최소화)                /  소스코드 품질 분석 도구 활용  /  리팩토링

 

 

3) 리팩토링개념

  : 소프트웨어 모듈의 외부적 기능은 수정하지 않고 내부적으로 구조, 관계 등을 단순화하여

  소프트웨어의 유지보수성을 향상시키는 기법

                      (클린코드 사용)

 

4) 리팩토링의 목적(약술형 출제 有)

  : 유지보수성 향상, 유연한 시스템(변경에 유연 대응), 생산성 향상(재사용) , 품질 향상