소프트웨어 품질 관리
Software quality managementSQM(Software Quality Management, SQM)은 제품이 고객이 기대하는 품질 표준을 가장 잘 충족시키는 동시에 필요한 규제 및 개발자 요건을 충족하도록 소프트웨어의 품질을 개발하고 관리하는 것을 목적으로 하는 관리 프로세스다.[1][2][3] 소프트웨어 품질관리자는 소프트웨어가 시장에 출시되기 전에 테스트할 것을 요구하고 있으며, 출시 전에 버그를 밝히고 수정하기 위해 주기적인 공정 기반 품질 평가를 사용하여 이를 수행한다. 그들의 일은 그들의 소프트웨어가 소비자에게 좋은 상태를 유지하도록 하는 것뿐만 아니라 기업 전체에 걸쳐 품질의 문화를 장려하는 것이다.[1][2][3]
품질경영활동
소프트웨어 품질 관리 활동은 일반적으로 품질 보증, 품질 계획, 품질 관리의 세 가지 핵심 요소로 구분된다.[1][2] 소프트웨어 엔지니어 및 저자인 이안 소머빌과 같은 일부 사람들은 (품질 관리는 소프트웨어 개발 용어라기 보다는 제조 용어로 간주되기 때문에) 품질 관리라는 용어를 사용하지 않고, 관련 개념과 품질 보증의 개념을 연결한다.[3] 그러나 그렇지 않은 경우 세 가지 핵심 요소는 그대로 유지된다.
품질보증
소프트웨어 품질 보증은 조직 프로세스의 체계적이고 논리적인 집합을 설정하고, 이러한 조직 프로세스와 결합되어야 하는 소프트웨어 개발 표준을 결정하는데, 소프트웨어 개발자는 더 높은 품질의 소프트웨어를 생산할 수 있는 더 나은 기회를 갖는다. 그러나 '유지 가능성'이나 '신뢰성'과 같은 품질 속성을 공정에 연결하는 것은 창의적인 설계 요소와 제조의 기계적인 공정으로 인해 소프트웨어 개발에서 더 어렵다.[1][2][3] 또한, "프로세스 표준화는 때때로 창의성을 억누를 수 있으며, 이것은 더 나은 품질의 소프트웨어보다는 더 나쁜 소프트웨어로 이어진다."[3]
이 단계에는 다음이 포함될 수 있다.
- 표준 템플릿을 사용하여 잘 정의된 엔지니어링 문서 작성과 같은 문서 프로세스 표준 권장
- 품질 검토와 같은 표준 프로세스를 수행하는 방법의 멘토링
- 진행 중인 테스트 데이터 기록 절차 수행
- 소프트웨어 개발 프로세스에 사용해야 하는 표준이 있는 경우 식별
품질계획
품질 계획은 보다 세분화된 프로젝트 기반 수준에서 작동하며, 프로젝트의 산출물과 연관될 품질 속성과 그러한 속성의 평가 방법을 정의한다. 또한 기존 조직 표준도 이 단계에서 프로젝트에 할당할 수 있다. 소프트웨어 개발 프로젝트에 「로봇성」, 「접근성」, 「모듈리티」 등의 속성을 부여할 수 있다.[1][2] 이것이 보다 공식화되고 통합된 프로세스일 수 있지만, 보다 민첩한 품질 관리 방법을 사용하는 사람들은 엄격한 계획 구조에 중점을 덜 둘 수 있다.[3] 또한 품질 계획은 의도된 시장, 중요한 출시 날짜, 품질 목표, 예상 위험 및 위험 관리 정책을 다룰 수 있다.[2][3]
품질관리
품질관리팀은 조직 및 프로젝트 수준 모두에서 품질보증 프로세스와 표준이 준수되고 있는지 확인하기 위해 다양한 단계에서 소프트웨어를 테스트하고 검토한다.[1][2] (Sommerville과 같은 일부에서는 이러한 책임을 품질관리라고 부르지 않고 품질보증에 연계한다.)[3] 이러한 점검은 테스트할 제품에 대한 객관적인 관점을 더 많이 제공하기 위해 개발 팀과 최적으로 분리되어 있다.[2][3] 그러나, 개발 쪽의 프로젝트 매니저들도 이 단계의 일부로서 "오류가 발견되었을 때 나무랄 데 없이 지원을 제공하는 문화"[3]라고 홍보하는 것을 돕도록 도와야 한다. 보다 민첩한 품질 접근법을 구현하는 소프트웨어 개발 회사에서는 이러한 활동이 덜 형식적일 수 있지만, 보다 공식적인 품질 관리 구조에서 민첩한 방법으로 전환하면 관리 절차가 적절하게 조정되지 않을 경우 문제가 발생할 수 있다.[3]
활동에는 다음이 포함된다.
- 소프트웨어 릴리스 테스트(테스트 프로세스의 적절한 문서화 포함)
- 표준을 준수하지 않는 소프트웨어 및 관련 문서의 검토
- 이전 테스트에서 상세히 기술된 필수 변경사항을 다루기 위한 소프트웨어의 후속 검토
- 평가를 위한 소프트웨어 측정 및 측정 기준의 적용
소프트웨어 품질 및 소프트웨어 수명 주기
소프트웨어 품질의 측정은 제조와 다르다. 허용오차는 적용되지 않는다(적어도 같은 방식으로), 소프트웨어가 규격을 충족하는지에 관한 객관적 결론은 달성하기가 불가능하지 않다면 어렵다.[3] 그러나 소프트웨어의 품질과 목적 적합성 상태는 실현된 프로젝트의 조직과 유형에 따라 여전히 다양한 방식으로 실현될 수 있다.[4] 이는 전체 소프트웨어 개발 라이프사이클의 지원을 통해 수행되며, 이는 다음을 의미한다.
- IT 프로젝트의 요구사항을 수집하고 정의하며, 정의된 요구사항을 테스트할 수 있는 경우 검증에 초점을 맞춘다.
- 예를 들어, 테스트 프로세스 계획 수립에 초점을 맞춘 솔루션 설계(예: 테스트 환경 및 테스트 데이터의 맥락에서 어떤 유형의 테스트를 수행할 것인지, 그리고 어떻게 수행될 것인가?
- 시험사례 및 시나리오가 지원하는 솔루션 구현, 실행 및 결함 등록(결함 해결의 조정 포함)
- 계획된 변경이 생성된 해결책의 품질에 어떻게 영향을 미칠 수 있는지 검증하고 시험 계획의 최종적인 변경을 지원하는 변경 관리 구현
- 생성된 솔루션의 전체 품질에 대한 복잡한 검증에 초점을 맞춘 테스트의 실현에 의해 지원되는 프로젝트 종료.
IT 메서드에 대한 링크
소프트웨어 품질 관리는 다음을 포함한 다양한 프로젝트 관리, 개발 및 IT 운영 방법과 강하게 연계된 주제다.
- 구성 요소 "프로젝트 환경에서의 품질"은 생성된 제품에 대한 이중 점검과 객관적 관리의 필요성을 설명한다. 품질관리 시스템, 품질관리 기능, 계획품질, 품질관리 등 4가지 요소를 활용하도록 제안한다.
- 생성된 제품이 정해진 품질 기준을 충족하는지 검증하는 데 초점을 맞춘 '품질 검토 기법'이다.
- 프로젝트 관리 방법 PMBOK 4판은 지식 영역 프로젝트 품질 관리 및 다음 프로세스를 정의한다.
- 3.4.12 계획 품질,
- 3.5.2. 품질 보증 수행,
- 3.6.7. 품질관리 수행
- 개발 방법 RUP는 인셉션에서 시작하여 전환에서 마무리되는 모든 단계에 관여하는 부문 시험을 정의한다.
- 개발방법 MSF는 시험관 역할과 안정화 단계를 정의하는데, 주로 용액 시험에 초점을 맞춘다.[7]
- 민첩한 방법은 소프트웨어 품질 관리와 관련된 테스터의 역할이나 메커니즘을 정확하게 정의하지 않는다. 이 방법은 지속적인 통합과 시험 주도 개발 같은 기법만 정의한다. 그럼에도 불구하고, 민첩한 시험에 관한 출판물이 마지막으로 등장한다.
- CMMI는 공정 영역 PPQA "공정 및 제품 품질 보증"을 정의하는데, 이는 CMMI 레벨 2에서 이미 요구된다.
- 운용방법 COBIT는 무엇보다도 프로세스 P08 품질 관리를 정의한다.
- ITIL은 간행물 Continuous Service 개선에 의해 정의된다.
- V-모델 – 소프트웨어 개발 라이프사이클 및 테스트 프로세스를 정의하는 모델
- ISO 9000 – 표준 제품군은 품질 관리 시스템과 관련되며, 조직이 제품과 관련된 법적 및 규제 요건을 충족하면서 고객 및 기타 이해관계자의 요구[1]를 충족할 수 있도록 지원하도록 설계되었다.
협회 및 조직
- 미국품질학회(ASQ)는 회원들에게 품질관리, 지속적인 개선, 제품안전과 관련된 인증, 교육, 출판, 회의, 기타 서비스를 제공하는 전문기관이다.
- 국제 소프트웨어 시험 자격 심사 위원회(ISTQBP)는 벨기에에 등록된 비영리 국제 협회다. 소프트웨어 테스터 인증 과정을 관리하며 120여 개국에 53만5000여 건의 인증서 발급이 가능하다.[8]
참고 항목
참조
- ^ a b c d e f Zsolt, U. (February 2014). "Software quality management" (PDF). Software Development Processes and Software Quality Assurance. University of Pannonia. pp. 117–121. Retrieved 7 December 2017.
- ^ a b c d e f g h Maxim, B.R. (2014). "Software Quality Management" (PPT). University of Michigan - Dearborn. Retrieved 7 December 2017.
- ^ a b c d e f g h i j k l Sommerville, I. (2011). "Chapter 24: Quality Management". Software Engineering (9th ed.). Addison-Wesley. pp. 651–680. ISBN 9780137035151.
- ^ Kelemen, Z. D. (2013). 멀티모델 소프트웨어 프로세스 개선을 위한 프로세스 기반 통일 아인트호벤: 테크니쉬 유니버시아드 아인트호벤. ISBN 978-90-386-3313-8
- ^ OGC (Office of Government Commerce) (2009). PRINGS2(2009년 개정)로 성공적인 프로젝트 관리. TSO (문방구 사무소) ISBN 978-0-11-331059-3
- ^ 미국 PMI 제4판 지식 프로젝트 관리 기구에 대한 가이드, 2008
- ^ Microsoft 솔루션 프레임워크 - 18장 안정화 단계, 출판: 2005년 4월 27일 [1]
- ^ "Certifying Software Testers Worldwide". International Software Testing Qualifications Board. Retrieved 7 December 2017.