소프트웨어 테스팅의 기초
1.1 소프트웨어 테스팅이 왜 필요한가? (1) 소프트웨어의 결함이 사람, 환경 또는 기업에 어떤 악영향을 끼치는가? 소프트웨어가 올바르게 동작하지 않는 경우 금전적인 손실, 시간 낭비, 비즈니스의 이미지 손상, 그리고 부상이나 사망에 이르기까지 다양하고 심각하다. (2) 결함의 원인과 결과 결함의 원인 : 인간이 오류를 범하기 쉽기 때문에 발생하며, 시간적인 압박, 복잡한 코드, 기반환경(Infrastructure)의 복잡성, 기술이나 시스템의 변경, 그리고 수많은 시스템 상호간의 연동 등의 이유로 발생한다. 또한 방사, 자기, 전자기장, 물리적 오염 또한 소프트웨어의 결함을 유발시킬 수 있으며, 이러한 환경적인 조건이 하드웨어 조건을 변경시켜 소프트웨어의 실행에 영향을 미칠 수 있다. 결함의 결과 : 장애(Failure) 발생 (3) 테스팅이 필요한 이유 운영 환경 내에서 발생하는 결함들의 리스크(위험)를 줄이는데 기여할 수 있으며 소프트웨어 시스템의 품질 향상에도 도움을 준다. (4) 품질 보증에서 테스팅이 필요한 이유를 설명하여라. 품질을 높이기 위해서는 이전 프로젝트를 통해 많은 테스트 경험과 정보를 확보하여야 한다. 다른 프로젝트에서 발견된 결함의 근본 원인에 대한 이해를 바탕으로 프로세스를 개선할 수 있으며, 그러한 결함의 재발을 방지함으로써, 결과적으로 차후 시스템의 품질을 개선할 수 있다. (5) 오류(Error), 결함(Defect), 결점(Fault), 장애(Failure)와 같은 용어의 차이점을 구분 및 이해하고 실수(Mistake), 버그(Bug)와 관련 지어 설명하여라. 오류(Error) : 부정확한 결과를 초래하는 인간의 활동 결함(Defect) : 필요한 기능을 수행하지 못하도록 하는 컴포넌트나 시스템 상의 결점 결점(Fault) : 결함을 유발하는 잘못되거나 완전하지 못한 점 장애(Failure) : 컴포넌트나 시스템에 예상된 인도나 서비스 또는 예상 결과와 실제적인 ...