나는 어떤 QA 인가
어떤 사람은 수동 테스트 스크립트를 실행하고 완료되면 확인하는 것을 좋아한다. 테스트의 통과 결과를 보고 만족감을 느끼는 것이다. QA가 테스터 취급을 받으며 가장 쉽게 빠지는 유형이기도 하다. 이러한 사람들은 간혹 소프트웨어가 어떻게 작동하는지 제대로 이해하지 못하는 경우를 특히 신경 쓰지 않는다. 단순히 테스트의 시간 내 완료 상태 그리고 결과에 만족한다. 테스트를 하는 소프트웨어를 이해하지 못하고 테스트 스크립트만 실행한다면, 중요한 버그가 누락되는 경우가 생기곤 하며, 이를 찾아내면 테스트 스크립트를 추후에 업데이트한다. 조금 이상한 현상을 보더라도, 스크립트에 명시되어있지 않다면 그냥 넘어가게 되는 이상현상 정도로 인지 할 뿐이며, 분석은 다음으로 넘긴다. 이것은 QA가 아닌 어느 누구도 할 수 있는 테스트 수행자일 뿐이다.
어떤 사람은 테스트 자동화를 좋아한다. QA에서 처음 자동화를 접하게 되고 초기에 빠지기 쉬운 유형이다. 너무 좋아하다 못해, 수동적 테스트를 시간 낭비라고 생각한다. 어렵지만 테스트 자동화를 작성하고 유지하는 일에 시간을 소비하는 것이 바람직하다고 생각합니다. 새로운 기능이 추가되어도, 단순히 바로 코딩으로 빠져, 그에 따른 테스트 자동화를 작성하는데 급급하지, 탐색적 테스팅 등의 충분한 확인을 거치지 않을 수 있지만, 이 사람은 단순히 자동화된 테스트는 훌륭하기 때문에 웬만한 문제들은 찾아낼 것이라고 생각한다. 이 사람 또한, 테스트를 하는 소프트웨어 자체를 이해하는 것에서 벗어나, 테스트를 자동화하는 데에만 중점을 두어, Quality에 있어 중요한 부분을 놓치는 것이다.
어떤 사람은 품질에 굉장히 열정적이다. 일이 순서대로 착착 이행되는 것을 좋아한다. 프로세스와 표준에 대한 것들을 더욱 좋아해서, 본인을 포함한 모든 사람들이 테스트 계획과 매트릭스 등을 무조건 적으로 따라갈 것으로 기대한다. 예를 들어, 회귀 테스트를 전부 수행한 후에, 탐색적 테스트를 수행해야만 배포가 가능하다는 계획을 세웠다. 문제는 애자일을 도입하고, 2주마다 릴리스가 진행되는 환경에서 이 프로세스를 따르기엔 간혹 탐색적 테스트를 수행할 시간이 없다는 것이다. 빠르게 생각을 전환하고, 위험요소들을 찾아 우선순위를 변경하는 듯 여러 새로운 방법들을 추가, 변경 또는 누락시켜야 하는데, 틀에 박힌 사람들은 이를 멈추고 생각할 시간이 없다. 단지 이미 짜인 모든 프로세스가 최대한 빨리 시간 내에 끝나도록, 밤을 새우던지 하는 것이다. 팀의 목적인 배포보다 본인이 따르려는 프로세스의 중요도가 더 높아지는 순간이다.
어떤 사람은 보물 찾기를 좋아한다. 굉장히 찾기 어려운 문제들을 찾아내는 것에 희열을 느끼고, 열심히 찾아내려 하며, 어떠한 버그도 눈에 띄지 않기를 원하지 않는다. 디테일을 보는 좋은 눈을 가졌지만, 간혹 시간낭비를 하는 때가 있다. 예를 들어 IE10에서 실행될 때 이상한 것을 발견하면 무엇이 잘못되었는지 조사하고 로그를 보고, 다른 구성 시나리오를 시도해보기도 한다. 이를 조사하는 데 며칠이 걸릴 수도 있다. 하지만 회귀 테스트 수행 시, 본인이 찾은 버그가 정보가 충분치 않거나, 고쳐지지 않은 것을 보고 싶지 않아 하는 수가 있다. 유저 중 단 2%만이 IE10을 사용하고 있다는 것을 인지해도 신경 쓰지 않고 진행한다. 보물은 찾아야 하니까. 팀의 목적과 우선순위를 무시하는 불도저 같은 스타일이다.
어떤 사람은 한 회사에서 수년간 현재 위치에서 일을 했을 것이다. 현재 소프트웨어에 대해 누구보다 잘 알며, 오래된 기능들이 어떻게 작동하는지에 대한 거의 모든 질문에도 답을 할 수 있을 것이다. 대부분 회사에서는 이런 사람들을 가치가 있는 사람이라고 생각한다. 이 사람은 그걸 알고, 본인의 위치가 매우 안정적이라는 것을 인지, 그 안정감을 즐긴다. 새로운 기술은 딱히 배울 필요성을 느끼지 못하며, 본인은 오랜 시간 회사를 위해 충분히 했다고 생각한다. 지금도 잘 돌아가고 있으니, 바꿀 것도, 개선하는 것도 필요성이 크지 않다고 생각한다. 피곤한 일이며, 굳이 내가 하지 않아도 되는 일, 내가 하면 시간낭비라고 생각하기 때문이다.
어떤 사람은 최신 기술에 매우 빠져있다. 매일 최신 QA, 테스팅 기술들을 찾아보고 트렌드를 살펴본다. 수많은 세미나, Webinar, 컨퍼런스에 참가하고, 블로그를 읽으며 온라인 코스들을 듣는다. 수많은 것들을 깊지는 않지만 기본적인 것들을 알고 있다. 하지만 문제는 이런 사람들은 이러한 최신 기술들을 실제로 적용하고 경험하여 개선해나가는 일이 매우 적다는 것이다. 카더라 통신으로, 여러 가지를 이렇다더라, 저렇다더라 하며 추천하고 하자고 하지만, 컨퍼런스나 세미나에 참석하여 정보를 습득하느라, 정작 본인의 실무 경험이 매우 적은 것이다. 본인이 전부 사용해서 경험해보는 것보다는, 다른 사람이 이미 경험해본 것을 읽는 것이 훨씬 쉽기 때문이다.
각 유형들은 분명 장점들을 가지고 있다. 하지만 과하다는 것이 문제다. 좋은 점만 쏙쏙 골라낸다면 정말 멋진 QA가 될 수 있을 것이다. 또는 본인이 추구하는, 회사에서 추구하는 유형도 있을 것이다. 나는 어떤 유형의 QA인지 살펴보고 무엇을 개선하고 어떤 QA가 되고 싶은지 찾아보자.