Certificate/정보처리기사

[2과목 소프트웨어 개발] 애플리케이션 테스트 관리 - 061. 테스트 자동화 도구

S_sun 2024. 7. 15. 16:46
  • 쉽고 효율적으로 테스트를 수행할 수 있도록 한 것
  • 휴먼 에러(Human Error)를 감소, 테스트의 정확성 유지, 테스트 품질 향상

1. ⭐ 테스트 자동화 도구의 장점 / 단점

1) 장점

  • 테스트 데이터 재입력, 재구성 같은 반복적인 작업을 자동화함으로써 인력 및 시간 단축
  • 다중 플랫폼 호환성, 소프트웨어 구성, 기본 테스트 등 향상된 테스트 품질 보장
  • 사용자 요구사항을 일관성 있게 검증
  • 테스트 결과에 대한 객관적인 평가 기준 제공
  • 테스트 결과를 그래프 등 다양한 표시 현태로 제공
  • UI없는 서비스도 정밀 테스트 가능

2) 단점

  • 도구의 사용 방법에 대한 교육 및 학습 필요
  • 프로세스 단계별로 적용하기 위한 시간, 비용, 노력이 필요
  • 비공개 상용 도구의 경우 고가의 추가 비용 필요

2. 테스트 자동화 수행 시 고려사항

  • 재사용 및 측정이 불가능한 테스트 프로그램은 제외
  • 모든 테스트 과정을 자동화 할 수 있는 도구는 없으므로 용도에 맞는 적절한 도구 선택
  • 환경 설정 및 습득 기간을 고려해 프로젝트 일정을 계획
  • 테스트 엔지니어 투입시기가 늦어지면 프로젝트 이해 부족으로 인해 불완전한 테스트를 초래할 수 있으므로 반드시 프로젝트 초기에 테스트 엔지니어의 투입 시기를 계획

3. 테스트 자동화 도구의 유형

1) 정적 분석 도구 (Static Analysis Tools)

  • 프로그램을 실행하지 않고 분석하는 도구
  • 코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도 및 남은 결함 등을 발견하기 위해 사용
  • 테스트 수행하는 사람이 작성된 코드를 이해하고 있어야만 분석 가능

2) 테스트 케이스 생성 도구 (Test Case Generation Tools)

  • 자료 흐름도 : 자료 원시 프로그램을 입력받아 파싱 후 자료 흐름도 작성
  • 기능 테스트 : 주어진 기능을 구동시키는 모든 가능한 상태의 입력을 작성
  • 입력 도메인 분석 : 원시 코드의 내부를 참조하지 않고, 입력 변수의 도메인을 분석하여 작성
  • 랜덤 테스트 : 입력 값을 무작위로 추출하여 테스트

3) 테스트 실행 도구 (Test Execution Tools)

  • 스트립트 언어를 사용해 테스트 실행
  • 데이터 주도 접근 방식
    • 익숙하지 않은 사용자도 사용 가능
  • 키워드 주도 접근 방식
    • 키워드를 이용하여 테스트 정의

4) 성능 테스트 도구 (Performance Test Tools)

  • 애플리케이션의 처리량, 응답 시간, 경과 시간, 자원 사용률 등 인위적으로 적용한 가상의 사용자를 만들어 테스트를 수행함으로써 성능의 목표 달성 여부 확인

5) 테스트 통제 도구 (Test Control Tools)

  • 테스트 계획 및 관리, 테스트 수행, 결함관리 수행하는 도구
  • 형상관리 도구, 결합 추적/관리 도구

6) 테스트 하네스 도구 (Test Harness Tools)

  • 애플리케이션의 컴포넌트 및 모듈을 테스트하는 환경의 일부분
  • 테스트를 지원하기 위해 생성된 코드와 데이터를 의미
  • 테스트가 실행될 환경을 시뮬레이션하여 컴퓨넌트 및 모듈이 정상적으로 테스트 되도록 함

💡 테스트 하네스의 구성요소

  • 테스트 드라이버(Test Driver)
    • 테스트 대상 하위모듈 호출
    • 매개변수 전달하고 모듈 테스트 수행 후 결과를 도출하는 도구
  • 테스트 스텁(Test Stub)
    • 제어모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구
    • 일시적으로 필요한 조건만들 가지고 있는 테스트용 모듈
  • 테스트 슈트(Test Suites)
    • 테스트 대상 컴포넌트나 모듈, 시스템에 사용되는 테스트 케이스 집합
  • 테스트 케이스(Test Case)
    • 사용자 요구사항을 정확하게 준수했는지 확인하기 위한 입력 값, 실행 조건, 기대 결과 등으로 만들어진 테스트 항목의 명세서
  • 테스트 스크립트(Test Script)
    • 자동화된 테스트 실행 절차에 대한 명세서
  • 목 오브젝트(Mock Object)
    • 사전에 사용자의 행위를 조건부로 입력해두면, 그 상황에 맞는 예정된 행위를 수행하는 객체

4. 테스트 수행 단계별 테스트 자동화 도구

  • 테스트 계획 : 요구사항 관리
  • 테스트 분석/설계 : 테스트 케이스 생성
  • 테스트 수행 : 테스트 자동화, 정적 분석, 동적 분석, 성능 테스트, 모니터링
  • 테스트 관리 : 커버리지 분석, 형상관리, 결함 추적/관리

 

 

 

📖 Reference
 

2023 시나공 정보처리기사 필기 : 네이버 도서

네이버 도서 상세정보를 제공합니다.

search.shopping.naver.com

 

728x90
반응형