티스토리 뷰

QA

내게 테스팅이란

검은왕자 2011. 1. 24. 21:04

요즘 QA[1] 관련 글이 뜸합니다.

 

개인적으로 소프트웨어 테스팅과 관련된 번역 프로젝트에 참여하고 있고, 회사에서도 QA파트가 셋팅되고
본격적으로 테스팅 업무들이 진행되기 시작하면서 눈코뜰새 없이 바쁘다 보니 블로그에는 제대로 신경을
못쓰고 있습니다.

 

이 와중에 잠시 시간을 내어 지난 주에 있었던 ‘차세대 게임개발 국제 컨퍼런스’에 다녀왔습니다.
기존의 게임 개발 관련 세미나나 컨퍼런스가 주로 개발 자체에 초점을 맞추었던 것과 달리, 이번에는
게임 QA가 행사의 메인 테마였습니다. 국내의 온라인 게임 업계에서도 QA의 입지가 향상되고 있다는 것을
보여주는 단적인 반증이라고 할 수 있을 것 같습니다.

 

얼마 전 온라인 매체의 기사를 통해 국내에서도 인지도를 높인 캐나다의 게임 테스팅 전문 회사인 엔자임
(Enzyme)의 발표도 흥미로웠고, 비록 콘솔 게임의 QA 프로세스에 관한 부분이 대부분이긴 했지만 
마이크로소프트 재팬의 QA 사례에 대한 이야기도 재미있게 들었습니다.

 

발표자였던 리처드 뉴먼(Richard Newman)이 그의 발표 내내 강조했던 ‘개발 프로세스의 앞 단부터 QA가
투입되어야 한다’
는 이야기와, ‘마이크로소프트에서는 어떻게 그것이 가능했느냐’라는 질문에 ‘빌 게이츠가
마이크로소프트의 초기부터 QA를 PM(Project Management) 만큼이나 중요시했기 때문에 얼리 테스팅
문화가 쉽게 정착할 수 있었다’
라고 답변한 것이 뇌리에 뚜렷이 남아있습니다.   

 

역시 아직은 QA나 테스트에 대한 국내의 인식이 해외를 따라가지 못하고 있는 것이 사실인 것 같습니다.
그러면서도 한편으로, 국내에서 테스트나 QA에 종사하고 있는 사람들이 스스로 자신이 수행하고 있는
업무에 대한 고민과 자각이 없어서 더더욱 그런 것이 아닌가라는 생각이 들었습니다. 회사에 새로 입사한
친구들 중에서도 테스트가 무슨 의미를 가지고 있는지, 그리고 어떻게 해야 이 일을 잘 수행할 수 있는지에
대해 고민하는 친구들이 많습니다. 그럴 때마다 전 테스터들 스스로가 테스트가 무엇인지에 대해 정의를
내리고 그 정의에 확신을 가질 수 있어야 한다 라고 조언해 주고 있습니다.  

 

그러면서 스스로에게 물어봤습니다.

내가 생각하고 있는 테스팅이란 과연 무엇인가?

 

스스로 던진 이 질문에 제일 먼저 떠오른 건 좀 뜬금없지만 김춘수 님의 시 의 한 구절 이었습니다.

 

 

내가 그의 이름을 불러주기 전에는 그는 다만 하나의 몸짓에 지나지 않았다.

내가 그의 이름을 불러 주었을 때 그는 나에게로 와서 꽃이 되었다.

 

고등학교 때 배운 바로는(기억이 가물가물 하지만), 이 구절이 ‘누군가의 이름을 불러줌으로써 그에게
진정한 자아와 정체성을 제공하는 것이다’… 뭐 이런 식으로 해석이 되었던 것 같습니다.

 

제가 생각하는 테스팅이란, 곧 이 시에서 그의 이름을 불러주는 것과 같은 의미의 행동입니다.

 

테스트 대상의 본질을 파악하고, 그 본질이 정상적으로 구현되어 있는지를 확인하고, 그런 행동을 통해
테스트 대상에 대한 정체성을 부여하는 것이 바로 테스팅이라고 생각합니다.

  

즉, 테스팅이란 테스트 대상에 존재의 이유와 가치를 부여해 주는 행위인 것입니다. 


흔히들 ‘테스트 업무는 누구나 할 수 있다’라고들 이야기 합니다.[2]

 

단순히 테스트 대상이 수행해야 할 일을 정상적으로 수행하고 있는지 알기 위한 ‘검사(Checking)’를
의미하는 경우라면 그런 이야기가 맞을지도 모르겠습니다.
하지만 우리가 ‘수행해야 할 일’이라고 생각하는 것들이 정말 그 대상이 수행해야 하는 일이 맞는지,
어떻게 하면 테스트 대상이 그것을 더 잘 수행할 수 있는지, 그리고 그런 일들을 잘 수행하기
위해서는 현 상태에서 무엇이 수정되어야 하고, 어떤 방법을 통해 개선되어야 하는지를 고민하고
공유하는 ‘조사(investigate)’의 개념이라면, 그것은 아무나 수행할 수 있는 일이 아닐 것입니다.[3]

 

테스트를 설계하고, TC를 고안하고, 또 이를 바탕으로 효율적으로 테스트를 수행하는 이 모든 행위들이
테스트되는 대상에게 존재해야 하는 이유와 정체성을 부여하기 위한 행동이라고 생각합니다.
이를 위해 테스트의 대상이 되는 소프트웨어/하드웨어에 대해 테스터들은 끊임없이 공부하고 고민해야 하겠죠. 물론 이런 열정을 가지기 위해서는 테스트 대상에 대한 애정이 전제되어야 하는 것입니다.

 

아직도 스스로 왜 테스트를 해야 하는지 잘 모르겠다구요?

아직 테스트 대상이 무엇인지에 대해 충분히 고민해 보신 적이 없는 건 아닐까요?

 

아직도 어떻게 해야 테스트를 잘 수행하는 건지 모르시겠다구요?

당신이 지금 테스트하고 있는 대상에 대한 애정이 모자라신 건 아닐까요?

 

아직도 아무나 할 수 있는 것이 테스트라고 생각하시나요?

스스로를 비하하지 마세요. 테스트 대상에 대해 다른 사람보다 조금이라도 더 고민해 보신 분이라면,
이미 테스트 전문가의 자격을 가지고 계신 분입니다.

 

아직도 테스트만 해서는 먹고 살기 힘들 것이라고 생각하시나요?

여러분들이, 그리고 내가 점점 더 테스팅과 테스트하는 대상에 대해 전문가가 될수록, 그런 고민은
하지 않아도 될 것 같습니다.

 

내가 테스트하는 대상에 대해 조금 더 열심히 공부하고, 조금 더 열심히 고민하고, 조금 더 애정을 가지는 것.

 

그게 바로 훌륭한 테스터가 되는 지름길이 아닐까 생각합니다.

 

열심히 살아야겠습니다.

Happy Testing!!! ^^ 

 


[1] 이 글에서는 굳이 QA와 테스트란 단어를 구별해 사용하지 않았습니다.

[2] 주로 이런 이야기를 하는 분들은 테스트 업무를 경험해 보지 않은 분들이 많습니다. 일단 그 점에서 벌써 테스팅이 ‘누구나’ 하는 행위는 아닌 것 같습니다.

 

[3] Chapter 16. Peeling the Glass Onion at Socialtext, 『Beautiful Testing』,(O,Reilly, 2009)