단순 Tester 부터 시작해서 QC팀 인턴 업무까지 수행하면서 솔직히 테스팅 이론을 적용시켜서 업무를 한 적이 없는 듯 싶다.
QC팀 인턴을 하고 있는 현재도, 사수님들이 작성한 테스트 케이스 형식을 보면서 어깨 너머로 테스트 케이스 작성을 해보았고, 온갖 구글링을 통해서 파이썬으로 자동화 테스트까지 조금 경험해 보았다.
항상 검증할 때에, 전체적으로 어떻게 테스트 할 지 구조화 시킨 후에 하면 좋을텐데 이론들이 머릿속에 정리가 되있지 않아서 이것 저것 눌러보며 테스트하기 일쑤였다.
인턴 기간이 마무리 되기 전에 꼭! 주요 테스팅 이론들을 정리해 보려고 한다.
초기부터 시작하는 테스팅을 시프트 레프트(shift left)라고도 부른다.
같은 테스트를 계속해서 반복 실행한다면, 결국 해당 테스트로는 결함을 더 이상 발견할 수 없게 된다.
새로운 결함을 발견하기 위해서는 기존의 테스트와 데이터를 바꾸고 새로운 테스트를 작성해야 한다.
테스팅은 정황에 따라 다르게 진행된다. 가령, 애자일 프로젝트에서의 테스팅은 순차적 소프트웨어 개발 수명주기 프로젝터에서의 테스팅과는 다르게 진행된다.
조직에 따라서.. 테스터가 모든 가능한 테스트를 실행하고 존재하는 모든 결함을 발견하기를 기대하는 경우도 있지만, 이는 불가능하다. 뿐만 아니라, 단순히 많은 결함을 발견하고 고쳤다고 해서 시스템의 성공이 보장된다고 생각하는 것은 궤변(잘못된 믿음)이다.
가장 지금의 나에게(?) 위안이 되는 항목은 1,2,7번이다.
Naver에서는 SDK를 테스트 했기 때문에 실제 사용자들의 목소리를 들을 기회가 없었지만, 곰앤컴퍼니에서는 달랐다.
CS팀과 함께 업무를 했고, 실제 크리티컬한 이슈가 발견되어서 긴급 배포를 한 적도 몇 번 있었다.
팀에 인원이 워낙 부족했어서, 들어간 지 한달도 채 안되서 혼자서 업데이트 검증을 진행한 적이 있었는데, 혹여나 제대로 검증하지 못해서 VOC가 많이 들어오면 어쩌나 걱정했던 시기가 있었다.
위 항목들을 가슴에 새겨두어야겠다.
내가 개발자보다 QA 직무가 더 맞을지도 모르겠다고 생각이 들었는데, 6번 문항을 보니 더욱 그런 생각이 든다.
특히 곰앤컴퍼니에서 근무할 때에 사수님께 가장 많이 한 질문이 '이 동작은 이슈는 아닌데요.. 왜 이렇게 동작을 하는지 이해가 안가요' 였다.
정말 여러가지 동작이 있었다. 가장 기억에 남는건 인코딩 진행 중에 일시정지 버튼을 누른 후 인코딩 닫기 버튼을 누르면 '닫겠습니까' 팝업이 나오는 동시에 인코딩이 재실행 되는 시나리오 였다.
실제 인코딩 중 일시정지를 누를 사용자가 거의 없을 것으로 예상되나, 논리적으로 이해가 가지 않았던 동작이다.
지금에서 생각해보면 항상 내가 발견하는 이슈들은 남들이 해보지 않을 것 같은 시나리오의 이슈들이었다.
많은 이슈들을 찾아왔고, 더욱이 앞으로 내가 QA 직무로 일을 하게 된다면 많이 찾을테지만! 그 이슈들을 사용자 중심에서 더욱 개선해나가고 올바른 길로 해결해 나가고 싶다.