애플리케이션 성능 개선 1. 클린 코드 (Clean Code) - 잘 작성되어 가독성이 높고, 단순하며, 의존성을 줄이고, 중복을 최소화하여 깔끔하게 잘 정리된 코드 2. 클린 코드 작성의 원칙 작성 원칙 설명 가독성 이해하기 쉬운 용어를 사용 단순성 한 번에 한 가지 처리만 수행 의존성 최소 영향도를 최소화 중복성 제거 중복된 코드를 제거 추상화 클래스/메서드/함수에 대해 동일한 수준의 추상화를 구현 3. 리팩토링 - 기능을 변경하지 않고 복잡한 소스 코드를 수정, 보완하여 가용성 및 가독성을 높이는 기법 4. 리팩토링의 목적 유형 설명 유지보수성 향상 복잡한 코드의 단순화, 소스의 가독성 향상 유연한 시스템 SW 요구사항 변경에 대한 유연한 대응 생산성 향상 정제 및 최적화된 소스의 재사용 품질 향상..
애플리케이션 성능 분석 1. 애플리케이션 성능 측정 지표 지표 설명 처리량 (Throughput) 주어진 시간에 처리할 수 있는 트랜잭션의 수 응답 시간 (Response Time) 사용자 입력이 끝난 후, 애플리케이션의 응답 출력이 개시될 때까지의 시간 경과 시간 (Turnaround Time) 사용자가 요구를 입력한 시점부터 트랜잭션을 처리 후 그 결과의 출력이 완료할 때까지 걸리는 시간 자원 사용률 (Resource Usage) CPU 사용량, 메모리 사용량, 네트워크 사용량
애플리케이션 개선 조치사항 작성 1. 결함 심각도 - 애플리케이션에 발생한 결함이 어떤 영향을 미치며, 얼마나 치명적인지를 나타내는 척도 분류 설명 치명적(Critical) 결함 기능 or 제품의 테스트를 완전히 방해, 데이터 손실, 시스템 충돌 주요(Major) 결함 기능이 기대와 다르게 동작 보통(Normal) 결함 일부 기능 부자연스러움, 사소한 기능 오작동 경미한(Minor) 결함 사용상의 불편함 유발, UI 잘림 단순(Simple) 결함 사소한 버그, 미관상 좋지 않음
애플리케이션 테스트 결과 분석 1. 결합 분석 방법 결합 분석 방법 설명 구체화 (Specification) 결함을 발생시킨 입력값, 테스트 절차, 환경을 명확히 파악 고립화 (Isolation) 어떤 요소가 결함 발생에 영향을 미치는지 분석 일반화 (Generalization) 결함 발생에 영향을 주는 요소를 최대한 일반화 시키는 방법
애플리케이션 테스트 수행 1. 목(Mock) 객체 - 객체지향 프로그램에서 독립적인 컴포넌트 테스트를 위해서 스텁의 객체지향 버전인 목 객체가 필요 2. 목 객체 유형 유형 설명 더미 개체 객체만 필요하고 기능까지는 필요하지 않은 경우 테스트 스텁 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구 테스트 드라이버 테스트 대상 하위 모듈을 호출, 파라미터 전달, 모듈 테스트 수행 후 결과 도출 테스트 스파이 테스트 대상 클래스와 협력하는 클래스 가짜 객체 실체 협력 클래스의 기능을 대체해야 할 경우, 사용 3. 통합 테스트 - 비점증적인 방식 - 빅뱅 방식 : 모든 모듈을 동시에 통합 후, 테스트 - 점증적인 방식 - 하향식 테스트 : 위에서 아래로. 테스트 스텁 필요 - 상향식 테스트 : 아래..
애플리케이션 테스트 시나리오 작성 1. 테스트 레벨 종류 종류 설명 단위 테스트 (Unit Test) - 구현이 진행되면서 수행하는 테스트. 서브루틴 등을 테스트 통합 테스트 (Integration Test) - 모듈 간 인터페이스, 컴포넌트 간의 상호 작용을 검증하는 테스트 시스템 테스트 (System Test) - 단위 시스템 기능이 시스템에서 정상 수행 되는지를 검증하는 테스트 - (기능적 요구사항/비기능적 요구사항) 인수 테스트 (Acceptance Test) - 요구사항이 만족했는지 확인하기 위한 테스트 - 알파 테스트 : 사용자가 개발자 환경에서 수행하는 테스트 - 베타 테스트 : 실제 환경에서 일정 사용자에게 SW를 사용하게 하고 피드백을 받는 테스트 2. V 모델