brunch

좋은 QA 프로세스란 뭘까?

by 똑똑한개발자
좋은 QA 프로세스란_.png

QA는 버그 잡는 시간? 댓츠 노우노우.


1*RTru-MuVvWjAv1g7qI1vLg.png


프로젝트 성공의 핵심, QA 프로세스


안녕하세요. 사랑받는 IT 프로덕트의 시작, 똑똑한개발자입니다.


많은 분들이 프로젝트 성공의 비결에 대해 기획, 개발, 디자인을 먼저 떠올리겠지만, 저희는 품질 보증(Quality Assurance, QA)이 없다면 프로젝트는 성공하기 어렵다고 생각합니다.


좋은 QA 프로세스는 단순히 제품의 문제를 찾아내는 것을 넘어, 고객의 기대를 충족시키고 성공적인 프로젝트를 이끄는 핵심 역할을 하는데요. 오늘은 저희가 실무에서 경험하고 개선해온 QA 프로세스의 중요성과 성공적인 QA 프로세스의 특징, 그리고 실무 사례를 공유하려 합니다.


목차


QA 프로세스가 중요한 이유

똑개팀이 생각하는 좋은 QA 프로세스는?

똑똑한개발자의 QA 프로세스 예시

기존 프로세스의 문제점

지라(Jira) 도입으로 개선한 사례

현재 QA 프로세스 를 평가해봤다!

꾸준히 성장하는 똑개의 QA 프로세스 (자랑)

QA를 위한 추천 도구와 팁

끝으로, QA는 버그 잡는 과정이 아니다!




QA 프로세스가 중요한 이유


1*pYB753PZ_2vKkY4DtIYmVg.jpeg


1. 프로젝트의 안전망, QA


QA는 단순히 버그를 찾는 작업이 아니라, 제품이 고객의 요구를 충족하고 시장에서 신뢰를 얻도록 돕는 과정이라고 생각합니다.


QA는 단순히 ‘버그를 잡는 작업’이 아니라, 제품이 사용자의 요구를 충족하고 시장에서 신뢰를 얻을 수 있도록 보장하는 중요한 과정입니다.


2. 비용 절감과 생산성 향상


버그는 개발 과정 중에 발견되고 수정될수록 비용이 절감됩니다. 라이브 환경에서 버그를 발견하면 수정 비용이 몇 배로 증가하며, 심각한 경우 프로젝트 전체 일정에도 영향을 미치게 됩니다.


효율적인 QA 프로세스는 이러한 리스크를 줄이고, 개발자들이 불필요한 수정 작업 대신 더 큰 가치를 창출하는 업무에 집중할 수 있도록 합니다.


똑개팀이 생각하는 좋은 QA 프로세스는?


1*xqwBkuUfMjPWJwrPvApiug.png


도움을 주실 리더 PM 지은님 등장!


1. 명확한 요구사항 정의


QA는 요구사항을 기준으로 검증되기 때문에 명확한 요구사항 정의가 필수입니다. 프로젝트 초기 단계에서 모든 팀이 협력하여 요구사항을 상세히 정의하고 문서화해야 하며, BDD(Behavior-Driven Development) 같은 기법을 활용하면 효과적입니다.


2.효율적인 QA 계획 수립


QA는 체계적인 계획에서 시작됩니다. 테스트 범위, 일정, 도구, 역할 분담 등을 포함한 QA 계획서를 작성하면 각 팀원이 목표를 명확히 이해할 수 있습니다. 기획자와 개발자도 테스트 케이스 작성에 참여하면 누락을 줄일 수 있습니다.


3. 자동화와 수동 테스트의 균형


자동화 테스트는 반복 작업을 줄이고 속도를 높이며, UX 검증이나 복잡한 인터랙션은 수동 테스트가 효과적입니다. 예를 들어, API는 Postman 같은 도구로 자동화하고, UI는 수동 테스트로 사용자 시나리오를 점검합니다.


4. 지속적인 피드백과 협업


QA는 단발성이 아닌 지속적인 과정입니다. QA 진행 상황을 주기적으로 공유하고 팀 간 피드백 루프를 구축하면 문제를 조기에 발견하고 해결할 수 있습니다.


5. 리스크 기반 우선순위 설정


모든 테스트를 동일하게 진행하기보다 고객에게 중요한 기능부터 테스트하세요. 예를 들어, 금융 서비스에서는 결제나 보안 기능 테스트를 우선적으로 진행하는 것이 효율적입니다.


똑똑한개발자의 QA 프로세스 사례


사례 1: 스프린트 단위 QA


저희는 Agile 방식으로 진행되는 프로젝트에서 스프린트가 끝날 때마다 QA를 수행합니다. 발견된 문제는 다음 스프린트의 작업 항목에 추가하고, 작은 문제라도 빠르게 해결해 나가면서 전체 프로젝트의 품질을 높이고 있습니다. 이를 통해 문제를 미리 방지하고, 출시 일정도 효과적으로 관리할 수 있었습니다.


사례 2: 자동화 테스트를 통한 효율성 증대


한 내부 프로젝트에서는 Playwright와 같은 도구를 사용해 자동화 테스트를 도입했습니다. 특히 크로스 브라우저 테스트나 회귀 테스트와 같이 반복적인 작업에서 높은 효율성을 경험했어요. 자동화된 테스트로 절약된 시간은 더 복잡한 사용자 인터페이스 검증과 같은 수동 테스트에 투자할 수 있었습니다.


1*w-45XsFnnXV-2dr-JCSP6g.png


1-1) QA 티켓 관리


주요 특징:
QA 티켓이 명확한 제목으로 작성되어 있으며, 문제 설명이 상세히 기재된 것으로 보임.
각 티켓은 특정 문제나 개선 사항에 대해 독립적으로 관리.


장점:
QA 과정에서 놓칠 가능성이 있는 문제를 최소화.
작업 우선순위를 설정하기 용이.


1-2) QA도 분류하여 작업


QA 항목들이 다양한 카테고리(예: 기능 테스트, UI/UX 문제, 오류 수정 등)로 분류된 것으로 추정됨.


1-3) 스프린트 연계


QA가 스프린트별로 연계된 것으로 보입니다.


효과:
특정 기간에 QA를 집중적으로 수행함으로써 반복적인 프로세스와 지속적인 개선이 가능합니다.
새로운 스프린트에 QA 피드백 반영하여 더 나은 기능 개발을 유도합니다.


1-4) 내부 및 외부 협력


외부 QA 피드백도 내부 지라로 이관한 흔적이 보임(예: 클라이언트 QA 통합 관리).


장점:
클라이언트와 내부 QA 간 정보의 단절을 최소화.
일관된 QA 관리로 작업 중복 방지.


이렇게 똑부러지는 저희도 처음에는 산전수전 다 겪었는데요! 꾸준히 QA 프로세스를 개선할 수 있었던 방법을 솔직하게 공유해 볼게요!


1*xohaxaRKK_2XSGPE15Ac3Q.png


똑똑한개발자 기존 QA 문서


1. 기존 QA의 문제점


1) 정보의 과부하 및 가독성 부족


각 항목의 상세 설명이 많아 작업을 해야하는 개발자 분들께서 한눈에 이해하기 어려웠을 것 같아요.


중요한 정보와 부가적인 세부사항이 구분되지 않아 핵심 사항이 묻힐 가능성이 컸어요.


2) 우선순위 및 심각도 정의 부족


“심각도“와 “우선순위“를 명시하는 경우도 있었지만..일관된 기준이 있다고 보기 어려웠어요. 이로인해 개발팀의 작업 배분이 비효율적일 수 밖에 없었죠..


그렇다보니 “중요한 문제“가 명확히 드러나지 않아 긴급하게 처리해야할 결함이 자꾸 미뤄지게 되는 경우도 있었어요.


3) 담당자와 상태 추적의 명확성 부족


이게 프론트 문제인지 서버 문제인지 담당자가 명확히 구분되어 있지 않다보니 개발자분들이 리스트를 하나하나 보며 파악해야 했어요.


작업 상태 업데이트 또한 실시간으로 표기를 해주시지 않으면 서로 파악이 안되는 어려움이 있었습니다.


4) 시각적 자료 활용 부족


이미지나 영상 공유가 원활하지 않아 문제를 직관적으로 파악하기 어려웠어요.


5) 테스트 환경 명시 부족


QA 항목별로 테스트가 수행된 환경(예: 브라우저, 디바이스, OS)이 명확하지 않아 환경에 따라 발생되는 문제라면 빠르게 확인하기가 어려웠어요.


2. QA 시스템 개선을 위한 지라(Jira) 도입 → 티켓의 항목을 세분화하여 개선하기!


1*IR7s2RS0YBx2CfWfXksWhA.png


똑똑한개발자의 QA시스템 개선을 위한 자체 세션도 진행했어요!


요약 (Summary)


QA 항목의 핵심 문제를 간단히 요약합니다.
예: “로그인 페이지에서 버튼 클릭 시 응답 없음”


우선순위 (Priority)


P1 — 긴급 (서비스 중단)

P2 — 중요 (사용자 경험에 영향)

P3 — 보통 (개선 사항 또는 경미한 결함)


심각도 (Severity)


상 — 서비스 전체에 치명적

중 — 주요 기능에 영향

하 — 사소한 결함


상세 정보


발생 조건 (Preconditions):
문제가 발생하기 전의 상황과 조건을 명시합니다.
예: “사용자가 비밀번호 입력 없이 ‘로그인’ 버튼 클릭”


재현 단계 (Steps to Reproduce)


문제를 재현할 수 있는 단계별 설명을 작성합니다.
예: 홈페이지 접속-아이디만 입력-로그인 버튼 클릭


결함 내용 (Issue Description)


문제의 상세한 내용을 기술합니다.
예: “로그인 버튼을 클릭해도 아무런 응답이 없으며, 페이지 로딩도 발생하지 않음.”


기대 결과 (Expected Result)


정상 동작 시 예상되는 결과를 명시합니다.
예: “아이디와 비밀번호 입력 후 로그인 버튼 클릭 시 홈 화면으로 이동.”


테스트 환경 (Environment)


브라우저: (예: Chrome 115.0.1, Firefox 98.0 등)

디바이스: (예: Galaxy S22, iPhone 14 Pro 등)

OS: (예: Windows 11, macOS Monterey, Android 13, iOS 16 등)

네트워크 상태: (예: Wi-Fi, LTE 등)


첨부 자료 (Attachments)


이미지/동영상: 문제가 발생한 스크린샷 또는 동영상 링크를 첨부합니다.

로그 파일 (필요 시): 서버 로그나 콘솔 에러 내용을 첨부합니다.


상태 및 담당자


상태 (Status):

투두

진행 중

작업완료 (개발서버 배포)

검토완료

운영서버 배포


2. 담당자 (Assignee):


프론트엔드(FE): (예: 홍길동)

백엔드(BE): (예: 김철수)

QA 검증 담당: (예: PM 유관순 또는 DE 김구)


연관 티켓 (Linked Issues)


연관된 작업 또는 의존성이 있는 티켓을 연결합니다.
예: “로그인 API 문제 (#JIRA-1234)와 연관”


추가 메모 (Notes)
필요 시 추가적인 메모나 요청 사항을 기재합니다.
예: “UI 변경 사항이 있다면 디자인 팀과 협의 필요.”


샘플 QA 티켓 예시


d요약: 로그인 페이지에서 비밀번호 입력 없이 버튼 클릭 시 응답 없음
우선순위: P1
심각도: 상
발생 조건: 사용자 비밀번호를 입력하지 않은 상태
재현 단계: 로그인 페이지 접속 -> 아이디만 입력 -> 로그인 버튼 클릭
결함 내용: 클릭 시 아무런 반응이 없고, 에러 메시지도 출력되지 않음.
기대 결과: 비밀번호 미입력 시 “비밀번호를 입력해주세요“라는 경고 메시지가 표시되어야 함.
테스트 환경: 브라우저: Chrome 115.0.1 | 디바이스: Galaxy S22 | OS: Android 13

첨부 자료:
login_error_video.mp4

상태: 진행 중

담당자: FE: 홍길동, BE: 김철수
연관 티켓: 로그인 API (#JIRA-1234)


이곳에서 똑똑한개발자가 직접 만든 지라(Jira) QA 프로세스 메뉴얼을 확인하실 수 있어요!

[지라 워크플로우 설정하기 by Toktokhan.dev]


1*lLLXGrPSKNObi9ubduDyqA.png


2. 현재 QA 프로세스 평가


1. 체계적인 관리


QA 항목이 정리되고, 스프린트 중심으로 일관된 작업이 이루어지고 있음.

QA 티켓마다 구체적인 설명과 상태가 명확히 관리되어 결함 수정이 체계적임


2. 효율적 도구 활용


Jira 같은 강력한 도구를 통해 QA 항목을 중앙에서 관리.

시각적인 캘린더 뷰를 통해 일정 및 우선순위를 한눈에 확인 가능.


3. 팀 간 협력 강화


외부와 내부 QA 작업을 통합 관리하여 정보 단절 문제 해결.

반복적인 회귀 테스트 및 사용자 피드백 반영을 위한 자동화 테스트 도입 가능성.


4. 스프린트 기반 QA


Agile 방식에 맞춘 QA 진행으로 빠른 피드백 루프를 생성.

작은 문제라도 조기에 해결하여 최종 릴리스의 품질 보장.


3. 똑개는 꾸준히 개선하며 성장 중


QA 성과 지표 도입


QA의 “잘하고 있는 정도”를 정량화하기 위해 다음과 같은 지표를 도입 했습니다.


버그 탐지율: QA 과정에서 발견된 결함 수.

결함 수정 속도: 발견된 결함을 해결하는 데 소요되는 평균 시간.

릴리스 후 결함 발생률: QA를 거쳤음에도 릴리스 후 발견된 문제의 비율.


자동화 테스트 확대


현재 수동으로 처리하는 반복 작업(예: 크로스 브라우저 테스트)을 Cypress 또는 Playwright 같은 도구로 자동화.

QA 시간이 단축되어 더 높은 품질의 검증에 집중 가능.


QA 피드백 루프 강화


외부 QA 피드백에 대한 실시간 반영을 위해 클라이언트 및 QA 담당자 간 커뮤니케이션 도구 개선.

QA 완료 후 결과를 회고하고 학습할 수 있는 내부 세션 정기화.


우선순위 체계 강화


QA 항목을 P1(긴급), P2(중요), P3(보통) 등으로 등급화하여 긴급하고 중요한 문제부터 처리.


QA를 위한 추천 도구와 팁


저희가 실무에서 사용하며 효율성을 높인 몇 가지 도구와 팁을 공유합니다.


1*wBueI8KabLNh4NqZc6OMfg.png


추천 QA 도구


Jira: QA 작업의 추적 및 관리에 유용합니다.

Playwright: 크로스 브라우저 자동화 테스트에 적합한 도구입니다.

Postman: API 테스트 자동화에 간편한 기능을 제공합니다.


실무 팁


테스트 환경을 실제 환경과 최대한 유사하게 설정하세요.

테스트 결과를 기록하고 데이터화하여 QA 프로세스를 지속적으로 개선하세요.

QA 팀에게 충분한 교육과 리소스를 제공해 문제 해결 역량을 높이세요.




QA는 버그를 잡는 과정이 아니다!


1*RTru-MuVvWjAv1g7qI1vLg.png


저희 똑똑한개발자에서는 QA를 단순히 버그를 찾는 과정으로 보지 않습니다. QA는 고객 만족을 보장하고, 팀 전체의 협업을 통해 성공적인 프로젝트를 이끄는 핵심 과정이라고 믿습니다. 여러분의 QA 프로세스는 어떤가요? 이 글이 여러분의 프로젝트 품질을 한 단계 높이는 데 도움이 되시길 바래요!


작성에 도움을 주신 똑똑한개발자 양지은 리더 PM님께 감사의 말씀을 드리며 글을 마치겠습니다.


https://blog.toktokhan.dev/%EC%A7%81%EB%AC%B4%EC%9D%B8%ED%84%B0%EB%B7%B0-%EB%98%91%EB%98%91%ED%95%9C%EA%B0%9C%EB%B0%9C%EC%9E%90-%EB%A6%AC%EB%8D%94-pm-%EC%96%91%EC%A7%80%EC%9D%80%EB%8B%98-27f38cfce0bf


당신의 비전을 성공적인 제품과 비즈니스로 완성시킵니다.

사랑받는 IT 비즈니스를 향한 첫 스텝, 똑똑한개발자입니다.


https://www.toktokhan.dev?utm_source=brunch_official&utm_medium=goodqa_250418&utm_campaign=goodqa


keyword
작가의 이전글맞춤 큐레이션 패션 아울렛 플랫폼은 어떻게 개발할까?