반응형

안녕하세요.

 

회사에서 Tester 관련 교육으로 ISTQB Certified Tester Foundation Level 자격증 수업을 수강 하게 되었습니다.

 

시험 공부 겸 수업 내용을 정리 해보려고 합니다.

 

* 수업은 SK하이닉스와 STA 테스트 컨설팅에서 진행 하였고, 권혜영 강사님의 수업 이었습니다.

 


 

1. 테스트 도구

 

- 정황에 따른 테스트 도구의 목적

  - 반복적인 작업이나 수동으로 진행했을 떄 상당한 리소스를 필요로 하는 작업을 자동화해서 테스트 활동의 효율성을 높임

  - 테스트 프로세스 전반에 걸쳐 수동 테스트 활동을 지원해서 테스트 활동의 효율성을 높임

  - 테스팅의 일관성과 결함 재현성 향상으로 테스트 활동의 품질을 향상

  - 수동으로 실행할 수 없는 활동을 자동화 (대규모 성능 테스팅 등)

  - 테스팅의 신뢰성을 향상

 

- 테스팅 활동을 지원하는 테스트 도구 종류

  - 테스팅에 직접 사용 하는 도구

  - 요구사항, 테스트 케이스, 테스트 프로세스, 자동 테스트 스크립트, 테스트 결과, 테스트 데이터, 결함을 관리하고, 테스트 실행 보고와 모니터링을 지원하는 도구

  - 조사와 평가에 사용 하는 도구

  - 테스팅을 지원 하는 모든 도구

 

 

2. 테스트 도구 분류

 

- 테스팅 및 테스트웨어 관리 지원 도구 : 소프트웨어 수명주기 전체에 걸쳐 모든 테스팅 활동에 사용

  - 테스트 관리 도구 / 애플리케이션 수명 주기 관리 도구

  - 요구사항 관리 도구

  - 결함 관리 도구

  - 형상 관리 도구

  - 지속적인 통합 도구 (개발자 지원)

 

- 정적 테스팅 지원 도구 : 정적 분석 지원 도구

 

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

  - 모델 기반 테스팅 도구

  - 테스트 데이터 준비 도구

 

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

  - 테스트 실행 도구

  - 커버리지 도구

  - 테스트 하네스

 

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

  - 성능 테스팅 도구

  - 동적 분석 도구

 

 

3. 특수 목적 테스팅 지원 도구

 

- 일반적인 테스트 프로세스를 지원하는 도구 외에 특정 테스팅 이슈를 지원 하는 도구

  - 데이터 품질 평가

  - 데이터 변환 / 마이그레이션

  - 사용성 테스팅

  - 접근성 테스팅

  - 현지화 테스팅

  - 보안 테스팅

  - 이식성 테스팅

 

- 탐사 효과 : 침입적 도구를 사용해 달라진 결과

 

- 침입적 도구 : 도구 자체가 테스트의 실제 결과에 영향을 주는 도구 (성능 테스팅 도구, 코드 커버리지 도구)

 

 

 

4. 테스팅 자동화의 효과

 

- 잠재적 가치

  - 반복적인 수동 업무의 감소로 시간 절약

  - 월등한 일관성과 반복성 제공

  - 보다 객관적인 평가 기준 제공

  - 테스팅 관련 정보에 접근이 쉬움

 

- 잠재적 위험

  - 도구에 대한 비현실적인 기대

  - 초기 도구 도입에 필요한 시간, 비용, 노력에 대한 과소 평가

  - 도구로 의미 있고 지속적인 효과를 얻는 데 필요한 시간과 노력을 과소 평가

  - 도구가 생성하는 테스트 자산을 유지하기 위한 노력의 과소 평가

  - 도구에 대한 지나친 의존

  - 테스트 자산에 대한 버전의 관리 소흘

  - 요구사항 관리 도구, 형상 관리 도구, 결함 관리 도구, 다수의 공급 업체에서 제공하는 도구 환경에서 주요 도구 간의 관계와 상호 운용성 이슈를 관리 하지 않음

  - 도구 공급 업체의 폐업, 해당 도구의 판매 중단, 해당 도구가 다른 공급 업체에 매각 될 수 있음

  - 지원, 업그레이드, 결함 수정에 대한 공급 업체의 부적절한 대응

  - 오픈 소스 프로젝트는 연기되거나 중단 될 수 있음

  - 도구가 새로운 플랫폼이나 기술을 지원하지 않음

  - 도구의 소유권이 명확하지 않음

 

 

5. 테스트 실행 도구 고려 사항

 

- 자동화 테스트 스크립트를 사용해 테스트 실행

 

- 캡쳐 기반 테스트 접근법 : 테스터의 수동적인 조작을 녹화해 테스트를 자동화 하는 것은 테스트 스크립트의 수가 많을 경우 부적절

    * 저장된 스크립트마다 특정 데이터와 행위를 1차원적으로 표현 -> 예상하지 못한 이벤트에 취약

    * 시스템의 사용자 인터페이스가 변경되면 스크립트도 유지 보수 필요

 

- 데이터 주도 테스트 접근법 : 테스트 입력 값과 기대 결과값을 스프레드시트에 저장하고, 더 많은 공통 스크립트를 활용해 해당 테스트 데이터를 읽어 들여 동일한 테스트 스크립트를 매번 다른 데이터로 반복적으로 실행

 

- 키워드 주도 테스트 접근법 : 해야 할 행동을 설명하는 키워드를 공통 스크립트가 처리해 키워드 스크립트를 호출 하면 키워드 스크립트가 연관된 테스트 데이터를 처리

 

- 모델 기반 테스팅 도구

 

- 테스트 관리 도구는 다른 도구나 스프레드 시트와 연동 할 필요가 있음

  - 필요한 정보 생성을 위해

  - 요구사항 관리 도구에 저장된 요구사항과의 추적성을 지속적으로 유지하기 위해

  - 형상 관리 도구에 저장된 테스트 대상 버전 정보와 연결하기 위해

 

- 테스트 관리 도구와 다른 도구의 연동은 통합 도구를 사용 할 때 특히 중요

  - 애플리케이션 수명 주기 관리 도구에는 조직 내 다양한 그룹에서 사용하는 기타 모듈도 포함되어 있음

 

 

6. 도구 선택의 주요 원칙

 

- 조직의 성숙도, 장단점 평가

- 도구의 지원으로 테스트 프로세스 개선 기회 식별

- 테스트 대상이 이용하는 기술을 이해해 테스트 대상과 호환 가능한 도구 선택

- 호환과 통합이 가능한 도구 확인을 위해 조직에서 이미 사용 하고 있는 빌드와 지속적인 통합 도구 고려

- 명확한 요구사항과 객관적인 기준에 맞는 도구 평가

- 도구를 일정 기간 무료로 시험 해 볼 수 있는지 여부

- 공급자 평가 또는 비 상업적 도구 지원 평가

- 조직이 요구하는 도구 사용 코칭과 멘토 요구 사항 식별

- 도구를 직접 사용 할 사람의 테스팅 역량을 고려한 훈련 수요 확인

- 다양한 라이선스 모델의 장단점 고려

- 필요 시 구체적인 비지니스 사례에 근거해 비용 대비 효과 추정

 

- 반드시 사전 검증을 진행 해야 함

 

 

7. 파일럿 프로젝트

 

- 파일럿 프로젝트 : 도구 선택과 사전 검증이 성공적으로 끝난 다음 선택한 도구를 조직에 도입하는 시점

 

- 목적

  - 깊이 있는 도구 지식의 습득, 장단점 모두 이해

  - 도구를 기존 프로세스와 프랙티스에 어떻게 적용 할 지 평가하고 무엇을 변경 할 지 결정

  - 도구와 테스트 자산의 사용, 관리, 저장, 유지보수에 대한 기준 결정

  - 목표한 가치를 적절한 비용으로 달성 할 수 있는지 평가

  - 도구에서 수집하고 보고하기를 희망하는 메트릭을 이해하고, 그런 메트릭을 도출하고 보고 할 수 있도록 도구를 설정

 

 

8. 도구 성공 요인

 

- 조직의 다른 부서에 도구 사용 전파를 점진적으로 진행

- 도구의 사용법에 맞게 프로세스를 수정하고 개선

- 도구 사용자에게 교육, 코칭, 멘토링 제공

- 도구 사용에 필요한 지침을 정의

- 실제 도구 사용에서 얻는 사용법 정보의 수집 방법 구현

- 도구 사용 현황과 성과를 모니터링

- 특정 도구 사용자에게 지원 제공

- 모든 사용자로부터 사용 후 교훈 수집

  

반응형
Posted by 해리팍

BLOG main image

Chanhyun Park (해리팍)
Software Engineer @ SK hynix

Contact Info.
parkch0708@hanmail.net
chanhyun0708@gmail.com
chanhyun.park@sk.com

카테고리

All (1502)
Profile (2)
Park's Life (600)
Computer System (165)
Computer Programming (39)
Computer Study (54)
Computer Etc. (189)
Scuba Diving (137)
Golf (8)
Traveling (245)
생활 정보 (12)
Pokemon GO (50)