티스토리 뷰


 

당신이 프로페셔널한 테스터가 아닌 10가지 이유 - Part 2

By JOEL MONTVELISKY


지난 주에 나는 테스터들이 전문적인 직업으로 인정받지 못하고 있는 현실과 내가 생각하고있는 그 이유들에 대해 포스팅했다.

 

이유는 간단하다. 우리 스스로가 우리가 하는 일에 대해 충분히 진지하게 받아들인 적이 없으며, 또한 우리 스스로가 전문가다운 행동을 못했기 때문에 우리 테스터들에게 많은 비난이 쏟아지고 있는 것이다.

 

지난번 포스트 이후 내가 존경하는 여러 테스터들로부터 격려의 코멘트를 받은 것은 기분좋은 일이었다. 하지만 그래도 이 글을 마저 완성하는 것이 내가 해야할 일이라고 생각한다. 만약 이 글을 읽는 당신이 내 의견에 동의하지 않는다면 피드백을 주기 바란다. 당신의 피드백을 통해 좀 더 많은 것을 배우고 이를 통해 우리의 일을 좀 더 개선시킬 수 있기를 바라마지 않는다.

 

, 지난번에 이야기했던 처음 다섯 가지 이유를 상기해보자.

이미 언급한 다섯 가지 이유에 대해 다시 자세히 설명하지는 않겠다. 하지만 간략하게 정리해 참고해 보는 것은 나쁘지 않을 것 같다.

 

나는 당신이 당신의 회사에서 프로페셔널한 테스터로 대접받지 못하는 이유에 최소한 이런 것들이 포함되었으리라 생각한다 
 

1  당신은 테스팅이 기술적인 전문직이 아니라고 생각하고 제품의 기반이 되는 코드를 이해하려고
    노력하지 않는다
.
2  개발자로부터 빌드를 받으면서 가서 테스트나 해라는 말을 듣기 전까지는 프로세스에 참여하지
    못한다
.
3  고객지원 팀에서 당신에게 필드에서 발생한 버그를 재현해 달라고 요청할 때만 고객들과 상호작용 한다.
4  리스크 관리는 보험이나 자산관리에서나 사용하는 단어로 알고있다.
5  당신은 당신이 수행하고 있는 테스팅이라는 업무의 가치를 개선할 생각이 전혀 없다.

 

, 그럼 이제 다음 다섯 가지 이유를 들어보자.

당신이 프로페셔널한 테스터가 아닌 이유!


6   당신은 미리 정의된 테스트 케이스 시나리오를 그대로 옮겨적고 실행하는 것이
   당신의 주된 일이라고 생각한다
.

이미 작성된 테스트를 수행하는 것말고도 당신이 할일은 정말 많다!

 

ü  테스트 대상인 애플리케이션의 설계에 대해 피드백 제공하기
ü  현재 참여하고 있는 개발 프로젝트나 계획하고 있는 프로젝트의 리스크 분석하기
ü  개발이 진행되는 동안 비공식적인 피드백 제공하기
ü  개발자들이 개발을 진행하는 동안 제품의 안정성을 유지할 수 있도록 도와주는 자동화 프레임워크 만들기
ü  테스트를 수행하되 사전에 작성된 것뿐만 아니라 다른 것들도 테스트하기
ü  당신이 수행한 테스트 결과와 당신에게 유용한 정보를 분석해 제픔 상태에 대한 인사이트 제공하기
ü  프로세스에 대한 피드백 제공하기

 

그리고 이런 것들 말고도 수없이 많다.

 

요약하자면, 당신이 수행하는 일은 단순히 테스트 스텝을 수행하고, 그 결과가 성공인지 실패인지를 검증하는 것 이상의 가치를 가지고 있다는 것이다.

7     자동화(그리고 스크립팅)는 최첨단 과학이다. 따라서 일 끝나고 남는 시간에 
    조금씩 하다보면 아마 먼 미래에나 가능할 것이다
.

테스트 자동화를 하지 않는 것에 더 이상 변명거리는 필요없다!

다른 시각에서 본다면, 자동화 테스트를 수행하지 못한다는 것은 결국 테스터들이 가진 또 다른 기술적인 약점에 지나지 않는다.

 

테스트 자동화가 테스터들이 직면하는 모든 문제를 해결해 주는 마법의 주문은 아니다. 하지만 수많은 툴 벤더들이 광고문구로 활용하는 데에는 이유가 있다. 아직까지는 스크립트나 툴을 사용해 당신이 힘들여 수행해야만 하는 일을 좀 더 효율적으로 수행하고, 이를 통해 시간을 절약할 수 있는 경우가 많다. 테스터들 스스로가 자동화를 수행할 정도로 충분한 기술적인 역량을 가지고 있지 않다고 느끼는 것이 문제다. 이러한 생각으로 인해 테스팅을 개선하는 방법으로 자동화나 스크립팅을 선택하지 않게 되는 것이다. 이는 곧 라이터를 써서 불을 붙이는 것이 훨씬 쉽다고 말은 하면서도 부싯돌이나 나무활대를 가지고 힘겹게 불을 붙이려고 하는 것과 다를바 없다.

 

8   당신은 자존심을 세워야 테스팅 업무가 잘 된다고 생각한다.

훌륭한 테스터는 겸손한 테스터다! 우리는 피드백을 효과적으로 제공하는 방법에 대해 잘 알고 있어야 한다. 하지만 그보다 더 중요한 것은 우리가 팀 동료들로부터 어떻게 피드백을 받아들이는가 하는 것이다. 많은 테스터들이 팀 동료들(특히 프로그래머)이 그들이 수행한 테스팅에 대해 원치않는 피드백을 주거나, 그들이 발견하지 못한 버그나 수행하지 않은 테스트에 대해 언급할 때 무척 곤혹스러워하면서 불만스러워한다. 하지만 우리가 실수한 것이나 놓친 것들에도 당연히 그 원인이 있기 마련이다. 우리 역시 겸허한 마음으로 이를 받아들이고 이러한 원인과 정보를 팀 동료들과 함께 공유해야 한다. 하지만 많은 테스터들이 이러한 지적을 제대로 일을 하지 못한다는 개인적인 비난으로 받아들이고, 목소리를 높이고 날선 어투로 반박한다.    

 

입장을 바꾸어 생각해보자. 당신 역시 프로젝트 팀에게 버그를 보고하거나 부정적인 피드백을 주어야 할때가 있을 것이다. 그렇다면 당신 역시 어떤 식으로 이런 피드백을 주어야 하는지를 잘 알고 있어야 하며, 그 역으로 동료들로부터 건설적인 비평을 수용하는 방법도 알아야 한다.

 

9     당신은 어떤 기술을 보유하고 있으며 어떤 부분을 개선해야 하는지에 대해
    관심이 없다
.

내가 겪었던 가장 훌륭한 관리자 중 한 명은 가상 공구상자(virtual tool box)”라는 개념에 대해 종종 이야기 했었다. 우리가 보유한 스킬로 가득 찬 공구상자가 있다고 가정하고, 그가 필요한 스킬이 있을 때마다 여기서 스킬을 꺼내쓴다는 개념이었다.

 

ü  당신은 당신의 공구상자에 어떤 스킬이 담겨져 있는지 알고 있는가?
ü  어떤 공구(스킬)가 개선되거나 업데이트되어야 하는지 알고 있는가?
ü  앞으로도 계속 필요한 공구는 어떤 것이며, 당신이 수행하는 작업의 품질을 향상시키기 위해 다음에
   습득해야 하는 스킬은 어느 것인가?

 

테스팅은 의심할 여지 없이 공예(craftsmanship)의 범주에 속하는 일이다. 가상으로든 실제로든, 적합한 툴이 없다면 원하는 제품을 만들어 낼 수 없다.     

 

10   당신이 생각하고 있는 캐리어 패스는 단지 관리자가 되거나 다른 직종으로 
     옮겨가는 것 뿐이다
.

몇몇 사람들은 테스팅이 프로그래밍으로 건너가기 위한 좋은 징검다리가 된다고 생각해서 테스팅에 입문한다. 또 다른 사람들은 테스팅이 무엇인지 잘 모르면서 단지 하루 종일 애플리케이션을 가지고 "놀 수" 있다고 생각해서 입문하기도 한다하지만, 입문해보니 생각보다 그러기 쉽지 않다. 그렇지 않은가?

 

이런 사람들 중에서도 결국 훌륭한 테스터가 배출되기도 한다(최소한 나도 그런 부류라고 생각한다). 그러나 대부분의 사람들은 테스팅에 대해 실망스러워하면서 그들이 테스팅을 그만둘 수 있는 날만을 고대하고, 결국 그들이 정말 원하는 일들을 찾아 떠나간다. 사람들은 테스팅과 관련된 여러 도전 과제들의 진정한 가치를 인지하지 못하고, 앞으로 나아갈 수 있는 단 하나의 길을 단순히 사람들을 관리하는 것이라고 생각한다. 

 

테스트 팀을 관리하는 것은 그 자체가 적절한 보상이 따르는 하나의 쉽지않은 도전과제임이 확실하다. 그러나 테스팅 자체를 온전히 제것으로 만드는 데에는 여러가지 방법이 존재하며, 이는 꼭 관리라는 측면과 연결되지 않을 수도 있다. 이런 방법 중에서는 더 많은 과제와 함께 더 큰 보상을 주는 방법도 있을 것이다(그리고 분명 관리자의 길을 가는 것보다는 덜 머리가 아플 것이다).

 

요점은 바로 이것이다. 만약 당신이 하루 종일 어디 내가 할 수 있는 다른 일은 없나라고 생각하며 여기저기 기웃거리면서 어떻게 테스트를 더 잘 수행할 수 있을지에 대해 집중하지 않는다면, 당신이 테스팅을 더욱 프로페셔널하게 할 수 있는 방법은 당연히 없다는 것이다. , 이제 한 번 돌아보라. 당신은 지금 올바른 위치에 서있는가? 아니면 다른 일을 찾아봐야 하는가?

 

프로페셔널한 테스터가 되고 싶은가? 그럼 테스팅이 전문적인 직업이라는 것부터 인식하는 것에서부터 시작하라!


여기서 말한 10가지 포인트들을 저 멀리서 바라본다고 가정해보자. 10가지 포인트들이야말로 바로 테스팅에 대한 우리의 시각이 바뀌어야 하는 지점일 것이다. 

 

그 첫 단계는 우리가 종사하고 있는 테스팅이라는 일을 전문적인 직업의 하나로 바라보는 것이다.

 

이 단계를 완료하고 나면, 그 다음 단계는 우리가 더 나은 테스터가 되기 위해 놓치고 있는 것이 무엇인지 찾아보는 것이다. 어떤 영역을 더 개발해야 하는가? 어떤 시각을 가지고 우리의 일에 접근할 것이며 고객과 팀 동료들과의 관계는 또 어떻게 볼 것인가? 그리고 지금 당장 우리가 하는 일의 가치를 높이기 위해 해야할 일은 무엇인가?

 

세번째이자 마지막 단계(최소한 이렇게 짧은 접근법 중에서는)어떻게 개선할 것인지 계획을 짜는 것이다.  그리고 이를 실현하기 위해, 그리고 스스로를 구루(guru)나 전문가라고 말할 수 있을 때까지 아주 많은 것들을 배워야만 할 것이다. 


신이 내린 율법이 있는 것도 아니고 이메일 서명의 끝에 붙는 타이틀이 무언지가 중요한 것이 아니다.

가장 중요한 것은 우리 스스로가 변해야만 한다는 것을 깨닫는 것이다.