6.1 테스트 도구 고려 사항
6.1.1 테스트 도구의 분류(Test tool Classification)
>정황에 따라 하나 이상의 목적이 있다.
-반복적인 작업/수동으로 진행했을 때 상당한 리소스를 필요로 하는 작업을 자동화 -> 테스트 활동의 효율성 증진
-테스트 프로세스 전반에 걸쳐 수동 테스트 활동 지원 -> 테스트 활동의 효율성 증진
-테스팅의 일관성과 결함 재현성 향상 -> 테스트 활동의 품질 향상
-수동으로 실행할 수 없는 활동을 자동화
-테스팅의 신뢰성 향상
>도구는 목적/가격/라이선스 모델/사용된 기술에 따라 분류
>가장 밀접하게 관련 있는 활동을 기반으로 한다.**실러버스 상 분류
>여러 도구가 함께 동작하도록 설계된 도구를 제공하는 공급자는 통합된 하나의 스위트를 제공할 수 있다.
>침입적 도구 : 도구 자체가 테스트의 실제 결과에 영향을 미침 ex)성능 테스팅 도구가 실행하는 추가 명령 등
>>탐사 효과 : 침입적 도구를 사용해 달라진 결과
>테스팅 및 테스트웨어 관리 지원 도구(Tool support for management of testing and testware)
-테스트 관리 도구와 애플리케이션 수명주기 관리 도구(ALM; ApplicationLifecycle Management tool)
-요구사항 관리 도구
-결함 관리 도구
-형상 관리 도구
-지속적인 통합도구(개발자 지원)
>정적 테스팅 지원 도구(Tool support for static testing)
-정적 분석 도구(개발자 지원)
>테스트 설계 및 구현 지원 도구 (Tool support for test design and implementation)
-모델 기반 테스팅 도구
-테스트 데이터 준비 도구
>테스트 실행 및 로깅 지원 도구(Tool supprot for test execution and logging)
-테스트 실행 도구
-커버리지 도구
-테스트 하네스(개발자 지원)
>성능 측정과 동적 분석 지원 도구(Tool support for performance measurement and dynamic analysis)
-성능 테스팅 도구
-동적 분석 도구(개발자 지원)
>특수 목적 테스팅 지원 도구(Tool support for specialized testing needs)
6.1.2 테스트 자동화의 효과와 리스크(Benefits and Risks of Test Automation)
>잠재적 가치
-반복적인 수동 업무의 감소로 시간 절약
-월등한 일관성과 반복성 제공
-보다 객관적인 평가 기준 제공
-테스팅 관련 정보에 용이하게 접근
>리스크
-도구에 대한 비현실적 기대
-초기 도구 도입에 필요한 시간, 비용, 노력에 대한 과소평가
-도구로 유의미하고 지속적인 효과를 얻는 데 필요한 시간 및 노력 과소평가
-도구가 생성하는 테스트 작업 산출물 유지 위한 노력의 과소평가
-도구에 대한 지나친 의존
-테스트 작업 산출물에 대한 버전의 관리 소홀
-요구사항/형상 관리/ 결함 관리 도구 및 다수의 공급업체에서 제공하는 도구환경에서 주요 도구간 관계 및 상호운용성 이슈 관리 미비
-도구 공급 업체의 폐업, 해당 도구의 판매 중단, 해당 도구의 타 공급 업체 매각 등
-지원, 업그레이드, 결함 수정에 대한 공급 업체의 부적절한 대응
-오픈소스 프로젝트의 경우 연기/중단 가능성
-도구가 새로운 플랫폼/기술 지원하지 않음
-도구의 소유권 불명확
6.1.3 테스트 실행 및 테스트 관리 도구 고려 사항(Special Considerations for Test Execurion and Test Management Tools)
>테스트 실행 도구 : 스크립트 언어 전문가 필
-캡처 기반 테스트 접근법
: 테스트 스크립트의 수가 많을 경우 부적절, 예상치 못한 이벤트에 취약, 지속적 유지보수 필요
-데이터 주도 테스트 접근법
: 입력값 및 기대 결과값을 스프레드시트에 저장, 더 많은 공동 스크립트 활용 -> 동일한 스크립트를 매번 다른 데이터로 반복 실행
-키워드 주도 테스트 접근
: 해야 할 행동을 설명하는 키워듣를 공통 스크립트가 처리, 키워드 스크립트 호출 -> 연관 데이터 처리
>테스트 관리 도구 : 스프레드시트와 연동해야 하는 경우 多
-필요한 정보 생성
-요구사항 관 도구에 저장된 요구사항과의 추적성의 지속적 유지
-형상 관리 도구에 저장된 테스트 대상 버전 정보와 연결
6.2 도구의 효과적인 사용
6.2.1 도구 선택의 주요 원칙 : 마지막으로 사전 검증 진행
-조직의 성숙도 수준 평가
-도구의 지원으로 테스트 프로세스 개선 기회 식별
-테스트 대상이 이용하는 기술을 이해해 테스트 대상과 호환 가능한 도구 선택
-호환/통합이 가능한 도구 확인을 위해 조직에서 기 사용중인 빌드와 지속적인 통합 도구 이해
-명확한 요구사항과 객관적인 기준에 맞는 도구 평가
-도구를 일정 기간 무료로 시험해 볼 수 있는지 여부
-공급자 평가 또는 비 상업적 도구 지원 평가
-조직이 요구하는 도구 사용 코칭, 멘토요구사항 식별
-도구의 실사용자의 테스팅 역량을 고려한 훈련 수요 확인
-다양한 라이센스 모델의 장단점 고려
-필요 시 구체적인 비즈니스 사례에 근거해 비용 대비 효과 추정
6.2.2 도구 도입을 위한 파일럿 프로젝트
: 도구 선택, 사전 검증이 성공적으로 종료된 후 선택한 도구를 조직에 도입하는 시점
-깊이 있는 도구 지식의 습득, 장단점 모두 이해
-도구를 기존 프로세스와 프랙티스에 어떻게 적용할지 평가, 변경 사항 결정
-도구와 테스트 작업 산출물의 사용, 관리, 저장, 유지보수에 대한 기준 결정
-목표한 가치를 적절한 비용으로 달성할 수 있는지 평가
-도구에서 수집하고 보고하기를 희망하는 메트릭을 이해, 해당 메트릭을 도출 및 보고할 수 있도록 도구 설정
6.2.3 도구 성공 요인
-조직의 다른 부서에 도구 사용 전파 점진적 진행
-도구의 사용버에 맞게 프로세스를 수정 및 개선
-도구 사용자에게 교육, 코칭, 멘토링 제공
-도구사용에 필요한 지침을 정의
-실제 도구 사용에서 얻은 사용법 정보의 수집 방법 구현
-도구 사용 현황과 성과를 모니터링
-특정 도구 사용자에게 지원 제공
-모든 사용자로부터 사용 후 교훈 수집
'QA.테스팅' 카테고리의 다른 글
[ISTQB][오답노트] 2회차 (2) | 2023.12.18 |
---|---|
[ISTQB][오답노트] 1회차 (0) | 2023.12.18 |
[ISTQB] 제 5장 테스트 관리 (0) | 2023.12.11 |
[ISTQB] 제4장 테스트 기법 (1) | 2023.12.11 |
[ISTQB] 제 3장 정적 테스팅(static testing) (0) | 2023.12.11 |