SQA(Software Quality Assurance)는 소프트웨어 개발 프로세스 전반에 걸쳐 품질 표준·방법론·절차를 수립하고 준수를 보장하는 활동이다.
| 구분 | SQA | 소프트웨어 테스팅 |
|---|---|---|
| 목적 | 프로세스 품질 보장 (결함 예방) | 제품 결함 발견 (결함 탐지) |
| 범위 | 개발 프로세스 전체 수명주기 | 개발 완료 후 주로 실행 |
| 활동 | 프로세스 감사, 표준 수립, 교육, 코드 리뷰 | 단위·통합·시스템·인수 테스트 실행 |
| 유형 | 특성 | 참여자 | 형식성 |
|---|---|---|---|
| 인스펙션 (Inspection) | 가장 공식적인 리뷰. 역할(진행자·작성자·검토자·리코더) 분리. 결함 기록·추적 | 4~6명 팀 | 높음 (Fagan Inspection) |
| 워크스루 (Walkthrough) | 작성자가 직접 코드를 설명하며 참가자가 질문·의견 제시 | 작성자 주도 | 중간 |
| 피어 리뷰 (Peer Review) | 동료 간 1:1 또는 소규모 리뷰. Pull Request 기반 코드 리뷰가 대표 형태 | 2~3명 | 낮음 (비공식적) |
효과적인 코드 리뷰 원칙: ① 200~400줄 이하 단위로 리뷰 ② 60분 미만 집중 ③ 코드 스타일은 Linter 자동화 ④ 승인/변경요청 명확히 ⑤ 개인 비판 아닌 코드 비판
| 유형 | 분석 대상 | 대표 도구 |
|---|---|---|
| SAST (정적 보안 분석) | 소스 코드의 보안 취약점 (SQL Injection, XSS, 하드코딩 비밀번호) | SonarQube, Checkmarx, Semgrep, Snyk Code |
| 코드 품질 분석 | 복잡도, 중복 코드, 코드 스멜, 기술 부채 | SonarQube, ESLint, PMD, Pylint |
| SCA (소프트웨어 구성 분석) | 오픈소스 라이브러리 취약점·라이선스 | Dependabot, Snyk, OWASP Dependency-Check |
| IaC 분석 | Terraform·K8s YAML의 보안 구성 오류 | Checkov, tfsec, KICS |
SQA는 테스팅과 달리 개발 전 과정에서 품질을 예방적으로 보장한다. 코드 리뷰(인스펙션·워크스루·피어 리뷰)는 결함을 조기 발견하고, SAST·SCA·Quality Gate를 CI/CD에 통합하여 코드 품질·보안을 자동으로 검증함으로써 고품질 소프트웨어를 지속적으로 배포할 수 있다.
요양원 선택 전 반드시 확인해야 할 체크리스트를 공개합니다. 공식 평가 자료 조회법, 방문 시 확인…
공공기관 채용 비리의 실태와 피해 지원자의 대응법을 정리했습니다. 채용 비리 신고 방법, 공익신고자 보호제도, 취준생…
주식 손실을 세금 절약에 활용하는 합법적 방법을 공개합니다. 해외주식 손익통산, ISA 계좌 활용, 연금계좌 절세까지…
배달이 예상 시간보다 크게 늦으면 취소·환불을 요청할 수 있습니다. 배달앱별 지연 취소 방법과 잘못 배달됐을…
통신비 절약의 핵심은 요금제 최적화입니다. 내 데이터 사용량 확인법, 알뜰폰 전환 비교, 위약금 없이 요금제…