나는 iOS 개발자를 목표하였다가 QA엔지니어로 전향하면서
QA에 대해 공부하기 시작헀다.
QA는 말 그대로 Quality Assurance의 약자다.
쉽게말해서 품질보증을 담당한다는 뜻이다.
품질을 보증한다?
QA라고 하면 그냥 단순하게 떠오르는건
Q&A가 생각날텐데 절때 아니다..
QA를 찾아보면서
가장 많이 가장 흔히 볼 수 있는 단어는
"그거 아무나 할 수 있는것 아니냐?"
"그냥 테스터 아닌가?"
라는 단어이다.
사실 아무나 할 수 있는 부분도 없지는 않다.
그리고 그냥 테스터냐고 물어도 딱히 할말이 없다.
그건 다 일부분이기 때문이다.
틀린말은 아니지만,
결코 쉽지만은 않다는 뜻이다.
QA라는 용어 자체는 개념적인 용어고,
테스트는 방법적인 용어다.
그래서 "다양한 테스트 방법을 통해
품질을 보증한다." 라고 말할 수 있다.
그렇기 때문에,
테스트 자체는 요구 사항을 도출 하기 시점부터
최종 결과물이 나올 때까지 소프트웨어 라이프 사이클 내의
지속적이고 다양한 방법으로 시도가 되어야 하는 거다.
"테스트만 많이 그리고 계속 하면 되는가?"
사실 테스트는 방법이지
개발 품질을 높이기 위한 활동중 일부일 뿐이다.
이러한 QA의 업무의 시작과 끝은
요구사항 분석
↓
테스트 계획 수립
↓
테스트 케이스 설계
↓
테스트 환경 설정
↓
테스트 진행
↓
결함 관리
↓
테스트 결과 도출 보고
↓
프로젝트 리뷰 및 출시 여부 판단
이렇게 보니 굉장히 많은 부분을
QA가 차지 하고 있다는걸 알 수 있다.
그러나,
나는 이 QA를 목표로 하기 시작하면서
QA라고 한다면, 정말 단순하게
어떠한 프로젝트를 테스트하고
테스트 보고서 작성 후 제출 하면 되는거 아닌가?
라는 생각을 가지고서 공부를 하게 되었는데,
이는 정말 안일한 생각임을 깨달았다.
많은 사람들이 QA를 처음 접할 때,
단순히 소프트웨어를 테스트하고
결과를 보고하는 것으로
생각하는 경우가 많은데,
QA의 역할이 그 이상인 점을 알아야한다.
QA는 소프트웨어 품질을 보장하기 위한
체계적이고 포괄적인 접근 방식을 요구한다.
기본적인 테스트와 보고뿐만 아니라,
여러 측면이 포함된다는것이다.
쉽게말해서
테스트후에 결과 보고는 당연한거고
테스트 수행 결과로 각 테스트 케이스의 성공 및 실패 여부와
발견된 결함으로 버그나 문제의 세부 사항(재현 방법, 발생 환경 등)
테스트 커버리지의 어떤 기능이나 요구 사항이
테스트되었는지에 대한 정보
그리고
추가적인 통찰에서 테스트 중 발견된 문제나
개선할 점에 대한 의견을 제시하는 등
정확한 품질 보증 활동을 하는 걸 말하는것이다.
물론 QA도 엄청 여러가지로 나뉘는데,
혹시나 QA를 준비한다면,
각자 자신에게 맞는 QA로 성장하길 바란다.
'QualityAssurance' 카테고리의 다른 글
[QA-TIL] QA의 중요성과 하는일 (0) | 2024.12.08 |
---|---|
[QA-TIL] 엔지니어와 개발자 (2) | 2024.12.08 |