소프트웨어 품질 보증이란?
소프트웨어 품질은 외부 특성과 내부 특성을 통해 평가합니다. 외부 품질은 실제 운영 조건에서 소프트웨어가 얼마나 잘 작동하고 사용자에게 얼마나 유용한지를 뜻합니다. 내부 품질은 동작을 뒷받침하는 코드의 품질입니다. 사용자는 주로 외부 동작을 경험하지만, 그 품질을 유지하려면 이해하기 쉽고 잘 작성된 코드가 필요합니다.
소프트웨어 품질
소프트웨어 품질 보증이란?
소프트웨어 품질을 평가하는 두 가지 주요 접근법이 있습니다.
- 결함 관리 접근법
- 품질 속성 접근법
결함 관리 접근법
이전 소프트웨어 제품 품질 모델인 ISO/IEC 9126-1은 품질 속성을 여섯 가지 특성으로 분류합니다.
품질 속성 접근법
1. 기능성 소프트웨어가 제공하는 주요 기능 전체입니다.
- 적합성. 소프트웨어 기능이 목적에 적합합니까?
- 정확성. 기능이 올바르게 구현되었습니까?
- 상호운용성. 소프트웨어는 다른 시스템 구성요소와 어떻게 상호작용합니까?
- 준수성. 소프트웨어가 적용되는 법률과 지침을 준수합니까?
- 보안성. 소프트웨어가 데이터 트랜잭션을 안전하게 처리할 수 있습니까?
- 성숙성. 소프트웨어 장애가 얼마나 자주 발생합니까?
- 복구성. 장애가 발생한 후 시스템이 정상 동작을 얼마나 잘 회복할 수 있습니까?
- 이해성. 사용자가 기능을 얼마나 쉽게 이해할 수 있습니까?
- 학습성. 경험 수준이 다른 사용자가 기능을 익히는 데 얼마나 많은 노력이 필요합니까?
5. 유지보수성 지원 용이성이라고도 합니다. 코드의 가독성과 복잡성에 크게 좌우되며 결함을 찾아 수정하는 능력과 관련이 있습니다.
- 분석성. 장애의 주요 원인을 얼마나 쉽게 파악할 수 있습니까?
- 변경성. 코드를 변경해 결함을 제거하는 데 얼마나 많은 노력이 필요합니까?
- 안정성. 변경 후에도 시스템 동작이 얼마나 안정적입니까?
- 시험성. 시스템을 테스트하는 데 얼마나 많은 노력이 필요합니까?
- 적응성. 시스템이 명세 변경에 얼마나 쉽게 적응할 수 있습니까?
- 설치성. 시스템을 얼마나 쉽게 설치할 수 있습니까?
- 준수성. 기능성의 준수성에 해당합니다.
- 대체성. 주어진 환경에서 시스템 구성요소를 얼마나 쉽게 대체할 수 있습니까?
소프트웨어 품질 비용
테스트에는 시간, 비용, 노력이 듭니다. 소프트웨어 품질 비용을 분석하면 그 투자에 따른 수익률(ROI)을 이해하는 데 도움이 됩니다.
소프트웨어 품질 비용
품질 비용에는 적합 비용과 부적합 비용이 포함됩니다. 적합 비용은 다음과 같이 나뉩니다.
- 예방 비용. 팀 교육, 코드 리뷰와 같은 품질 보증 활동을 올바르게 수행하는 데 드는 비용입니다.
- 평가 비용. 테스트 케이스 작성과 실행을 비롯해 테스트를 계획하고 수행하는 데 드는 비용입니다.
- 내부 실패 비용. 초기 내부 테스트에서 실패가 발생하면 드는 비용입니다. 단위 또는 구성요소 테스트에서 발견된 결함을 개발자가 수정하는 데 드는 노력도 포함합니다.
- 외부 실패 비용. 테스트 담당자가 놓친 결함을 고객이 발견하면 드는 비용입니다. 고객이 불만을 느끼거나 소프트웨어 장애를 상위 대응 단계로 올리는 경우 특히 내부 실패 비용보다 훨씬 커집니다.
- 변화에 대응하기 어려워짐. 소프트웨어가 오래되면서 기존 코드를 재검토하지 않고 기능을 추가하면 규모가 커지고 유지보수가 어려워질 수 있습니다. 시간이 지날수록 변경해야 할 부분을 찾기 어려워집니다.
- 소프트웨어, 작업 부하 또는 데이터가 변하면 성능이 저하될 수 있습니다. 예를 들어 메모리 누수는 동작 중 메모리 사용량을 늘릴 수 있습니다. 소프트웨어를 수정할지, 업그레이드할지, 교체할지 정하기 전에 문제를 측정하고 원인을 조사합니다.
- 수정으로 인해 회귀 문제가 발생할 수 있습니다. 다른 구성요소가 변경된 코드에 의존하는 경우 특히 그렇습니다. 수정이 원래 문제를 해결했는지 확인하고 영향을 받는 동작을 테스트합니다. 결과, 유지보수 비용, 사업 영향을 고려해 다음 조치를 결정합니다.
품질 보증은 고객의 품질 요구사항을 충족하고 소프트웨어 개발 생명주기 절차를 따르는 데 필요한 프로세스를 개발하고 실행합니다. 문제를 사전에 예방하는 활동으로, 다음에 중점을 둡니다.
- 결함 예방
- 프로세스
- 프로세스의 지속적인 개선
품질 보증과 품질 관리
품질 보증과 품질 관리는 밀접한 관련이 있으며 역할이 다릅니다. 품질 보증은 프로세스를 통한 예방에 집중합니다. 품질 관리는 제품의 품질 문제를 발견하고 해결하는 활동에 집중합니다.
테스트는 품질 관리의 일부입니다. 품질 보증과 품질 관리는 모두 전반적인 품질 경영에 기여합니다. 품질 보증은 팀이 고객 요구사항을 충족하도록 프로세스를 수립하고 개선합니다.
품질 보증과 품질 관리
품질 관리에는 제품 특성을 확인하고 통제하며, 개발이 정해진 요구사항을 충족하는지 확인하는 활동이 포함됩니다. 그중 가장 중요한 활동은 제품 검사와 테스트입니다.
품질 관리 팀은 회사의 품질 기준을 충족하지 못하는 제품이나 서비스를 찾아냅니다. 문제가 확인되면 해결될 때까지 생산을 중단할 수 있습니다.
감사와 인스펙션의 중요성감사는 조직이 소프트웨어 테스트를 수행하는 방식을 체계적으로 살펴봅니다. 감사 담당자는 문서화된 프로세스를 검토하고 조직이나 팀이 정해진 기준을 준수하는지 확인합니다.
인스펙션은 요구사항, 설계, 코드와 같은 작업 산출물에 대한 공식 리뷰입니다. 작성자가 아닌 검토자가 결함과 합의된 기준에서 벗어난 부분을 찾습니다. 일반적인 인스펙션에는 다음과 같은 활동이 포함됩니다.
- 계획
- 개요 설명과 개별 준비
- 인스펙션 회의
- 수정 작업
- 후속 확인
무료 온라인 교육을 통해 소프트웨어 테스트 인증 시험에 합격할 수 있음을 보장합니다!
-
01
온라인 등록
공인 인증을 선택하고 등록을 완료하세요.
-
02
접속 코드 받기
개인 시험 접속 코드가 이메일로 즉시 발송됩니다.
-
03
준비하고 시험 응시하기
무료 교육으로 학습하고 온라인에서 객관식 50문항에 답하세요.
-
04
평생 유효한 인증 취득
전 세계에서 유효한 인증서와 검증 가능한 디지털 배지를 받으세요.
무료 프리미엄 온라인 교육
Software Testing Revealed 제2판을 준비했습니다.
모든 주요 산업 분야에서 활동하는 저명한 기업 및 팀 리더, 소프트웨어 테스트 코치, 멘토, 전문가 및 권위자와 함께 교육을 만들었습니다. International Software Test Institute™를 방문하는 누구나 이용할 수 있습니다. 다음 두 항목에서 자료를 확인할 수 있습니다. 무료 소프트웨어 테스트 도서 및 무료 프리미엄 소프트웨어 테스트 교육 두 항목 모두 상단 메뉴에 있습니다.
이 자료는 저작권으로 보호되는 International Software Test Institute™의 지식재산입니다. 저희의 전문 지식을 공유하면 소프트웨어 테스트 전문가를 돕고 이 분야의 발전에 기여할 수 있기에 모두에게 무료로 공개합니다.
인증 시험은 객관식입니다. 온라인 교육으로 시험에 합격하고 소프트웨어 테스트 인증을 받는 데 필요한 지식을 쌓으세요.
무료 프리미엄 온라인 교육을 통해 소프트웨어 테스트 인증 시험에 합격할 수 있음을 보장합니다!
