소프트웨어 품질보증(SQA)의 핵심 기법은 개발 생명주기 전반에 걸쳐 소프트웨어 품질을 체계적으로 보장하기 위한 다양한 방법론을 포함합니다. 주요 기법들을 자세히 살펴보겠습니다.
소프트웨어 품질보증의 핵심 기법
리뷰(Review)
리뷰는 공식적인 절차 없이 소프트웨어 개발 산출물을 점검하는 품질보증 기법입니다56. 주요 특징으로는:
- 요구명세서와의 일치 여부를 검토합니다
- 부적절한 정보, 누락되거나 관련 없는 정보를 발견합니다
- 개발자, 관리자, 사용자, 외부 전문가 등 다양한 이해관계자가 참여합니다6
워크스루(Walkthrough)
워크스루는 설계 및 프로그램 오류를 탁상에서 발견하기 위한 비공식적인 검토 회의입니다56. 특징은 다음과 같습니다:
- 개발에 참여한 팀들로 구성됩니다
- 결함을 찾고 대안을 시험하며 학습 수단으로도 활용됩니다
- 개발자가 동료와 함께 산출물을 설명하며 피드백을 받는 과정입니다5
인스펙션(Inspection)
인스펙션은 소프트웨어 품질 향상을 위해 훈련된 리더에 의해 진행되는 공식 회의입니다56. 주요 특징은:
- 소프트웨어 구성요소들을 정확하게 평가하며, 리뷰보다 엄격하고 정형화되어 있습니다
- 체크리스트 등을 사용하여 체계적으로 검토합니다
- 전문가 검토, 공식적 평가, 수정 지침을 제시합니다6
- 설계서, 코드 등의 중간 산출물을 검사하여 결함을 발견하고 소프트웨어 품질 개선과 비용 절감을 도모합니다5
감사(Audit)
감사는 요구분석, 설계, 프로그램 품질 감사 등 전체 프로세스 준수 여부에 대한 적정성을 검토하는 활동입니다5. 산출물 및 프로세스가 표준과 규정을 준수하는지 공식적으로 점검합니다.
테스트(Testing)
테스트는 품질 보증을 위한 핵심 단계로, 소프트웨어의 실제 테스트를 수행합니다2. 주요 테스트 기법은 다음과 같습니다:
- 단위 테스트: 각 독립적인 경로, 분기, 조건을 최소한 한 번 실행하여 완전한 코드 커버리지를 보장합니다5
- 통합 테스트: 모듈 간 인터페이스를 시험합니다5
- 시스템 테스트: 전체 시스템의 기능을 검증합니다2
- 승인 테스트: 사용자가 직접 시험하여 요구사항 충족 여부를 확인합니다5
정적 분석(Static Analysis)
정적 분석은 프로그램을 실행하지 않고 자동화된 도구로 수행하는 소프트웨어 분석입니다. 소프트웨어 메트릭과 역공학이 정적 분석의 대표적인 형태이며, SonarCube, VeraCode 등의 도구를 사용합니다.
기능 테스트(Functional Testing)
기능 테스트는 시스템이 어떻게 작동하는지가 아닌, 무엇을 하는지 검증하는 QA 기법입니다. 블랙박스 테스팅은 주로 시스템 사양이나 기능을 테스트하는 데 중점을 둡니다.
표준화(Standardization)
표준화는 모든 산출물이 명확한 표준을 따르도록 관리하여 품질 편차를 최소화하는 기법입니다. 품질보증에서 중요한 역할을 하며, 모호성과 추측을 줄여 품질을 보장합니다.
소프트웨어 품질보증 프로세스 단계
효과적인 품질보증을 위해서는 다음과 같은 단계적 프로세스가 필요합니다:
- 품질 계획 수립27
- 품질 목표 및 기준 설정
- 품질 보증 프로세스 문서화
- 팀원 배정 및 역할 정의
- 품질 보증 활동 수행2
- 코드 리뷰와 검토
- 개발 문서 검토
- 품질 통제2
- 테스트 계획 수립
- 테스트 케이스 작성 및 실행
- 테스트 및 검토2
- 다양한 테스트 기법 적용
- 결함 발견 및 보고
- 테스트 종료 및 보고7
- 모든 테스트 완료 및 결함 해결 확인
- 결과, 측정 항목, 교훈을 담은 보고서 작성
- 프로세스 개선을 위한 회고 실시
소프트웨어 품질보증은 단순히 결함을 찾는 것을 넘어, 개발 초기부터 품질 목표를 설정하고 전체 개발 과정에서 품질을 체계적으로 관리하는 활동입니다1. 이를 통해 사용자 요구사항 만족, 비용 절감, 납기 준수, 제품의 견고성 및 확장성을 확보할 수 있습니다5.
Citations:
- https://blog.naver.com/deepb1ue/221194355465
- https://apidog.com/kr/blog/sqa/
- https://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE00596631
- https://thecodest.co/ko/%EC%82%AC%EC%A0%84/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%ED%92%88%EC%A7%88-%EB%B3%B4%EC%A6%9D%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80%EC%9A%94/
- https://blog.skby.net/%ED%92%88%EC%A7%88%EB%B3%B4%EC%A6%9Dquality-assurance/
- https://itboan.tistory.com/entry/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%ED%92%88%EC%A7%88%EB%B3%B4%EC%A6%9D
- https://visuresolutions.com/ko/%EC%9E%90%EC%84%A0-%EA%B0%80%EC%9D%B4%EB%93%9C/%ED%92%88%EC%A7%88-%EB%B3%B4%EC%A6%9D/
- https://www.youtube.com/watch?v=vdpPk1fqptI
- https://blog.naver.com/dayenara/221387555370
- https://linkareer.com/activity/242193
'IT 자료 > Software engineering' 카테고리의 다른 글
| 상용 소프트웨어 직접구매 제도 (0) | 2025.06.01 |
|---|---|
| 소프트웨어 품질 속성 중 보안 품질 (0) | 2025.05.29 |
| 소프트웨어 품질보증(SQA, Software Quality Assurance) (0) | 2025.05.20 |
| 프로젝트 갈등관리와 터크만 모델과의 관계 (0) | 2025.05.20 |
| 터크만 사다리 모델(Tuckman Ladder Model) (0) | 2025.05.20 |