2017년 5월 22일 월요일

SW 테스트를 정의해보자!

소프트웨어 테스트(이하 테스트라 칭함)가 무엇인지 함께 생각해보자!

위키피디아(www.wikipedia.org)에서는 테스트를 어떻게 정의하고 있는지 알아보자!
소프트웨어 테스트는 주요 이해관계자들에게 시험 대상 제품 또는 서비스의 품질에 관한 정보를 제공하는 조사 과정이다. 소프트웨어 테스트는 또한 소프트웨어에 대한 객관적이고 독립적인 시각을 제공하여 사업주체가 소프트웨어 구현의 위험성을 올바로 이해하도록 한다. 시험 기술에는 프로그램이나 응용 프로그램을 실행하여 소프트웨어 버그를 찾는 절차가 포함되나 이에 국한되지는 않는다.
위키피디아에서는 소프트웨어 테스트를 "서비스 품질에 관한 정보를 제공하는 조사과정" 이라고 정의하고 있다.
그 외에도 테스트는 "사업주체가 소프트웨어 구현의 위험성을 올바로 이해하도록 한다." 라고 테스트의 가치를 말해주고 있다.
끝으로 "소프트웨어 버그를 찾는 절차가 포함되나 이에 국한되지는 않는다." 라고 테스트의 범위를 정의하고 있다.


테스트에 대한 위키피디아의 정의가 틀린 것은 아니지만 너무 포괄적인 면이 있다.
그래서 나는 다음과 같이 정의하고 싶다.

"소프트웨어 테스트는 리스크(risk)를 이슈(issue)로 만드는 과정이다."

여기서 리스크는 잠재적인 위험이고, 이슈는 발생한 위험이다.
둘 다 모두 위험이지만 하나는 아직 발생하지 않은 것이고, 다른 하나는 발생한 것이다.
리스크는 영원히 발생하지 않을 수도 있다는 것이 이슈와 다른 점이다.




테스트를 위와 같이 정의하면 테스트가 어떻게  수행되어야 하는지도 쉽게 정의할 수 있다.

"소프트웨어를 테스트한다는 것은 리스크(risk)를 파악하고, 파악된 리스크(risk)가 이슈(issue)인지 아닌지 확인하는 활동이다."

즉 테스트 활동을 도식화 하면 아래와 같다.


0 개의 댓글:

댓글 쓰기