티스토리 뷰

IT

QA/QC의 차이

큐사 2022. 12. 29. 02:07
반응형

IT업계에서 품질 관리와 품질 보증은 자주 QA/QC로 결합되어 불립니다. 이것은 QA/QC가 역할의 구분이 없는 것처럼 느껴지며, 그렇게 사용됩니다. 전체적인 품질의 관한 프로세스를 QA/QC로 설명하는 게 일반적인 것이 되었습니다. 실무와 관련해 QA와 QC 사이에는 명확한 구분이 있기 때문에 실무를 처음 접하는 사람에게는 다소 혼란이 올 수 있습니다.

QA와 QC가 다른 역할인 이유

QA와 QC 사이에는 단순하면서도 명확한 차이점이 있습니다. 품질보증은 개발 진행 단계~ 개발 완료 단계에서 이루어집니다. 품질관리는 개발완료부터 이루어집니다.

QA/QC의 차이점

품질 보증(QA)

QA는 개발 주기에서 초기부터 시작됩니다. 정적 테스트와 같은 특정 테스트는 소프트웨어가 완전 구현 및 작동되기 전에 수행이 가능합니다. 생산 주기 초기부터 개발자와 협력함으로 인해 초기에 발생된 문제가 개발이 완료될 때 심각한 문제로 진행되지 않도록 할 수 있습니다. QA 테스트는 개발의 모든 단계에서 진행됩니다. QA는 소프트웨어 개발 프로세스에서 비효율성과 버그를 찾고 이를 예측하고 방지하는 것이 목표입니다. QA팀은 기획자와 협력하여 기획에 개선점을 공유하고, 소프트웨어 개발자와 협력하여 버그 수정을 돕습니다. 제품 개발 시 최적의 프로세스 및 개선 방법을 찾기 위해 프로젝트 관리자, 리드 개발자 등 다양한 팀과 협력합니다. 이러한 측면에서 QA는 능동적이라고 할 수 있습니다.

품질 관리(QC)

개발이 완료되면 QC가 시작됩니다. QC는 개발이 완료된 제품이 기획단계에서 부터 설명된 표준과 사양을 충족하는지 확인합니다. 그들은 제품에 사용자 관점에서 판단하며, 목표는 제품이 대중에게 공개될 때 문제점 및 결함 발생률을 낮게 유지하는 것입니다. QC는 모두 완성된 소프트웨어 결과물에서 버그, 결함을 찾는 것과 관련이 있습니다. 그들은 개발자, QA, 테스터가 놓친 부분이 있는지 확인합니다. 품질 관리는 개발 주기에서 개발 완료 후 시점에 발생하기 때문에 사후 대응과 관련된 프로세스입니다. 품질 보증과 품질 관리는 모두 결함 및 버그를 찾고 사용성을 개선하는 것과 관련이 있습니다. 이러한 이유로 QA/QC 같은 업무처럼 결합되어 불립니다. 하지만, 같은 목표를 공유하더라도 작업 동기의 차이가 존재합니다.

QA/QC 작업 접근방법

품질 보증(QA)

QA는 버그와 비효율성을 찾기 위한 능동적인 접근 방식입니다. QA 팀은 종종 프로세스와 개발 및 테스트를 최적화하는 방법을 찾으려고 노력합니다.

품질 관리(QC)

버그를 포착하고 발견하는 QC의 반응적 접근 방식은 그들이 작업을 수행하기 위해 다른 방법을 사용한다는 것을 의미합니다. QC는 철저함에 크게 관심이 있습니다. 그들은 또한 백분율을 사용합니다. QC에는 검사 실패가 허용되는 제품의 비율인 허용 가능한 품질 한계가 있습니다. 출시될 제품에 치명적인 오류가 발생하지 않도록 보장하는 것이 QC 팀의 임무입니다.

QA/QC 버그 발견 시 공정

품질 보증 (QA)

QA 테스터가 소프트웨어에서 버그를 발견하면 버그를 재현하는 방법을 포함하여 발견한 내용을 문서화하고 개발 팀에 보고합니다. 거기에서 개발 팀은 문제를 수정하고 추가 테스트를 위해 QA로 다시 보냅니다. QA는 개발과 지속적으로 소통합니다. 개발자에게 실수가 발생한 위치와 수정 방법을 알려주는 문서가 필요합니다. QA의 가장 큰 두려움은 테스트 범위 내에 있던 버그가 산재된 상태로 생산에 들어가는 것입니다.

품질 관리(QC)

QC에서 버그 테스트를 시작할 때쯤이면 제품이 완성되고 거의 출시할 준비가 된 것입니다. QC 팀은 고장 난 장치의 비율과 같은 데이터를 수집하고 그 결과를 경영진에게 보고합니다. 다음에 일어날 일은 테스트 결과에 따라 다릅니다. 소프트웨어의 결함률이 높으면 회의를 소집하여 생산 프로세스를 개선하기 위한 계획을 세울 수 있습니다. (품질 보증 팀이 원하지 않는 마지막 일입니다.) 대부분의 경우 제품이 허용 가능한 품질 한계 내에 있는 경우 품질 관리 팀은 반복적인 문제가 있는 고객에게 혜택을 제공합니다. 품질 관리는 종종 생산과 고객 간의 완충 역할을 합니다.

요구되는 기술

품질 보증(QA)

QA 테스터는 널리 사용되는 프로그래밍 언어(파이썬, 자바, C++, 루비, PHP)를 이해하고, 자동화 QA 도구(ex: Selenium)를 사용하는 방법도 익혀두면 좋습니다. 테스트 사례를 실행하고 결과를 쉽게 이해할 수 있는 방식으로 문서화할 수 있는 입증된 능력이 있어야 하며, 테스트 케이스 실행에 능숙하지만 작성에도 능숙해야 합니다. QA팀은 개발자와 끊임없이 대화를 나누기 때문에 명확하고 정확한 커뮤니케이션 능력도 중요합니다.

품질 관리(QC)

QC 구성원이 알아야 할 7가지 핵심 기법은 다음과 같습니다.
(QC7도구라고 불립니다.)

 

- 특성요인도 : 결과에 대한 원인이 있고 서로 어떻게 관계되고 영향을 미치는지 나타낸 기법
- 파레토도 : 문제에 가장 큰 영향을 미치는 요소에 우선순위를 지정하여 표로 나타내는 기법
- 체크 시트: 프로세스에서 데이터를 수집하는 단계에서 사용하는 기법
- 산점도 : 데이터의 흩어짐이나 분포의 형태를 판단할 수 있는 데이터 정리 방법
- 히스토그램 : 데이터 존재 범위를 구간으로 나누고 빈도수를 체크하여 작성한 기법
- 층별 : 수집된 데이터를 어떤 특징에 따라 몇 개의 그룹 혹은 부분집단으로 나누는 기법
- 관리 차트 : 시간 경과에 따른 프로세스의 변화를 조사하는 기법

반응형

'IT' 카테고리의 다른 글

5G와 MEC의 의미  (0) 2022.12.30
Defi의 뜻  (0) 2022.12.29
DAO의 의미  (0) 2022.12.28
하드웨어와 소프트웨어 차이  (0) 2022.12.28
UX/UI의 의미  (0) 2022.12.28