체계적인 테스팅 필요의 중요성

1. 소프트웨어가 전통적인 영역을 탈피해 전방위(가전, 무선단말기, 산업기기 등)로 확산

- 소프트웨어 개발 프로세스 품질의 중요성과 함께 소프트웨어 결함을 사전에 진단하고 정상 작동여부를 시험하는 테스팅의 중요성도 점점 부각됨


2. 전체 개발비의 40%, 많게는 60% 이상이 소프트웨어 테스팅 비용에 소요될 정도로 테스팅이 중요함


3. 개발자에 의한 테스팅이 어렵기 때문에 체계적인 테스팅이 필요

1) 개발자에 의해 테스팅이 어려운 이유

- 소프트웨어 개발 관련자들은 고정 업무만으로도 버거워 테스팅에 시간과 관심을 크게 두지 못함

- 테스팅에 적극적으로 관심을 갖는 개발자가 적어 하위레벨 테스트가 체계적으로 진행되는 것이 어려움

- 하위 레벨 테스팅 없이도 시스템이 문제없이 동작하는 경우가 많으나 심각한 문제가 발생한 경우, 개발비용보다 유지보수 비용이 더 많이 소요됨


2) 최근에는 품질에 대한 인식이 높아져서 사용자들이 기대하는 수준이 높음

- 이에 부응하지 못했을 때 개발 프로젝트가 실패하거나 제품이 시장에서 실패해 비지니스에 큰 손실을 주는 경우가 발생


체계적인 테스팅을 제약하는 요인

1. 짧은 기간, 부족한 인력, 리소스로 진행되는 개발 환경에서 테스팅에 대한 투자를 고려하기 쉽지 않음

- 개발 환경에서 테스팅을 체계적으로 하기 위한 노력이 필요

- 리스크를 중심으로 테스팅에 접근, 테스트의 우선순위를 결정하여 진행


2. 테스팅에대한 단편적인 지식

- 테스팅에 관심을 가진 관리자나 테스트 업무를 하고 있는 테스터가 테스팅에 대해 너무 단편적으로 알고 있음


3. 의사결정권자 또는 매니저들의 테스팅에 대한 인식 부족

- 부족하거나 부적절한 테스팅으로 문제가 발생하면 테스팅 지식을 습득, 단계적으로 테스팅을 적용

- 비지니스에 테스팅을 적극 활용하도록 의사결정권자를 설득하는 것이 필요


4. 테스팅을 투자가 아닌 불필요한 비용으로 보는 것

- 테스팅은 확실히 수치적으로 ROI(Return On Investment)를 제공하는 활동

- 불필요한 비용으로 보고 가능한 줄여 보려는 노력이 향후 더 큰 비용을 유발, 극단적인 경우 비지니스 자체가 위험에 처함

- 테스팅을 더 적극걱으로 활용하여 개발 결과물의 완성도와 품질을 높이고 실제적으로 개발 기간을 단축하려는 시도(리소스를 효과적으로 투입하는 방법)가 필요