본문 바로가기
QA/Theory

소프트웨어 테스팅의 기초-3

by 화뉘 2010. 4. 7.

1.1테스팅의 일반적인 원리

     테스팅은 결함이 존재함을 밝히는 활동이다. : 테스팅은 소프트웨어에 잔존하는 결함을 간과할 가능성을 줄일 수 있지만, 결함이 전혀 발견하지 않는 경우라도 결함이 없이 완전하다는 것을 증명하지 못한다.

     완벽한 테스팅(Exhaustive)은 불가능하다. : 모든 가능성을 테스팅하는 것은 지극히 간단한 소프트웨어를 제외하고는 가능하지 않다. 따라서 리스트 분석과 결정된 우선 순위에 따라 테스팅 활동 노력을 집중시켜야 한다.(Risk-based testing)

     테스팅을 개발 초기에 시작한다. : 테스팅 활동은 소프트웨어나 시스템 개발 수명주기에서 가능한 초기에 시작되어야 하며, 설정한 테스팅 목표에 집중해야 한다.

     결함 집중(Defect clustering) : 출시 전의 테스팅 기간 동안 적은 수의 모듈에서 대다수의 결함이 발견되거나, 대다수의 운영상의 장애를 초래한다.

     살충제 패러독스(Pesticide paradox) : 동일한 테스트케이스로 동일한 테스트를 반복적으로 수행한다면, 더 이상 새로운 버그를 찾아내지 못할 것이다. 잠재된 보다 많은 결함을 발견하기 위해서는 테스트 케이스를 정기적으로 리뷰하고 개선할 필요가 있고, 소프트웨어 또는 시스템의 다른 부분을 새롭고 다른 시각으로 테스트하는 것이 필요하다.

     테스팅은 정황(Context)에 의존적이다. : 테스트는 정황에 따라 다르게 진행한다. 이때 모든 테스팅에서 변하지 않는 사항도 존재한다.

ü  테스트 수명 주기에 따른 테스트 프로젝트 계획(Life cycle, planning)

ü  표준적인 기법 적용(Techniques)

ü  독립적인 테스트 환경(Environment)

ü  효율적/효과적 테스트 팀 조직(Organization)

ü  공식 리포팅(Formal reporting)

     오류 부재의 궤변(Absence-of-errors fallacy) : 개발자 시스템이 사용자의 필요와 기대에 부응하지 못하고 쓸모 없다면 결함을 찾고 수정하는 과정은 아무 소용 없다.

'QA > Theory' 카테고리의 다른 글

애자일 테스팅(Agile Testing)  (1) 2014.10.21
Scrum(스크럼)  (0) 2014.08.20
소프트웨어 테스팅의 기초-4  (0) 2010.04.07
소프트웨어 테스팅의 기초-2  (0) 2010.04.07
소프트웨어 테스팅의 기초-1  (0) 2010.04.07

댓글