본문 바로가기
ISTQB CTFL

6. 테스트 지원 도구

by 양초털이범 2021. 5. 26.

6.1.1 테스트 도구의 분류(테스트 도구를 사용 목적과 지원하는 테스트 활동에 따라 구별할 수 있다)


테스트 도구의 목적

  • 반복적 잡업, 수동으로 진행시 상당한 리소스를 필요로 하는 작업의 자동화로 효율성 증대
  • 수동 테스트 활동을 지원하여 효율성 증대
  • 일관성과 결함 재현성 향상으로 테스트 활동 품질 향상
  • 수동을으로 실행할 수 없는 활동을 자동화
  • 테스팅의 신뢰성 향상

테스팅 및 테스트웨어 관리 지원 도구

  • 테스트 관리 도구와 애플리케이션 수명주기 관리 도구
  • 요구사항 관리 도구
  • 결함 관리 도구
  • 형상 관리 도구
  • 지속적인 통합 도구(개발자 지원)

정적테스팅 지원 도구

  • 정적 분석 도구(개발자 지원)

테스트 설계 및 구현 지원 도구

  • 모델 기반 테스팅 도구
  • 테스트 데이터 준비 도구

테스트 실행 및 로깅 지원 도구

  • 테스트 실행 도구
  • 커버리지 도구(개발자 지원)
  • 테스트 하네스(개발자 지원)

성능 측정과 동적 분석 지원 도구

  • 성능 테스팅 도구
  • 동적 분석 도구(개발자 지원)

 

6.1.2 테스트 자동화의 효과와 리스크


테스트 실행 지원 도구의 잠재적 가치

  • 반복적인 수동 업무의 감소로 시간 절약(데이터 재입력, 표준 준수 여부 점검 등)
  • 일관성과 반복성 제공(일관성 있는 테스트 데이터 생성, 같은 순서와 간격의 데이터 입력)
  • 보다 객관적인 평가 기준 제공(정적 테스팅 측정치, 커버리지)
  • 테스팅 관련 정보에 접근이 쉬움(테스트 진척도, 결함율, 성능 통계와 그래프)

테스팅 지원 도구의 잠재적 리스크

  • 도구에 대한 비현실적인 기대
  • 초기 도구 도입에 필요한 시간, 비용, 노력에 대한 과소평가
  • 도구로 의미 있고 지속적인 효과를 얻는 데 필요한 노력을 과소평가
  • 도구가 생성하는 테스트 작업 산출물을 유지하기 위한 노력의 과소평가
  • 도구에 대한 지나친 의존
  • 테스트 작업 산출물에 대한 버전의 관리 소홀
  • 공급 업체에서 제공하는 도구 환경에서 주요 도구 간의 관계와 상호운용성 관리를 하지 않음
  • 업체의 폐업, 판매 중단, 다른 업체에 매각의 위험성
  • 지원, 업그레이드, 결함 수정에 대한 업체의 부적절한 대응
  • 오픈소스 프로젝트는 연기되거나 중단될 수 있음
  • 도구가 새로운 플랫폼이나 기술을 지원하지 않음
  • 도구의 소유권이 명확하지 않음

 

6.1.3. 테스트 실행 및 테스트 관리 도구 고려사항(테스트 실행 및 테스트 관리 도구 사용 시 특별히 고려해야 하는 사항을 기억할 수 있다.)


테스트 실행 도구의 가치를 높이는 노력

  • 캡처 기반 테스트 접근법 : 캡처는 좋은 기록 수단이지만 스크립트의 수가 많을 경우 적절치 못하고 1차원적인 표현으로 예상치 못한 이벤트 발생에 취약함. 시스템의 사용자 인터페이스가 시간이 지남에 따라 바뀌게 되면 스크립트도 그에 맞게 계속해서 유지보수를 해 줄 필요가 있다.
  • 데이터 주도 접근법 : 접근법은 테스트 입력값과 기대 결과값을 보통 스프레드시트에 저장하고 더 많은 공통 스크립트를 활용해 해당 테스트 데이터를 읽어 들여 동일한 테스트 스크립트를 매번 다른 데이터로 반복적으로 실행
  • 키워드 주도 테스트 접근법 : 키워드 스크립트는 연관된 테스트 데이터를 처리한다.

테스트 관리 도구가 다른 도구나 스프레드시트와 연동해야 하는 이유

  • 필요한 정보를 생성하기 위해
  • 요구사항 관리 도구에 저장된 요구사항과의 추적성을 지속적으로 유지하기 위해
  • 형상 관리 도구에 저장된 테스트 대상 버전 정보와 연결하기 위해

 

6.2.1 도구 선택의 주요 원칙


원칙

  • 조직의 강점, 약점 등 성숙도 수준 평가
  • 도구의 지원으로 테스트 프로세스 개선 기회 식별
  • 테스트 대상이 이용하는 기술을 이해해 테스트 대상과 호환 가능한 도구 선택
  • 호환과 통합이 가능한 도구 확인을 위해, 조직에서 이미 사용하고 있는 빌드와 지속적인 통합 도구 이해
  • 명확한 요구사항과 객관적인 기준에 맞는 도구 평가
  • 도구를 일정 기간 무료로 시험해 볼 수 있는지 여부
  • 공급자 평가(교육, 지원, 상용 제품) 또는 비 상업적(예: 오픈소스) 도구 지원 평가
  • 조직이 요구하는 도구 사용 코칭과 멘토 요구사항 식별
  • 도구를 직접 사용할 사람의 테스팅(테스트 자동화 포함) 역량을 고려한 훈련 수요 확인
  • 다양한 라이센스 모델(예: 상용 제품이나 오픈소스)의 장단점 고려
  • 필요 시 구체적인 비즈니스 사례에 근거해 비용 대비 효과 추정

 

6.2.2 도구 도입을 위한 파일럿 프로젝트(도구를 도입할 때 파일럿 프로젝트의 목적을 상기할 수 있다)


목적

  • 깊이 있는 도구 지식의 습득, 장단점 모두 이해
  • 도구를 기존 프로세스와 프랙티스에 어떻게 적용할지 평가하고 무엇을 변경할지 결정
  • 도구와 테스트 작업 산출물의 사용, 관리, 저장, 유지보수에 대한 기준 결정 (예: 파일과 테스트를 명명하는 규칙 결정, 코딩 표준 선택, 라이브러리 생성, 테스트 스위트의 모듈성 정의)
  • 목표한 가치를 적절한 비용으로 달성할 수 있는지 평가
  • 도구에서 수집하고 보고하기를 희망하는 메트릭을 이해하고 그런 메트릭을 도출하고 보고할 수 있도록 도구를 설정

 

6.2.3 도구의 성공 요인(조직의 테스트 도구에 대한 평가, 시행, 배포, 상시 지원의 성공 요인을 식별할 수 있다.)


성공 요인

  • 조직의 다른 부서에 도구 사용 전파를 점진적으로 진행
  • 도구의 사용법에 맞게 프로세스를 수정하고 개선
  • 도구 사용자에게 교육, 코칭, 멘토링 제공
  • 도구사용에 필요한 지침을 정의 (예: 사내 자동화 규정)
  • 실제 도구 사용에서 얻은 사용법 정보의 수집 방법 구현
  • 도구 사용 현황과 성과를 모니터링
  • 특정 도구 사용자에게 지원 제공
  • 모든 사용자로부터 사용 후 교훈 수집

 

 

 

'ISTQB CTFL' 카테고리의 다른 글

5. 테스트 관리  (0) 2021.05.26
4. 테스트 기법  (0) 2021.05.25
3. 정적 테스팅  (0) 2021.05.24
2. 소프트웨어 개발 수명주기와 테스팅  (0) 2021.05.23
1. 테스팅의 기초  (0) 2021.04.04

댓글