ISTQB CTFL Syllabus 2011


테스팅이 왜 필요한가?

Why is Testing Necessary?




Terms

  • 버그 Bug, 결함 Defect, 결점 Fault

- 필요한 기능을 수행하지 못하도록하는 컴포넌트나 시스템 상의 결점.

- e.g. 부정확한 구문, 부정확한 데이터의 정의.

- 실행 중에 결함이 발생할 경우, 컴포넌트나 시스템의 장애를 야기시킬 수 있다.

  • 오류 Error, 실수 Mistake

- 잘못된 결과를 낳는 인간의 행위.

  • 장애 Failure

- 코드에 존재하는 결함의 실행.

- 환경적 조건에 의한 시스템의 부적절한 처리.

- 컴포넌트나 시스템이 예상된 인도나 서비스, 예상결과와 실제적인 편차를 보이는 것.

  • 품질 Quality

- 컴포넌트, 시스템 또는 프로세스가 명시된 요구사항과 사용자(고객)의 필요와 기대를 충족시키는 정도.

  • 리스크 Risk

- 미래에 부정적 결과로 끝날 수 있는 요소.

- 주로 영향력(impact)과 발생가능성(likelihood)으로 표현된다.


출처 : http://dic.sten.kr/


1.1.1 소프트웨어 시스템 관점에서의 테스팅

  • 소프트웨어가 기대대로 동작하지 않을 경우 다양하고 심각한 문제가 발생할 수 있다.


1.1.2 소프트웨어 결함의 원인

  • 개발자의 실수로 인한 프로그램 코드나 문서의 결함이 장애를 발생시킨다.(모든 결함이 장애를 발생시키는 것은 아님)
  • 시간적 압박, 복잡한 코드, 기반환경의 복잡성, 기술이나 시스템 상호작용의 변화
  • 방사, 자기, 전자기장, 오염 등 환경적 요인에 의해 하드웨어 조건이 변경되어 소프트웨어 실행에 영향을 미칠 수 있다.


1.1.3 소프트웨어 개발, 유지보수, 운영 시 테스팅의 역할

  • 사용자가 시스템을 사용하기 전에 발견된 결함을 수정한다고 전제할 때,
  • 운영 중에 발생할 수 있는 문제(Risk)를 감소시킨다.
  • 소프트웨어 시스템의 품질을 높이는 데 기여한다.
  • 계약/법적 요구사항이나 산업표준을 만족시키기 위해 필요하다.


1.1.4 테스팅과 품질

  • 테스팅을 통해 소프트웨어 품질을 측정할 수 있다.

- 기능·비기능적 요구사항과 특성(신뢰성, 사용성, 효율성, 유지보수성, 이식성 등)에 관련된 결함에 근거

  • 테스팅으로 발견된 결함이 극소수이거나 없다면 소프트웨어 품질에 대한 확신을 가질 수 있다.
  • 올바르게 디자인된 테스트는 시스템 전반의 리스크를 감소시킨다.
  • 발견된 결함이 수정될 때 품질이 증가한다.
  • 이 전 프로젝트에서 발생된 결함의 근본 원인을 이해하여 재발을 방지하고, 품질을 개선한다.
  • 테스팅은 품질 보증의 활동으로 통합되어야 한다.


1.1.5 테스팅을 얼마나 해야 충분한가?

  • 기술적, 안정성, 돈, 시간과 같은 비즈니스 리스크를 포함한 리스크 수준을 고려해야 한다.
  • 이해관계자들이 릴리즈 결정을 할 수 있도록 충분한 정보를 제공해야 한다.




2014/05/27 - [공부/ISTQB] - [ISTQB] 1. 소프트웨어 테스팅의 기초



+ Recent posts