개발, 테스트, QA 간의 차이점 등
이 은유가 비교적 새롭고 흥미롭다고 생각해서 다시 생각해봤습니다.
최근에 학과 내 몇몇 동료들이 이 질문을 하고 있는데, 이 세 역할의 위치에 대해 아직 명확하지 않은 사람들이 많다고 생각해서, 저는 이 세 역할에 대한 제 개인적인 이해를 말씀드리겠습니다.
이 세 역할에 대한 정의가 인터넷에 충분히 있으니 여기서 자세히 다루지 않겠습니다. 예를 들어 드리겠습니다.
제품을 시장에 내놓는 과정이 학생들의 시험에 합격하는 과정과 동등하다고 가정하면, 이 과정에서는 다음과 같습니다:
개발자는 시험지를 푸는 학생들입니다.
시험관은 시험지를 바꾸는 교사입니다.
QA 직원은 상담사입니다.
제품은 개발자가 만들고, 제품이 시장에 사용될 수 있는지, 시험을 통과하는지에 따라 결정적인 요소는 여전히 개발입니다.
개발자가 결과를 제출했고, 학생들은 시험지를 작성했는데, 합격했나요? 시험관들이 검사를 분석하고 판단하는 것이 필요합니다.
상담사는 특정 과목에 대한 전문성은 없지만, 먼저 개발자들에게 복습을 요청하고, 그 다음 모의문제를 풀고, 마지막으로 시험을 치르게 합니다. 그는 리뷰할 때 "드래곤 바부"나 "선형대수"를 보든 상관하지 않아요. 그가 리뷰를 감독하는 한 그걸로 충분해요. 왜냐하면 시험을 직접 검토하지 않으면 사실상 시험에서 떨어질 거라는 걸 알았기 때문이다. 복습하는 게 아예 복습하지 않는 것보다 낫습니다.
좋아요, 예시는 여기까지고, 다시 세 캐릭터로 돌아가겠습니다.
개발은 실행의 과정입니다. 테스트와 QA는 품질 보증 과정입니다.
테스트는 개발과 마찬가지로 순수하게 기술적인 활동으로, 저는 이를 결과 관리라고 부릅니다. QA는 특정 기술을 포함하지 않으며, 저는 이를 프로세스 제어라고 부릅니다.
덧붙여, 조직 구조, 비즈니스 프로세스, 심지어 IT 도구의 개혁을 통해 제품 품질과 핵심 경쟁력을 향상시키는 것은 대부분의 기업이 이해하고 있는 일입니다. IBM이 PC를 레노버에 매각한 후, 레노버는 이를 이용해 수익을 올렸고, 많은 수익을 올렸습니다.
저는 테스터이기 때문에, 위 예시에서 테스트의 개발 방향에 대해 이야기해 보겠습니다.
시험이 시험지를 바꾸는 것이라면, 어떤 능력이 가장 중요한가요?
물론, 시험지 수준에 따라 다릅니다.
테스트 요구사항 분석과 테스트 케이스 설계는 모든 테스터가 업무에서 지속적으로 향상시켜야 하는 능력입니다. |