기록공간

2-4-8장. 테스트 자동화 도구 - B 본문

자격증공부/정보처리기사_필기

2-4-8장. 테스트 자동화 도구 - B

입코딩 2020. 9. 6. 20:19
반응형

테스트 자동화의 개념

테스트 자동화는 사람이 반복적으로 수행하던 테스트 절차를 스크립트 형태로 구현하는 자동화 도구를 적용함으로써 쉽고 효율적으로 테스트를 수행할 수 있도록 한 것이다.

 

  • 테스트 자동화 도구를 사용함으로써 휴먼 에러를 줄이고 테스트의 정확성을 유지하면서 테스트의 품질을 향상시킬 수 있다.

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

  • 장점

    • 테스트 데이터의 재입력, 재구성 같은 반복적인 작업을 자동화함으로써 인력 및 시간을 줄임

    • 다중 플랫폼 호환성, 소프트웨어 구성, 기본 테스트 등 향상된 테스트 품질 보장

    • 사용자의 요구사항 등을 일관성 있게 검증할 수 있음

    • 테스트 결과에 대한 객관적인 평가 기준 제공

    • 테스트 결과를 그래프 등 다양한 표시 형태로 제공

    • UI가 없는 서비스도 정밀 테스트가 가능

  • 단점

    • 테스트 자동화 도구 사용법에 대한 학습 및 교육이 필요

    • 자동화 도구를 프로세스 단계별로 적용하기 위한 시간, 비용, 노력이 필요

    • 비공개 상용 도구의 경우 고가의 추가 비용이 필요

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

  • 테스트 절차를 고려하여 재사용 및 측정이 불가능한 테스트 프로그램은 제외

  • 모든 테스트 과정을 자동화 할 수 있는 도구는 없으므로 용도에 맞는 적절한 도구 선택해서 사용

  • 자동화 도구의 환경 설정 및 습득 시간을 고려해서 프로젝트 일정을 계획

  • 테스트 엔지니어 투입 시간이 늦어지면 프로젝트 이해 부족으로 인해 불완전한 테스트를 초래할 수 있으므로 반드시 프로젝트 초기에 테스트 엔지니어 투입 시기를 계획

테스트 자동화 도구 유형

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

    • 프로그램을 실행하지 않고 분석하는 도구로, 소스 코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도 및 남은 결함 등을 발견하기 위해 사용

    • 테스트를 수행하는 사람이 코드를 이해하고 있어야만 사용이 가능

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

    • 스크립트 언어를 사용해 테스트를 실행하는 방법으로, 테스트 데이터와 테스트 수행 방법 등이 포함된 스크립트를 작성 후 실행

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

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

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

    • 테스트 계획 및 관리, 테스트 수행, 결함 관리 등을 수행하는 도구로, 종류에는 형상 관리 도구, 결함 추적/관리 도구 등이 있음

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

    • 테스트 하네스는 애플리케이션의 컴포넌트 및 모듈을 테스트하는 환경의 일부분으로, 테스트를 지원하기 위해 생성된 코드와 데이터를 의미

    • 테스트가 실행될 환경을 시뮬레이션 하여 컴포넌트 및 모듈이 정상적으로 테스트되도록 함

    • 구성 요소 : 테스트 드라이버, 테스트 스텁, 테스트 슈트, 테스트 케이스, 테스트 스크립트, 목 오브젝트

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

  • 테스트 계획 

    • 요구사항 관리 : 사용자의 요구사항 정의 및 변경 사항 등을 관리하는 도구

  • 테스트 분석/설계

    • 테스트 케이스 생성 : 테스트 기법에 따른 테스트 데이터 및 테스트 케이스 작성을 지원하는 도구

  • 테스트 수행

    • 테스트 자동화 : 테스트 자동화를 도와주는 도구로 테스트 효율성 증대

    • 정적 분석 : 코딩 표준, 런타임 오류 등을 검증하는 도구

    • 동적 분석 : 대상 시스템의 시뮬레이션을 통해 오류를 검출하는 도구

    • 성능 테스트 : 가상의 사용자를 생성하여 시스템의 처리 능력을 측정하는 도구

    • 모니터링 : CPU, Memory 등과 같은 시스템 자원의 상태 확인 및 분석을 지원하는 도구

  • 테스트 관리

    • 커버리지 분석 : 테스트 완료 후 테스트의 충분성 여부 검증을 지원하는 도구

    • 형상 관리 : 테스트 수행에 필요한 다양한 도구 및 데이터를 관리하는 도구

    • 결함 추적/관리 : 테스트 시 발생한 결함 추적 및 관리 활동을 지원하는 도구

반응형
Comments