Thief of Wealth
Published 2020. 7. 10. 20:49
14. 블랙박스 테스트 3 개발/QA

탐색적 테스트를 위한 학습 전략

 

1) 제품의 탐색

: "제품을 가지고 할 수 있는 일이 무엇인가?"

 

- 제품 탐색을 위한 소스

* 실 사용자

* 요구사항

* 명세서

* 테스터의 경험

* 제품 유저 인터페이스

* 문서

* 교육

* 경쟁 제품

* 패키징

* 특정 목록

* 빌드 변경 로그

 

2) 적절한 설계 기법 적용

: 발생가능한 모든 상황에 대한 테스트케이스 도출

: 사용 품질을 위한 use case반영

: 시스템의 내부 상태를 표현하여 테스트 케이스 설계

: 소스코드의 모든 실행 경로를 테스트케이스로 도출

 

참고) 탐색적 테스트는 랜덤 테스트의 일종이다? => NO, 탐색적 테스트는 목적을 갖고 행해지는 전략적인 테스트

 

 

 

 

탐색적 테스트를 위한 수행 전략

 

1) 테스트 용이성

: 테스트 용이성이란 가시성과 제어성을 의미한다.

- 테스트 가시성을 높이기 위한 방법

* 운영체제에서 제공하는 모니터링 도구를 최대한 활용

* 파일 시스템 사용을 모니터링 하기 위한 프로그램을 사용하거나 작업 스크립트를 작성

* 웹 기반 시스템이라면 HTTP요청과 서버로부터 받은 HTTP 응답을 상세하게 분석

 

2) 변수

: 변하는 것들을 담고 있는 변수를 찾아라.

- 변수의 예

* 파일 및 저장 공간

* 빈 파일이나 아주 크기가 큰 파일

* 교묘하게 숨어 있는 변수, 웹 브라우저의 주소의 파라미터 값.

 

 

탐색적 테스트 프로세스

 

1) 착수

2) 준비

3) 수행

4) 완료

5) 검토

6) 후속작업

 

참고) 탐색적 테스트는 진행상황을 보고하지 않아도 되는 자유로운 테스트이다

: NO, 개인의 역량과 자유를 존중하기 때문에 더욱 진행상황 보고가 필요한 테스트이다.

 

 

 

에러 추정 (Error Guessing) 테스트

 

- 소프트웨어의 잠재된 결함을 추측을 통해 발견하는 기법 (이 부분이 오류가 있을것 같아)

* 결함이 발생할 만한 취약한 지점을 추측하기 위해 개인의 스킬, 획득된 지식 및 과거 경험을 활용한다.

- 개인의 능력에 의존한 테스트로 능력과 경험이 있는 시험 인력이 테스트를 수행해야 한다.

- 공식적인 테스트를 수행한 후 에러 추정 테스트를 하는것이 좋다.

ex) 0으로 나누기,NULL 포인터

 

 

 

체크리스트 기반 테스트

 

- 경험이 많은 테스터가 체크리스트를 준비하여 계획된 테스트를 수행.

* 사전 준비된 체크리시트를 통해 일관적으로 테스트할 수 있도록 가이드

* 테스트 커버리지를 높이기 위한 도구로 사용될 수 있음.

 

- 체크리스트 작성 방법

1) 테스트가 필요한 소프트웨어를 대상으로 To-Do-List를 뽑는다.

2) 해당 목록을 기반으로 테스트 단계별 수행해야 하는 액션들을 나열

3) 테스트 수행 완료 후 체크리스트가 체크되어야 한다.

 

- 체크리스트가 일차적으로 만들어지면, 테스트 수행동안 요구사항에 따라 체크리스트가 변경

 

ex) 업로드 기능에 대한 체크리스트 

* 이미지 업로드 기능을 확인한다.

* 동일한 이름으로 이미지 업로드가 가능한지 확인한다.

* 업로드 된 이미지의 품질 상태를 확인한다.

* 이미지 업로드 진행상황이 나타나는지 확인한다.

* 여러 개의 이미지 업로드가 가능한지 확인한다.

* 이미지 업로드 도중 취소 긴응이 동작하는지 확인한다.

 

 

- 체크리스트 기반 테스트의 장점

* 충분한 테스트 커버리지를 보증하는 훌륭한 가이드라인 역할 수행.

* 체크리스트를 기반으로 테스트케이스 재사용이 가능

* 중요한 테스트를 빠트려 발생할 수 있는 위험 감수

* 새로운 테스트 기법을 체크리스트에 누적할 수 있음

* 경험이 부족한 신규인력에 대한 부담 감소

 

- 체크리스트 기반 테스트의 단점

* 체크리스트에 대한 상이한 해석으로 다른 방법으로 테스트할 수 있음

* 소프트웨어 기술이 변화함에 따라서 체크리스트도 업그레이드 되어야 함

* 시험과정이 복잡하면 재현이 어려울 수 있음

* 개발 공정 전체에 거친 테스트에는 적용이 어려울 수 있음.

 

 

 

Ad-Hoc 테스트

: 특정목적을 가지고 하는 테스트

 

- 제품에 대한 공식적인 테스트가 완료된 후에 추가 테스트가 필요 할 때 효과적.

- 제품 파괴 목적으로 테스트를 수행. (메뉴얼대로 안함)

- 테스트를 수행하는 테스터는 제품에 대한 충분한 지식이 있어야함.

 

장점

- 테스터가 공식적인 테스트 프로세스에 비해 더 많은 결함을 찾아내는데 도움이 되는 새로운 방법 적용가능

- 언제나 수행할 수 있음

- 시간이 부족하고 심층적인 테스트가 필요한 경우 유용

 

단점

- 계획하지 않고 문서화하지 않으므로 결함의 재현이 어려울 수 있음

- 새로운 테스터가 들어왔을 경우, 이전 숙련된 테스터에게 매우 의존적.

 

 

-  Ad-Hoc 테스트 효과를 높이기 위한 전략

* 제품에 대한 높은 이해가 바탕이 되어야 함.

* 테스트 우선순위를 정해야 함

* 개략적인 테스트 계획은 필요함

* 관찰 결과에 대한 문서화를 하면 좋음

 

 

 

'개발 > QA' 카테고리의 다른 글

디버깅과 테스팅의 차이  (0) 2020.09.11
15. 정적 테스팅 (Static Testing)  (0) 2020.07.11
13. 블랙박스 테스트2  (0) 2020.07.10
12. 블랙박스 테스트  (0) 2020.07.09
11. 화이트박스 테스트  (0) 2020.07.08
profile on loading

Loading...