1.1테스팅의 일반적인 원리

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

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

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

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

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

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

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

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

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

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

ü  공식 리포팅(Formal reporting)

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

'일상에서' 카테고리의 다른 글

4/27 홈페이지 제작 의뢰  (0) 2010.04.27
소프트웨어 테스팅의 기초-4  (0) 2010.04.07
소프트웨어 테스팅의 기초-3  (0) 2010.04.07
소프트웨어 테스팅의 기초-2  (0) 2010.04.07
소프트웨어 테스팅의 기초-1  (0) 2010.04.07
ExLauncher 업데이트  (0) 2010.04.07

테스팅은 무엇인가?

u  테스팅은 응용 프로그램 또는 시스템(구성요소를 포함해서)의 동작과 성능, 안정성이 요구하는 수준을 만족하는지 확인하기 위해 결함을 발견하는 메커니즘이다.

u  테스팅의 목적

ü  남아있는 결함 발견

ü  명세 충족 확인

ü  사용자 및 비즈니스의 요구 충족 확인

ü  결함 예방

u  여러가지 관점에서의 테스팅의 목적

ü  개발 과정 : 소프트웨어의 결함을 찾아내고, 수정하기 위해서 가능한 많은 장애(Failure)를 발생시키는 것

ü  인수 테스팅 : 예상된 대로 시스템이 동작하는지 확인하고, 요구사항에 맞는지 확신을 얻는 과정

ü  소프트웨어의 품질 : 특정 시간에 시스템을 출시(Release)하는 것의 리스크를 개발 프로젝트 관리자(Stakeholders)에게 전달하는 것

ü  유지보수 테스팅 : 개발 과정에서 변경 작업이 일어나는 경우 새로운 결함이 유입되었는지 확인하는 리그레이션 테스팅(Regression testing)과정을 포함

ü  운영 테스팅 : 신뢰성 또는 가용성 같은 시스템의 특성을 평가하는 것


1.1 소프트웨어 테스팅은 왜 필요한가?

u  오류(Error) : 인간의 실수

u  결함(Defects or Bug) : 오류로 인한 장애의 원인

u  장애(Failure) : 결함으로 인한 프로그램의 실행 실패

u  테스팅은 개발과정에서 소프트웨어의 품질을 높이고, 고객을 발견할 수 있는 결함을 최소화한다.

u  테스팅은 변경으로 도입될 수 있는 결함과 장애를 발견하고 예방하는 활동이다.


'일상에서' 카테고리의 다른 글

소프트웨어 테스팅의 기초-3  (0) 2010.04.07
소프트웨어 테스팅의 기초-2  (0) 2010.04.07
소프트웨어 테스팅의 기초-1  (0) 2010.04.07
ExLauncher 업데이트  (0) 2010.04.07
프로젝트 자동화 시연을 마치고..  (0) 2010.04.03
간만에 자유~  (0) 2010.04.01

+ Recent posts