Clean & Blue 자세히보기

전공/정보처리기사 실기

정보처리기사 실기 - 6. 애플리케이션 테스트 관리(2) /통합테스트/테스트자동화/결함관리

_청렴 2021. 4. 24. 15:27
반응형

NCS 정보처리기사

2) 애플리케이션 통합 테스트하기

•통합 테스트

소프트웨어 각 모듈간의 인터페이스 관련 오류 및 결함을 찾아내기 위한 체계적인 테스트 기법

-> 목적 : 단위 테스트가 끝난 모듈 또는 컴포넌트 단위의 프로그램이 실제 단계에서 제시한 애플리케이션과 동일한 구조와 기능으로 구현된 것인지 확인하는 것

-> 수행방법 : 비점증적인 빅뱅방식모든 컴포넌트를 사전에 통합하여 전체 프로그램을 한꺼번에 테스트 하는 것

 -> 점증적인 방법은 상향적 통합과 하향식 통합 방식으로 구분

 

- 하향식 통합(Top Down) : 메인 제어 모듈(프로그램)로부터 아래 방향으로 제어의 경로를 따라 이동, 통합되는 하위 모듈과 최하위 모듈은 '깊이-우선' 또는 '너비-우선' 방식으로 통합 

 -> 아직 완성되지 않은 하위 제어모듈 및 모든 하위 컴포넌트를 대신하여 더미 모듈인 스텁(stub)을 개발

 -> 하위 모듈인 스텁이 한 번에 하나씩 실제 모듈로 대채됨

 

- 상향식 통합(Bottom Up) : 최하위 레벨의 모듈 또는 컴포넌트로부터 위쪽 방향으로 제어의 경로를 따라 이동하면서 구축과 테스트를 시작

 -> 최하위 레벨의 모듈 또는 컴포넌트들이 하위 모듈이 기능을 수행하는 클러스터로 결합

 -> 상위의 모듈에서 데이터의 입력과 출력을 확인하기 위해 더미 모듈인 드라이버(Driver) 작성

 

- 회귀테스트 : 통합테스트가 완료된 후에 변경된 모듈이나 컴포넌트가 있다면 새로운 오류 여부를 확인하기 위해 수행

 -> 모듈이나 컴포넌트의 변화로 인해 의도하지 않은 오류가 생기지 않았음을 보증하기 위해 반복테스트 하는 것

 -> 케이스 선정 방법

  • 모든 애플리케이션의 기능을 수행할 테스트 케이스의 대표적인 샘플 도출
  • 변경에 의한 영향도가 가장 높은 애플리케이션 기능에 집중한 추가적인 테스트 케이스 도출
  • 실제 수정이 발생한 모듈 또는 컴포넌트에서부터 시행하는 케이스 도출

 

•테스트 자동화 도구

- 테스트 자동화 : 테스트 도구를 활용하여 반복적인 테스트 작업을 스크립트 형태로 구현함

 -> 시간 단축과 인력 투입 비용을 최소화

 -> 장점 : 테스트 데이터 재입력 작업의 자동화

 -> 단점 : 도구 도입 후 도구 사용 방법에 대한 교육 및 학습이 필요

 

- 테스트 자동화 도구 유형

- 정적 분석 도구 : 만들어진 애플리케이션을 실행 하지 않고 분석하는 방법

 -> 작성된 소스코드에 대한 이해를 바탕으로 도구를 이용

 

- 테스트 실행 도구 : 테스트를 위해 작성된 스크립트를 실행

 -> 각 스크립트는 특징 데이터와 테스트 수행 방법을 포함

 

- 키워드 주도 접근 방식 : 테스트를 수행할 동작을 나타내는 키워드와 테스트 데이터를 스프레드 시트에 저장

 -> 키워드 이용하여 테스트 수행 동작 정의

 -> 테스트 대상 애플리케이션의 특성에 맞추어 키워드에 대해 테일러링

 

- 성능 테스트 도구

애플리케이션의 처리량, 응답시간, 경과시간, 자원사용률에 대해 가상의 사용자를 생성하고 테스트를 수행함

 

- 테스트 통제 도구

테스트 계획 및 관리를 위한 테스트 관리 도구, 테스트 수행에 필요한 데이터와 도구를 관리하는 형상 관리 도구, 테스트에서 발생한 결함에 대해 관리하거나 협업을 지원하기 위한 결함/추적/관리도구

 

- 테스트 장치 

애플리케이선 컴포넌트 및 모듈을 테스트 하는 환경의 일부분 -> 테스트를 지원하기 위한 코드와 데이터

 

* 테스트 더블(Test-double) : 실제 객체를 대신해서 테스팅에 사용하는 모든 방법을 일컬어 호칭하는 것

 -> Dummuy, Fake, Stub, Spy, Mock ... 등

 

•애플리케이션 테스트 결과 분석

- 테스트 결과 분석

- 에러/오류 : 결함의 원인이 되는 것, 사람에 의해 생성된 실수

- 결함/결점/버그 : 에러 또는 오류가 원인이 되어 소프트웨어 제품에 포함되어 있는 결함

- 실패/문제 : 소프트웨어 제품에 포함된 결함이 실행될 때 발생되는 현상

 

- 테스트 완료 조건

 

- 테스트 리포팅

  • 테스트 결과 정리
  • 테스트 요약 문서 : 판단 가능한 대상 소프트웨어의 품질 상태를 포함한 문서
  • 품질 상태 : 테스트 성공률, 테스트 커버리지, 발생할 결함의 수와 결함의 중요도 등
  • 테스트 결과서 : 결함과 관련된 사항을 중점적으로 기록
  • 테스트 실행 절차 및 평가

 

- 결함 관리

- 테스트 결함 관리

각 단계별 테스트 수행 후 발생한 결함의 재발 방지를 위해, 유사 결함 발견 시 처리시간 단축을 위해 결함을 추적하고 관리하는 활동

  • 에러 등록 : 결함 관리 대장에 발견된 에러를 등록
  • 에러 분석 
  • 결함 확정 : 등록된 에러가 실제 결함으로 확정될 경우, 결함 확정 상태를 설정
  • 결함 조치 
  • 결함 조치 검토 및 승인 : 정상적으로 결함 조치가 완료된 경우 결함 조치 완료 상태로 설정

 

- 결함 추이 분석 

테스트 완료 후 발견된 결함의 관리 측정 지표의 속성 값들을 분석하고 , 향후 애플리케이션의 어떤 모듈 또는 컴포넌트에서 결함이 발생할 지를 추정하는 작업

 

- 결함 관리 측정 지표

  • 결함 분포 : 각 애플리케이션 모듈 또는 컴포넌트의 특정 속성에 해당하는 결함ㅡ로세스의 수를 측정하여 결함의 분포를 분석
  • 결함 추세 : 테스트 진행 시간의 흐름에 따른 결함의 수를 측정하여 결함 추세를 분석
  • 결함 에이징 : 등록된 결함에 대해 특정한 결함 상태의 지속시간을 측정하여 분석

 

- 결함 분류

- 시스템 결함 

  • 비정상적인 종료/중단
  • 응답시간 지연
  • 데이터베이스 에러

- 기능 결함

  • 요구사항 미반영/불일치
  • 부정확한 비즈니스 프로세스
  • 스크립트 에러
  • 타시스템 연동 시 오류

- GUi 결함

  • 응용 프로그램 UI 비일관성
  • 부정확한 커서/메세지
  • 데이터 타입의 표시 오류

- 문서 결함 : 기록자, 사용자, 개발자 간의 의사소통과 기록이 원활하지 않은 경우에 발생하는 결함

 

- 결함 심각도

전체 시스템에 결함이 미치는 영향을 레벨별로 나타내고, 우선순위를 High, Medium, Low 등으로 정하는 것

  • High : 시스템이 중단(또는 다운)되어 더 이상 프로세스를 진행 할 수 없게 만드를 결함
  • Medium : 시스템의 흐름에 영향을 미치는 결함
  • Low : 시스템의 흐름에는 영향을 미치지 않는 결함이나 상황에 맞이 않은 용도와 화면 구성 결함

 

 

정보처리기사 실기 - 6. 애플리케이션 테스트 관리(3) /성능분석도구/코드리팩토링

3) 애플리케이션 성능 개선하기 - 애플리케이션 성능을 측정하기 위한 지표 처리량 응답 시간 경과 시간 자원 사용률 - 유형별 성능 분석 도구 성능 분석 도구는 애플리케이션의 성능을 점검하는

aapslie94.tistory.com