QA란?

miiin_sseong·2023년 1월 9일
0

QA

목록 보기
1/3

Quality Assurance의 약자로 품질 보증을 말한다
제품 출시 이전에 각종 테스트(Test)및 검수 작업을 하는 업무
일정 수준의 품질(Quality)을 가질 수 있도록 제품 출시 이전에 각종 테스트(Test) 및 검수 작업을 하는 업무
비슷한 용어로 ‘QC’가 있으며 ‘Quality Control’의 약자로 품질 관리를 의미

QA / QC 차이

QA(Quality Assurance) : 제품개발단계 품질보증 활동(고품질 제품 확보가 주요 목적)
QC(Quality Control) : 제품양산단계 품질관리 (불량품 제거가 주요 목적)

Quality 품질

소프트웨어 품질(‘제품품질’ + ‘프로세스 품질’)로 결과가 산출
제품 품질이란 사용자가 소프트웨어 제품을 사용하는데 있어 직접적인 영향을 미치는, 즉. 소프트웨어 제품 자체가 가지고 있는 품질을 말한다.
프로세스 품질이란 소프트웨어 제품의 최종 품질에 영향을 줄 수 있는 소프트웨어 개발 과정에서 수행되는 작업(프로세스)품질을 말한다.
프로세스 품질 향상을 위한 심화 활동으로 CMMI,SPICE 등을 통해 확인
SPICE [Software Process Improvement and Capability dEtermination]
SW 프로세스 개선 평가에 관한 국제표준인 SPICE(ISO/IEC15504)
CMMI [Capability Maturity Model Integration]

미 카네기멜론대학 소프트웨어 공학연구소(SEI)와 산업계가 공동으로 개발, 보급하고 있는 소프트웨어 및 시스템 품질관리 인증으로, 정보시스템을 구축하는 기업의 능력 수준을 나타내는 기준

TC(Test Case) = Test

실제 실행하는 하나하나의 실체
QA업무에서는 대부분의 경우 테스트케이스(TestCase)를 의미

[테스트의 13가지 원리]

테스트케이스에서 중요한 부분은 예상된 결과나 산출물을 정의
테스트는 프로그램을 개발한 개발자보다 다른 개발자나 테스트 전문가가 하는것이 더 효과적
프로그램 개발 조직 부서는 자신의 프로그램을 테스트 하지않아야 함
각 테스트의 결과들을 철저하게 검사
테스트케이스는 예상되고 알맞은 값뿐만 아니라 예상하지 못하고 틀린 값도 있어야함
수행되어야 할 기능만 검사하는 것은 테스트의 절반만 수행한 것임
한번 쓰고 버릴 프로그램이 아니라면 테스트케이스의 재사용 고려
오류가 발견되지 않을 거란 기대를 하지 않음
프로그램 섹션에서 더 많은 오류 존재의 개연성은 섹션에서 이미 찾은 많은 오류와 비례
테스트는 대단히 창조적이고 지적인 작업활동임
모든 테스트는 고객 요구사항 찾아낼 수 있어야 함
Pareto 원리는 소프트웨어 테스트에 적합적
테스트는 작은 부분에서 시작하고, 큰 부분으로 옮겨 가야함

Testing

Test를 실행하기 위해 요구되는 전체적인 활동을 Testing이라고 한다.
테스팅의 목적
잔존 결함 발견
개발 시스템 & 소프트웨어 대한 자신감부여
결함을 미연에발견
명세 충족 확인
사용자 및 비즈니스의 요구 충족 확인
개발 프로세스 점검, 이슈 제거
논리적 설계의 구현 검증
시스템 & 소프트웨어가 적절히 동작을 확인

[개발과정]

소프트웨어의 결함을 찾아내고 수정하기 위해서 가능한 많은 장애의 원인을 발생시키는 목적

[인수과정]

예상된 대로 시스템이 동작하는지 확인하고, 요구사항에 맞는지 확신을 얻는 목적

[품질평가]

특정 시간 또는 정해진 시간에 시스템 & 소프트웨어를 출시하는 것에 대한 리스크를 개발 프로젝트 관련자에게 전달하는 목적

[유지보수]

변경사항을 추가적으로 개발하는 중에 새로운 결함이 유입되었는지 확인하는 테스팅(Regression Testing) 목적

[운영]

신뢰성 또는 가용성과 같은 시스템의 특성을 평가하기 위한 목적

profile
Github잔디를 채우기 위해 Github에서 적는중

0개의 댓글