공부/ISTQB
[ISTQB] 1.1 테스팅이 왜 필요한가?
모카젤리
2014. 5. 27. 17:05
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. 소프트웨어 테스팅의 기초