오늘부터 공부한다
QA와 QC 본문
QA(Quality Assurance)는 품질 보증을 뜻힌다.
어떤 실체(품목, Entity)에 대해 품질 요구 사항을 충족한다는 신뢰를 주기 위하여
품질시스템에서 실시되는 계획적이고 체계적인 활동을 의미한다.
QC(Quality Control)은 품질 관리를 뜻한다.
QC(품질 관리)는 기업 경영상 제일 유리하다고 생각되는 품질을 보장하고
이것을 가장 경제적 제품으로서 생산하는 방법으로
품질에 대한 요구사항을 충족시키기 위해 사용되는 운영상의 기법/활동을 의미한다.
즉, 품질 보증은 고객의 관점에 비중을 많이 두는 활동이며, 해당 제품에 대한 포괄적인 책임을 지는 역할이다.
품질 관리(QC)는 제품에 많은 비중을 둔다고 볼 수 있는데, 제품의 목적에 준한 기능을 검증하는 역할을 수행한다.
품질 보증은 고품질을 위해 품질 관리 보다 넓은 활동을 수행하고 있다는 것을 볼 수 있다.
예를 들어, 게임을 개발할 때
게임의 기능은 캐릭터가 잘 움직이는지, 포인트는 잘 합산되는지, 레벨업/다운은 기획과 동일하게 진행되는지 등의 내부기능들이 잘 구현된지 확인 하는게 품질 관리(QC)다.
그렇다면 품질 보증(QA)는 무엇을 의미할까?
만약 이게 핸드폰 게임이면, 핸드폰에서 구동되어야한다.
데이터는 너무 많이 소모하지 않는지, 메모리는 적절히 분배되고 있는지,
동일한 ID로 로그인 했을 때 정보가 제대로 들어가는지 등 사용자 관점에서 판단할 수 있는
검증 활동을 의미한다.
즉, 우리가 "이 게임은 잘 만들었다!" 라는 기준이 될 수 있는 성능에 관련된 것을 보증하는 것이다.
품질 보증(QA)는 설비, 조선, 각종 기기 등 중공업뿐만 아니라 IT 등 다양한 분야에서 수행된다.
실제 IT 업계의 대다수 기업에서는 소프트웨어의 결함을 예방하기 위해 품질 보증 프로세스를 확립하고
지속적으로 관리하고 있다.
품질 관리(QC)는 품질 보증 프로세스 내에서 품질 평가 활동을 모니터링하고 요구사항을 충족하는 지 관찰하는 업무를 수행하게 된다. 결함 발견을 위한 활동이므로 소프트웨어 테스팅(Software testing), 리뷰(Review), 검사(Inspection)을 수행한다.
'소프트웨어 공학' 카테고리의 다른 글
결합도(Coupling)과 응집도(Cohesion) (1) | 2019.10.17 |
---|---|
시큐어 코딩(Secure Coding) (0) | 2019.10.16 |
디자인 패턴 (0) | 2019.10.15 |
(OS)교착상태 (Deadlock) (0) | 2019.10.15 |
블록체인(Block Chain) (0) | 2019.10.14 |