개념
이 모듈의 마지막 질문 — 그래서 이걸 누가 하는가
이 모듈에서 우리는 품질과 결함이 무엇인지(레슨 1), 검증과 확인이 어떻게 다른지(레슨 2), 테스트에 어떤 레벨과 유형이 있는지(레슨 3·4), 그리고 완전한 테스트가 왜 불가능한지(레슨 5)를 봤다. 전부 무엇을 하는가에 대한 이야기였다.
마지막으로 남은 질문은 누가, 어떤 자리에서, 어떤 권한으로 그것을 하는가다. 같은 "테스트 케이스 실행"이라도, 개발팀 안에 앉아 있는 사람이 하는 것과 별도 QA팀에서 넘겨받아 하는 것은 완전히 다른 일이 된다. 전자는 만들어지는 중에 끼어들 수 있고, 후자는 다 만들어진 뒤에야 검사한다. 레슨 1에서 배운 "결함은 늦게 발견할수록 비싸다"는 원리가, 조직도를 어떻게 그렸느냐에 따라 결과가 달라지는 것이다.
그래서 이 레슨은 "용어 정리 레슨"처럼 보이지만 실은 커리어 레슨이다. 직함의 뜻을 아는 게 목적이 아니라, 자기가 앉게 될 자리가 어떤 자리인지 알아보는 눈을 만드는 게 목적이다.
이 레슨을 마치면 채용공고 한 장을 보고 "이 자리는 QA인가 QC인가, 개입 시점은 언제인가, 나는 여기서 무엇을 배울 수 있는가"를 스스로 판정할 수 있게 된다.
QA와 QC는 이론적으로 다르다
- QA (Quality Assurance, 품질 보증): 프로세스에 초점. "품질 좋은 결과물이 나오도록 하는 절차를 우리가 따르고 있는가"를 관리한다. 예방적(preventive)이다 — 결함이 생기기 전에 막으려 한다. 요구사항 리뷰 프로세스 개선, 코드 리뷰 기준 수립, 테스트 전략 수립 같은 활동이 여기 속한다.
- QC (Quality Control, 품질 관리): 결과물에 초점. "이 특정 산출물이 품질 기준을 만족하는가"를 검사한다. 발견적(detective)이다 — 이미 만들어진 것에서 결함을 찾는다. 테스트 케이스 실행, 결함 리포팅이 여기 속한다.
- 테스터(Tester): 실제로 테스트 활동을 수행하는 사람. QC 활동의 실행 주체에 가깝지만, 테스트 설계·전략까지 관여하면 QA 활동도 함께 한다.
두 개념은 원래 소프트웨어가 아니라 제조업에서 나왔다. 공장에서 QC는 컨베이어 끝에 서서 완성된 제품을 집어 들고 불량을 골라내는 일이고, QA는 "애초에 왜 불량이 나오는가"를 따져 설비 점검 주기를 바꾸고 작업 표준서를 고치는 일이다. 두 사람 모두 품질을 위해 일하지만, 한 명은 물건을 보고 한 명은 공정을 본다. 소프트웨어에서도 뼈대는 같다.
| QA (품질 보증) | QC (품질 관리) | |
|---|---|---|
| 대상 | 프로세스 | 산출물 |
| 성격 | 예방적 | 발견적 |
| 질문 | 우리가 일하는 방식이 품질을 만들어내는가 | 이 빌드가 기준을 만족하는가 |
| 대표 활동 | 테스트 전략 수립, 프로세스 개선, 품질 지표 정의 | 테스트 실행, 결함 리포팅, 회귀 스위트 수행 |
| 시점 | 만들기 전·만드는 중 | 만든 뒤 |
| 성과 측정 | 결함 유입률 감소, 재작업 감소 | 발견 결함 수, 커버리지, 통과율 |
| 잘못됐을 때 | 같은 유형 버그가 계속 반복된다 | 있는 버그를 놓친다 |
마지막 줄이 중요하다. QA가 없으면 같은 버그가 매 릴리즈 반복되고, QC가 없으면 이번 릴리즈의 버그를 놓친다. 두 실패는 종류가 다르므로 둘 다 필요하다.
실무에서는 이 구분이 흐려진다 — 왜인가
이론은 이렇지만 실무에서는 구분이 거의 흐려진다. "QA 엔지니어"라는 직함을 가진 사람이 테스트 케이스도 실행하고(QC), 테스트 전략도 짜고(QA), 프로세스 개선도 제안한다.
흐려지는 이유는 두 가지다. 첫째, 소프트웨어는 제조업과 달리 같은 사람이 검사도 하고 공정도 고칠 수 있다. 컨베이어를 멈추지 않아도 테스트 케이스를 고칠 수 있으니 굳이 사람을 나눌 이유가 적다. 둘째, 애자일(한 번에 전부 만들지 않고 2주쯤씩 끊어 만들고 바로 보여 주며 고쳐 나가는 방식) 이후 팀이 작아지면서 역할을 잘게 쪼갤 인원 자체가 없다. 5명짜리 팀에 QA가 한 명이면 그 한 명이 전부 한다.
그래서 결론은 이것이다. 채용공고의 직함(QA Engineer, Test Engineer, QC Analyst, SDET)만으로 업무 범위를 단정하지 말고, 직무 설명(JD)의 실제 책임 항목을 봐야 한다. 직함은 회사가 정하고, 업무는 JD가 정한다.
같은 직함, 다른 일 — 공고 문구 해부
특히 헷갈리는 세 직함을 실제 공고 문구로 갈라보자.
SDET vs QA Automation Engineer. 둘 다 자동화를 다루지만 무게중심이 다르다.
| QA Automation Engineer | SDET (Software Development Engineer in Test) | |
|---|---|---|
| 주된 산출물 | 테스트 스크립트 | 테스트를 가능하게 하는 도구·프레임워크 |
| 전형적 문구 | Selenium/Playwright로 회귀 테스트를 자동화합니다 | 테스트 프레임워크를 설계하고 사내 테스트 인프라를 구축합니다 |
| 코드 수준 | 기존 프레임워크 위에서 케이스 작성 | 프레임워크 자체를 만들고 제품 코드도 손댐 |
| 채용 절차 | QA 면접 + 자동화 경험 | 개발자와 동일한 코딩 인터뷰인 경우가 많음 |
| 소속 | 대개 QA 조직 | 개발 조직에 속하는 경우도 흔함 |
즉 SDET 공고에 "자료구조·알고리즘 코딩테스트"가 붙어 있다면 오타가 아니다. 그 회사는 SDET을 테스트를 담당하는 개발자로 정의한 것이다.
"QA Lead"는 회사마다 완전히 다른 일이다. 같은 직함으로 최소 세 가지가 돌아다닌다.
| 유형 | 공고에 나타나는 신호 | 실제 하는 일 |
|---|---|---|
| 사람을 관리하는 리드 | 팀원 3~5명의 성장과 평가를 담당 | 채용·평가·1on1. 직접 테스트는 거의 안 함 |
| 기술을 이끄는 리드 | 테스트 전략과 자동화 아키텍처를 주도 | 설계·리뷰 중심, 인사권은 없음 |
| 이름만 리드인 1인 QA | QA 조직을 처음부터 세팅할 분 / 유일한 QA | 실행·전략·자동화 전부 혼자. 관리할 팀원 없음 |
세 번째가 주니어에게 가장 위험하다. "리드"라는 직함에 끌려 들어갔는데 가르쳐 줄 선배도, 물려받을 프로세스도 없는 경우다. 나쁜 자리라는 뜻은 아니다 — 다만 혼자 판단해야 하는 자리라는 걸 알고 들어가야 한다. 면접에서 "지금 QA 조직에 몇 분이 계시고, 제가 합류하면 누구에게 보고하나요?"를 물으면 세 유형이 바로 갈린다.
조직에 따라 QA가 배치되는 방식이 다르다
- 임베디드형: QA가 개발팀 안에 소속되어 스프린트마다 함께 일한다. 애자일 조직에서 흔하다. 빠른 피드백이 장점, 다른 팀과의 기준 통일이 어려울 수 있다.
- 독립 QA팀형: QA가 별도 팀으로 존재하며 여러 개발팀을 지원한다. 표준화된 프로세스와 전문성 확보가 장점, 개발과의 커뮤니케이션 오버헤드가 단점이 될 수 있다.
- QA 길드/커뮤니티형: 각 팀에 QA가 흩어져 있지만, 정기적으로 모여 기준과 도구를 맞춘다. 두 방식의 장점을 절충하려는 시도다.
세 방식은 당신이 언제 개입할 수 있는지를 결정한다.
| 임베디드형 | 독립 QA팀형 | 길드형 | |
|---|---|---|---|
| 요구사항 리뷰 참여 | 처음부터 참여 | 대개 못 함 | 팀에 따라 다름 |
| 결함을 발견하는 시점 | 개발 중 | 개발 완료 후 | 개발 중 |
| 릴리즈 중단 권한 | 팀 합의로 결정 | 게이트 권한이 명시된 경우 많음 | 팀 합의 |
| 기준의 일관성 | 팀마다 제각각 | 전사 통일 | 길드 회의로 맞춤 |
| 주니어 성장 | 개발 지식이 빨리 늘어남 | 테스트 전문성이 빨리 늘어남 | 절충 |
| 흔한 실패 모드 | 개발 일정에 눌려 테스트가 생략됨 | 던져주고 받는 사이가 됨 | 회의만 하고 기준이 안 바뀜 |
레슨 1의 "결함은 늦게 발견할수록 비싸다"를 여기 겹쳐 보면, 임베디드형이 비용 면에서 유리하다는 게 보인다. 그런데도 독립 QA팀형이 사라지지 않는 이유는 규제 산업 때문이다. 의료기기·자동차·금융처럼 "검사한 사람이 만든 사람과 독립적이어야 한다"는 요구가 법·표준으로 걸려 있으면, 효율보다 독립성이 우선한다.
면접에서 "이 회사는 QA를 어떻게 조직하나요?"를 물어보면 실제 업무 범위를 가늠하는 데 도움이 된다. 한 걸음 더 나아간 질문은 "QA가 요구사항 리뷰에 들어가나요?" 다. 들어간다면 예방(QA)까지 하는 자리고, 안 들어간다면 사실상 QC 자리다.
QA의 태도 — 실제 말로 옮기면 이렇게 된다
기술보다 태도가 QA를 정의한다는 말이 있다. 그런데 "회의주의를 가져라" 같은 말은 실천으로 옮기기 어렵다. 각각이 실제로 어떤 문장으로 나오는지를 보자.
1. 호기심 있는 회의주의
"이게 정말 명세대로일까?"를 기본값으로 의심하되, 트집 잡기가 아니라 더 나은 제품을 만들기 위한 태도로 접근한다. 실제로는 질문의 형태로 나온다.
| 상황 | 회의주의가 발현된 질문 |
|---|---|
| "로그인 되면 메인으로 보냅니다" | 로그인 직전에 보던 페이지가 있으면 거기로 돌아가나요, 아니면 항상 메인인가요 |
| "비밀번호는 8자 이상입니다" | 8자 정확히는 통과인가요? 공백만 8자면요? 붙여넣기는 되나요 |
| "결제 실패하면 에러를 띄웁니다" | 결제사에서는 성공했는데 우리 서버가 응답을 못 받은 경우도 같은 에러인가요 |
| "이건 간단한 수정이라 테스트 안 해도 돼요" | 이 함수를 쓰는 다른 화면이 몇 개인지 같이 확인해볼 수 있을까요 |
| "그 케이스는 사용자가 안 그래요" | 그렇게 판단한 근거 데이터가 있으면 저도 우선순위에 반영하겠습니다 |
공통 형태가 보인다. "틀렸다"가 아니라 "이 경우는 어떻게 되나요"다. 회의주의는 반박이 아니라 아직 정해지지 않은 것을 찾아내는 질문이다. 레슨 5에서 배운 "완전한 테스트는 불가능하다"를 떠올리면 이 태도의 의미가 분명해진다 — 전부 확인할 수 없으니, 아무도 생각 안 한 곳을 골라 묻는 능력이 곧 실력이다.
2. 사용자 대변
개발팀 내부에서 유일하게 "실제로 이걸 쓰는 사람 입장"을 계속 상기시키는 역할을 자처한다. 이건 취향 주장과 구분해야 한다.
- 취향 주장: "이 버튼 위치 마음에 안 들어요."
- 사용자 대변: "이 버튼이 스크롤 아래에 있어서, 모바일에서는 결제 단계에서 한 번 더 스크롤해야 보입니다. 고객센터 문의 중 '결제 버튼이 없다'는 문의가 지난달 12건 있었습니다."
차이는 근거가 사용자에게 있는가다. 데이터가 없으면 "제가 처음 보는 사람이라 가정하고 따라가 봤는데 여기서 멈췄습니다"처럼 관찰 사실로 말한다.
3. 비난 없는 커뮤니케이션
결함을 "누가 잘못했나"가 아니라 "무엇이 어떻게 다른가"로 전달한다. 같은 버그를 두 가지로 써 보면 차이가 분명하다.
| 나쁜 예 | 좋은 예 |
|---|---|
| 또 로그인이 깨졌네요. 이번 스프린트에만 세 번째입니다 | 로그인에서 같은 증상이 이번 스프린트 세 번째로 재현됩니다. 공통 원인이 있는지 같이 볼 수 있을까요 |
| 이거 테스트 안 하고 올리신 것 같은데요 | 이 케이스가 기존 테스트에 없어서 지나간 것 같습니다. 회귀 스위트에 추가해두겠습니다 |
| 명세를 안 읽으신 것 같습니다 | 명세 3.2절에는 3만원 '이상'인데 구현은 '초과'로 보입니다. 어느 쪽이 맞는지 확인 부탁드립니다 |
| 이대로는 절대 못 나갑니다 | 결제 실패 시 중복 청구 가능성이 있어 심각도 높음으로 봤습니다. 릴리즈 여부는 함께 판단하면 좋겠습니다 |
오른쪽 문장들의 공통점은 주어가 사람이 아니라 현상이라는 것이고, 끝이 요청이나 제안으로 열려 있다는 것이다. 이건 모듈 6(결함 관리와 보고)에서 리포트 양식 수준으로 구체적으로 다룬다.
QA가 '품질 경찰'로 오해받을 때
주니어 QA가 가장 자주 부딪히는 조직적 갈등이다. 증상은 이렇게 나타난다 — QA가 회의에 들어가면 분위기가 굳는다, 개발자가 "이거 QA한테 걸리겠는데"라고 말한다, 결함을 등록하면 먼저 방어부터 돌아온다.
원인은 대개 QA 개인의 인성이 아니라 구조다. QA가 마지막에만 등장해서 "안 된다"만 말하는 자리에 놓이면, 아무리 좋은 사람이 앉아도 경찰처럼 보인다. 그래서 해법도 개인의 말투 교정보다 등장 시점을 앞당기는 것에 있다.
| 관계가 나쁜 조직에서 보이는 행동 | 관계가 좋은 조직에서 보이는 행동 | |
|---|---|---|
| QA의 첫 등장 | 개발 완료 후 테스트 요청이 올 때 | 요구사항 리뷰·설계 논의 때부터 |
| 결함 전달 방식 | 티켓만 등록하고 끝 | 재현 영상·로그·의심 구간까지 붙여 등록 |
| 개발자의 반응 | "재현 안 되는데요"로 반송 | "환경 알려주시면 같이 봐요" |
| 릴리즈 직전 | QA가 막고 개발이 밀어붙임 | 리스크 목록을 같이 보고 함께 결정 |
| 놓친 버그가 났을 때 | 누가 놓쳤는지 찾는다 | 어느 단계에서 걸렀어야 했는지 찾는다 |
| QA의 성과 표현 | 발견한 버그 개수 | 유출 결함 감소, 재작업 감소 |
주니어가 오늘부터 할 수 있는 것 세 가지다.
- 좋은 소식도 전한다. 결함만 보고하면 QA의 발언은 전부 나쁜 소식이 된다. "이번 수정으로 지난번 이슈 세 건이 같이 해결된 걸 확인했습니다" 같은 확인도 보고한다.
- 막지 말고 판단 재료를 준다. "출시하면 안 됩니다"보다 "이대로 나가면 결제 중복 청구 가능성이 있고, 영향 범위는 카드 결제 사용자 전체입니다"가 훨씬 강하다. 결정은 조직이 하지만, 근거는 QA가 만든다.
- 개발자가 재현하기 쉽게 만든다. 반송의 대부분은 재현 실패에서 온다. 환경·계정·시각·로그를 붙이는 것만으로 관계가 눈에 띄게 좋아진다.
주니어의 역할 혼란 — "저는 QA로 뽑혔는데 왜 자동화까지 하나요"
입사하고 몇 주가 지나면 이런 순간이 온다. 전형적인 상황 세 가지와, 그걸 어떻게 이해하면 좋은지 보자.
상황 1 — "자동화 스크립트를 짜라고 합니다." 공고에는 "테스트 케이스 작성 및 실행"만 있었는데 Playwright 코드를 맡긴다. 당황스럽지만, 이건 대개 회사가 속인 게 아니라 QA 직무의 기본선이 지난 몇 년간 올라간 결과다. 회귀 테스트가 매 스프린트 쌓이는데 손으로만 하면 어느 시점부터 물리적으로 불가능해진다. 대응은 이렇게 한다 — 거부하거나 전부 떠안는 대신, "이번 분기에는 회귀 스위트 중 상위 20건만 자동화하고, 그동안 수동 회귀 범위는 이렇게 줄이겠습니다"처럼 범위를 문서로 만든다. 스테이지 4가 이 능력을 다룬다.
상황 2 — "개발자가 짠 단위 테스트(부품 하나만 따로 돌려 보는 시험)가 있으니 저는 뭘 하죠?" 레슨 3의 테스트 레벨을 떠올리면 답이 나온다. 단위 테스트는 부품 하나가 설계대로 도는지를 본다. 부품 여러 개를 이어 붙였을 때, 실제 데이터로, 실제 사용자 흐름으로 무너지는 지점은 단위 테스트가 못 본다. 역할이 겹치는 게 아니라 레벨이 다른 것이다.
상황 3 — "요구사항이 애매한데 이걸 정하는 게 제 일인가요?" 정하는 건 QA의 일이 아니지만, 애매하다는 사실을 드러내는 건 QA의 일이다. 레슨 2의 확인(validation) — 맞는 것을 만들고 있는가 — 이 여기서 작동한다. "이 문장은 두 가지로 읽힙니다. A로 읽으면 이렇게, B로 읽으면 이렇게 테스트가 달라집니다. 어느 쪽인가요?"까지가 QA의 몫이고, 결정은 기획·개발과 함께한다.
세 상황을 관통하는 원칙은 하나다. 직함이 아니라 팀이 지금 못 하고 있는 일이 당신의 일이다. 다만 무한정 떠안으라는 뜻은 아니다 — 늘어난 범위는 반드시 말로 하지 말고 문서로 합의해 둔다. 평가 시즌에 "그건 원래 네 일이 아니었지"가 되지 않게.
QA 커리어는 한 방향만 있지 않다
- 관리 트랙: 주니어 테스터 → QA 엔지니어 → 시니어/리드 QA → QA 매니저
- 기술 트랙: QA 엔지니어 → 자동화 엔지니어(SDET) → 테스트 아키텍트
- 인접 분야로 이동: DevOps/플랫폼 엔지니어링, 프로덕트 매니저, 그리고 최근엔 AI QA(스테이지 6에서 다룬다) 같은 새 전문 분야로도 이동한다
"관리자가 되는 것"만이 성장이 아니다 — 자동화·성능·보안·AI 검증처럼 깊이 파고드는 기술 전문성도 동등한 성장 경로다. 이 커리큘럼의 스테이지 4(자동화), 5(비기능), 6(AI)이 각각 이런 전문화 방향과 맞닿아 있다.
아직 방향을 못 정했다면 — 몰입으로 가늠하는 자가진단
주니어에게 "관리와 기술 중 뭐가 좋냐"고 물으면 대개 답할 수 없다. 둘 다 해본 적이 없기 때문이다. 그래서 하고 싶은 일이 아니라 이미 해본 일 중 시간 가는 줄 몰랐던 것으로 가늠한다. 아래 항목에 정직하게 답해보자.
| 질문 | A쪽에 가깝다 | B쪽에 가깝다 |
|---|---|---|
| 회귀 테스트 40건을 3주 연속 손으로 돌렸다. 먼저 드는 생각은 | 이걸 자동으로 돌리는 방법이 있을 텐데 | 이 40건이 정말 다 필요한가, 기준을 다시 짜야겠다 |
| 릴리즈 전날 밤 | 스크립트가 왜 실패했는지 파고들 때 몰입된다 | 무엇을 포기하고 무엇을 낼지 정리할 때 몰입된다 |
| 새 도구를 만났을 때 | 일단 설치해서 굴려본다 | 팀에 도입하면 누가 어떻게 쓸지부터 그린다 |
| 후배가 같은 질문을 세 번 했다 | 대신 해결해주는 게 빠르다 | 문서를 만들어 다음 사람까지 막는다 |
| 회의에서 더 편한 자리 | 문제를 파고드는 쪽 | 이견을 조율하는 쪽 |
| 잘했다고 느끼는 순간 | 아무도 못 잡던 버그를 잡았을 때 | 팀 전체의 결함 유출이 줄었을 때 |
A가 많으면 기술 트랙, B가 많으면 관리 트랙 쪽 성향이다. 다만 이건 진로 판정이 아니라 다음 3개월에 무엇을 시도해볼지에 대한 힌트다. 섞여 나왔다면 아주 정상이고, 실제로 시니어 QA 상당수는 두 쪽을 오간다. 그리고 순서에는 정답이 없지만, 기술 트랙을 먼저 밟은 뒤 관리로 가는 경로가 되돌아오기 쉽다 — 관리로 먼저 가면 기술 감각이 유지되기 어렵다.
실무에서 왜 필요한가
QA와 QC, 테스터의 차이를 알고 있으면 채용공고를 읽을 때 실제로 어떤 일을 하게 될지 가늠할 수 있다. "QC 엔지니어"로 채용됐는데 막상 테스트 전략 수립까지 요구받거나, 반대로 "QA 리드"로 뽑혔는데 실행 업무만 반복해야 한다면 기대와 실제가 어긋난다. 조직 구조를 이해하면 입사 후 "내가 릴리즈를 막을 권한이 있는지, 있다면 어느 선까지인지"도 미리 가늠할 수 있다.
사례 연구 — 입사 3개월 차 주니어의 한 주
지현은 이커머스 회사에 QA 엔지니어로 입사했다. 공고에는 "테스트 케이스 작성·실행, 결함 리포팅"이라고 적혀 있었다.
월요일. 스프린트 계획 회의에 불려간다. 기획자가 "쿠폰 중복 사용 허용"이라고 말한다. 지현은 아무 말도 못 하고 받아 적는다. — 여기서 놓친 것: "중복이 같은 쿠폰 두 장인가요, 다른 종류 두 장인가요?" 이 질문 하나면 나중에 이틀 걸릴 재작업이 사라졌다. 이건 QC가 아니라 QA 활동이고, 임베디드형 조직이라 가능한 개입이다.
수요일. 개발이 끝나고 테스트를 시작한다. 쿠폰 두 장을 겹쳐 쓰니 할인이 원금보다 커져 결제 금액이 음수가 된다. 지현은 티켓에 "쿠폰 중복 시 오류"라고 쓴다. — 여기서 놓친 것: 재현 계정, 쿠폰 코드, 스크린샷, 그리고 "명세 어느 항목과 다른가". 개발자는 다음 날 "재현 안 됩니다"로 반송한다.
목요일. 반송된 티켓을 두고 감정이 상한다. "제대로 안 보신 것 같은데요"라고 쓰려다 멈추고, 대신 자기 계정·쿠폰 코드·시각·네트워크 로그를 붙여 다시 올린다. 30분 만에 원인이 나온다. 특정 프로모션 쿠폰만 금액 검증을 건너뛰고 있었다.
금요일. 팀장이 "이런 게 또 있을 것 같은데 전수로 볼 방법 없냐"고 묻는다. 지현은 쿠폰 종류별 조합표를 만들어 어떤 조합이 검증을 안 거치는지 정리한다. — 이 순간 지현이 한 일은 QC가 아니라 QA다. 개별 버그를 잡은 게 아니라 버그가 새어 나오는 구멍의 모양을 그렸기 때문이다.
한 주 안에 지현은 QC(실행·리포팅), QA(전략·프로세스), 커뮤니케이션(반송 대응)을 전부 했다. 직함은 하나였지만 활동은 세 종류였다. 이 레슨의 용어들은 시험 문제가 아니라, 자기가 방금 한 일이 어느 쪽이었는지 알아보고 이력서에 쓸 수 있게 하는 도구다.
채용시장에서의 위치
한국 채용시장에서도 "QA 엔지니어", "테스트 엔지니어", "SDET(Software Development Engineer in Test)", "QA 매니저" 같은 직함이 회사마다 다른 범위로 쓰인다. 스타트업은 한 사람이 QA·QC·자동화를 전부 겸하는 경우가 많고, 대기업·제조업(특히 의료기기·자동차 같은 규제 산업)은 QA와 QC가 조직적으로 분리되어 있는 경우가 흔하다.
공고 문구를 신호로 읽는 법
공고에는 회사가 의도하지 않은 정보가 자주 새어 나온다.
| 공고 문구 | 읽어야 할 신호 |
|---|---|
| QA 조직을 처음부터 만들어 가실 분 | 선배도 프로세스도 없다. 자율성은 크고 학습 부담도 크다 |
| 개발자와 동일한 코딩 인터뷰가 있습니다 | QA가 아니라 사실상 SDET/개발 직군 |
| 릴리즈 품질 게이트를 담당합니다 | 독립 QA팀형일 가능성이 높다 |
| 스프린트에 함께 참여하여 | 임베디드형. 요구사항 단계 개입이 열려 있다 |
| 테스트 케이스 실행 및 결과 보고 | 업무가 QC에 몰려 있다. 전략 경험은 쌓기 어렵다 |
| 품질 지표를 정의하고 개선합니다 | QA 활동 비중이 크다. 데이터·프로세스 역량을 본다 |
| ISTQB 자격 보유자 우대 | 프로세스와 용어 표준화를 중시하는 조직 |
면접에서 실제로 이렇게 물어본다
역할 구분은 신입·주니어 면접의 단골 주제다. 예상 질문과 답의 방향이다.
| 질문 | 좋은 답변의 방향 |
|---|---|
| QA와 QC의 차이가 뭐라고 생각하세요 | 이론적 정의를 말한 뒤 "실무에서는 섞이고, 제가 한 일은 이쪽이 많았다" 로 자기 경험에 연결 |
| 개발자가 결함을 인정하지 않으면 어떻게 하시겠어요 | 이기는 법이 아니라 재현 근거를 갖추는 절차로 답한다. 그래도 이견이면 심각도 판단을 함께 올린다 |
| 릴리즈 전날 심각한 버그를 찾으면요 | "막는다"가 아니라 영향 범위·발생 조건·대안(핫픽스, 기능 끄기)을 정리해 결정권자에게 준다 |
| 테스트할 시간이 부족하면 무엇부터 하시겠어요 | 레슨 5의 한계 인식 + 리스크 기반 우선순위. "전부 못 한다"를 전제로 답하는 게 오히려 좋은 인상 |
| 자동화 경험이 없으신데 괜찮으세요 | 회피하지 말고 지금 학습 중인 범위와 목표를 구체적으로 — 무엇을 어디까지 해봤는지 |
| 우리 회사에 궁금한 점 있나요 | 조직 구조·요구사항 리뷰 참여 여부·릴리즈 결정 방식을 묻는다. 역할을 이해하고 있다는 신호가 된다 |
첫 질문에서 정의만 외워 말하고 끝내는 지원자가 매우 많다. 정의 → 실무에서 흐려짐 → 내 경험은 어느 쪽 3단으로 답하면 그 자리에서 구분된다.
이력서에 쓸 때
이력서에 "QA"라고 쓰기 전에, 실제로 자신이 한 일이 프로세스 개선(QA)에 가까운지 테스트 실행(QC)에 가까운지 구분해서 적으면 채용 담당자에게 더 명확하게 전달된다.
- 약한 표현: "테스트 케이스를 작성하고 실행했습니다."
- 강한 표현(QC): "결제 모듈 회귀 스위트 120건을 유지하며 릴리즈당 평균 8건의 결함을 릴리즈 전에 발견했습니다."
- 강한 표현(QA): "쿠폰 조합 검증 누락 패턴을 정리해 요구사항 리뷰 체크리스트에 반영했고, 이후 동일 유형 결함이 재발하지 않았습니다."
두 번째와 세 번째는 같은 사람이 같은 분기에 한 일일 수 있다. 구분해 적으면 "실행도 하고 개선도 하는 사람"으로 읽힌다.