정보처리기사_필기/소프트웨어 개발_문제풀이

테스트자동화/성능분석_4장. 어플리케이션 테스트

느리지만 꾸준하게 2021. 4. 25. 17:13

첫 번째 

테스트 자동화

 

장점

     자원(인력, 시간)감소

     품질 보장, 일관성(객관적 평가)

     시각적 표현, UI없는 서비스도 테스트가능

 

단점

     교육 및 학습을 위한 자원(시간, 비용)이 필요함

     상용SW인 경우 추가 비용이 필요함

 

두 번째 

유형별 테스트 자동화 도구

 

정적 분석 도구: 실행 없이 코딩표준 및 복잡도 체크

 

테스트 실행 도구: 스크립트 언어를 사용하여 테스트

스크립트 언어를 사용하여 테스트

  • 데이터 주도 접근 방식 - 다양한 데이터를 동일한 테스트 케이스로 반복 실행
  • 키워드 주도 접근 방식 - 데이터 + 키워드(다양한 수행 동작)

성능 테스트 도구: 처리량, 응답 시간, 결과 시간, 자원 사용률 측정

 

테스트 통제 도구: 테스트 계획 및 관리, 결함 관리, 형상 관리

 

테스트 하네스:

 

테스트를 위해 생성한 코드 및 데이터

  • stub - 제어 모듈이 호출하는 모듈(하위)의 기능을 수행하는 모듈
  • driver - 하위 모듈의 인터페이스 역할(호출 및 인자전달)을 수행하는 모듈
  • test case - 입력 및 기능에 대한 기대 결과를 명세한 명세서
  • test suites - 테스트 케이스의 집합(시나리오와 달리 절차, 순서가 없음)
  • test script - 자동화 테스트 절차에 대한 명세서
  • mock object - 조건에 맞는 상황에 특정 기능이 수행되도록한 객체

 

세 번째 

결함 관리 프로세스

 

계획 기록 검토 수정 재확인 보고서 작성

결함관리 DB (모니터링 서비스 제공)

 

결함 상태 추적

      (해제)

등록 검토 할당 수정 해결

      (보류)

 

결함의 분류와 심각도

 

시스템 결함: 어플리케이션 및 DB의 작동 불능(지연) 

 

기능 결함: 프로세스와 기능의 결과가 기대결과와 불일치

 

GUI 결함: UI 비일관성, 표시 오류, 부정확한 메시지

 

문서 결함: 문서, 메뉴얼의 불일치와 의사소통이 원활하지 않음

 

 

어플리케이션 성능 저하 원인 분석

 

BD연결

  • 과도한 조회, 갱신(DB Lock)
  • 불필요한 데이터 요청(DB Fetch)
  • 사용 후 종료하지 않음(Connection Leek)
  • 커넥션 풀 사이즈가 너무 작거나 큼
  • 잘못된 트랜잭션(commit)

내부로직

  • 인터넷 접속 불략
  • 업로드 / 다운로드 상태불량
  • 예외 처리 불량

 

외부/환경설정

  • 외부 작업에 대한 장시간 지연
  • 메모리 크기 작게 설정
  • 네트워크 장비 오류 및 지연

Clean Code

가독성, 의존성 배제

단순성, 중복 최소화

 

Bad Code

복잡함, 중복됨

로직 서로 얽혀있음

 

 

출처 : www.youtube.com/watch?v=J3GLtxmUpkw&list=PLKpxllD6C8Cli4UZqnDG4_77OU6XeF6e_&index=9

 

그럼 이만.

총총.