2013. 01. 30
연구배경 관련연구 본 론 결 론
1) 무기체계내장형소프트웨어특징 I. 개요 무기체계소프트웨어의비중및중요성이증대되고, 소프트웨어가체계전체성능을좌우하는핵심요소로변화하고있음. 최신무기체계는감시정찰, 지휘통제, 정밀타격이통합된 SW 중심의복합체계로발전 공통기반 SW, 체계기반 SW, 전술응용 SW 등무기체계제반기능이대부분 SW 로구현 무기체계개발비중 SW 의비중이큰부분을차지하고있으며, 매년증가추세 무기체계내장형소프트웨어가무기체계의전체성능을좌우하는핵심요소로자리잡음. 소프트웨어시험성과지표를통한소프트웨어의품질의정량적목표관리가필요함. 4/20
2) 무기체계내장형소프트웨어품질특성 I. 개요 무기체계 SW 는여러품질특성중특히신뢰성과유지보수성이매우중요함. 기능성 (Functionality) 신뢰성 (Reliability) 사용성 (Usability) 요구하는기능이정확히실행되는가? 요구기능이고장없이안정적으로실행되는가? 신뢰성부족인명손실및안전위험 사용하기편리한가? 효율성 (Efficiency) 유지보수성 (Maintainability) 이식성 (Portability) 시간과자원을효율적으로활용하는가? 유지보수가편리하도록개발되었는가? 전력화후 30~40 년의운용으로유지보수시간 / 비용증대 다양한운용환경에설치하기가편리한가? 5/20
3) 방위사업청의시험동향 I. 개요 당사는 2007 년부터국방 SW 의신뢰성확보차원에서체계적인테스팅활동을수행하고있으며, 방위사업지침에도활동이의무화되어가고있음 방위사업청동향 2010. ~ 2011.7 신뢰성시험시범적용 2011.8.28 무기체계 SW 개발및관리지침공식발표 2011. 12. 09 방산업체지침교육 현재 모든프로젝트대상신뢰성시험적용 LIG 넥스원활동 2007 년시작 ~ 현재까지 자동화도구기반의 SW 테스팅수행 2012. 3. 7 현재 TMMi Level 3 달성 모든프로젝트 SW 신뢰성시험의무수행 외부동향 2011 년 6 월 ~ 현재 제안 RFP SW 분야평가항목 (4 개 )/ 비중증가 RFP 평가항목 1 SW 개발방안 2 SW 개발방법론 3 SW 품질보증 4 SW 신뢰성시험 6/20
4) TMMi 요구사항 I. 개요 당사의체계적인소프트웨어시험프로세스구축을위해참조한 TMMi 모델에서시험성과지표를선정하여관리할것을요구하고있음. Level 5 TMMi Level 구분 Level 1 Initial Level 2 Managed 1. 테스트정책 & 전략 2. 테스트계획 3. 테스트모니터링 & 제어 4. 테스트설계 & 실행 5. 테스트환경 Level 3 Defined 1. 테스트조직 2. 테스트훈련프로그램 3. 테스트수명주기 & 통합 4. 비기능테스팅 5. 동료검토 Level 4 Measured 1. 테스트측정 2. 제품품질평가 3. 발전된동료검토 SG3 Establish Test Performance Indicators ( 테스트성과지표를선정한다.) Optimization 1. 결함예방 2. 테스트프로세스최적화 3. 품질제어 SP 3.1 Define test performance indicators ( 테스트성과지표를정의한다.) SP 3.2 Deploy test performance indicators ( 테스트성과지표를적용한다.) 7/20
1) ISO/IEC 9126 II. 관련연구 ISO/IEC 9126 은소프트웨어품질특성과척도에관한지침으로, 고객관점에서소프트웨어에관한품질특성과품질부특성을정의하고있음. ISO 9126 Quality Model Internal Metrics (6 대특성 ) ISO 9126-3 External Metrics (6 대특성 ) ISO 9126-2 Quality in Use Metrics (Effectiveness, Productivity, Safety, Satisfaction) ISO 9126-4 [ 참조 ] ISO/IEC 9126 Quality Model 9/20
2) ISO/IEC 25000 II. 관련연구 ISO 25000 은 SQuaRE* 시리즈라고불리며, ISO/IEC 9126 과 ISO/IEC 14598 의두표준의보강및통합을목적으로개발되고있음. 주특성 부특성 주특성 부특성 기능성 기능성숙도 보안성 기밀성 기능정확도 무결성 기능타당성 부인방지 효율성 시간반응성 책임성 요소활용 진본성 ( 인증성 ) 기억용량 유지보수성 모듈성 상호운용성 공존성 재사용성 상호운용성 분석성 사용성 타당성식별력 수정가능성 학습성 시험가능성 운용성 이식성 적용성 사용자오류보호 설치성 사용자인터페이스미학 대치성 [ 참조 ] Organization of SQuaRE series of International Standards 신뢰성 접근성성숙성가용성결점완화회복가능성 * SQuaRE(Software Quality Requirements and Evaluation) 10/20 [ 참조 ] ISO/IEC 25010 에정의된 Product quality model
3) CMMI 의측정지표관련요건 II. 관련연구 CMMI* 에서프로젝트의상태를파악하기위해다양한형태의측정데이터를정의하고, 수집및분석하여이해관계자들과함께검토하는활동을정의하고있음. SG 1 Align Measurement and Analysis Activities Measurement objectives and activities are aligned with identified information needs and objectives. SP 1.1 Establish Measurement Objectives Establish and maintain measurement objectives derived from identified information needs and objectives. SP 1.2 Specify Measures Specify measures to address measurement objectives. SP 1.3 Specify Data Collection and Storage Procedures Specify how measurement data are obtained and stored. SP 1.4 Specify Analysis Procedures Specify how measurement data are analyzed and communicated. SG 2 Provide Measurement Results Measurement results, which address identified information needs and objectives, are provided. SP 2.1 Obtain Measurement Data Obtain specified measurement data. SP 2.2 Analyze Measurement Data Analyze and interpret measurement data. SP 2.3 Store Data and Results Manage and store measurement data, measurement specifications, and analysis results. SP 2.4 Communicate Results Communicate results of measurement and analysis activities to all relevant stakeholders. [ 참조 ] CMMI for Development, Version 1.3 1. 측정목표수립 3. 데이터수집및저장절차명시 1. 측정데이터획득 3. 데이터및결과저장 2. 측정지표명시 4. 분석절차명시 2. 측정데이터분석 4. 결과의사소통 * CMMI (Capability Maturity Model Integrated) : 미국방성에서 SEI 연구소에의뢰하여만든조직프로세스능력성숙도를개선해나가고평가하는데활용되는세계적공통모델 11/20
4) TMMi 의성과지표관련요건 II. 관련연구 TMMi* 의 Test Policy and Strategy Process 에서 3 번째목표로써 Test Performance Indicator 구축을요건으로정의하고있음. 1. 테스트정책과목적연구 ( 테스트프로세스개선 ) 5. 테스트성과지표에대한오너십정의및수립 2. 필요하다면요청 테스트정책과목적명확화 6. 테스트성과지표수집과저장에대해구체적명시 3. 테스트정책및목적과연계된테스트성과지표정의 4. 테스트성과지표리뷰 ( 이해관계자 ) 7. 테스트성과지표분석과보고에대해구체적명시 [ 참조 ] Test Maturity Model integration(tmmi) Release 1.0 * TMMi (Test Maturity Model Integration) : 조직의 SW 테스트성숙도를점검하고개선방향을가이드하는모델로서국제적으로유일하게인정받고있는심사모델을가지고있음. 12/20
1) 소프트웨어시험프로세스 III. 본론 각개발단계별로정적시험과동적시험을수행하며, 방위사업청의 SW 신뢰성시험의평가항목을 SW 단위시험단계부터수행중임. 마스터시험계획 정적시험 체계통합시험 수행 종료 계획 설계 ( 기본 ) 체계통합시험 수행 종료 마스터시험종료 3. 실행시간오류 * (Runtime Error) 검출 정적시험 SW 통합시험 수행종료계획설계 ( 기본 ) 정적시험 SW 통합시험 체계통합시험설계 ( 상세 ) 수행 종료 수행 종료 정적시험 SW 단위시험 수행종료계획설계 ( 기본 ) 정적시험 SW단위시험설계 ( 상세 ) 14/20 수행 종료 정적시험 SW 단위시험 SW 통합시험설계 ( 상세 ) 수행 종료 수행 종료 1. 코딩규칙 * 검증 2. 코드실행율 * 확인
2) 소프트웨어시험성과지표선정 III. 본론 ISO/IEC 9126 의기능성과유지보수성, 신뢰성의부특성의지표를해석하여무기체계에적합한성과지표로다음과같이재정의함. 특성성과지표명측정공식측정시기 기능성 요구사항커버리지 TC로확인된요구사항수 / 전체요구사항수 소프트웨어통합시험체계통합시험 [ ISO/IEC 9126 ] 통합및선정 신뢰성 유지보수성 결함밀도결함조치율테스트커버리지테스트성숙성구문커버리지소스코드주석율코딩표준준수율복잡도 발생결함수 / KLOC 소프트웨어단위시험조치결함수 / 발생결함수소프트웨어통합시험수행된 TC / 계획된 TC 체계통합시험 Pass된 TC / 계획된 TC TC 수행시코드수행비율주석라인 / 총라인위반코딩룰 / 계획된코딩룰소프트웨어단위시험 (Cyclomatic 함수내조건문 + 1 Complexity) [ ISO/IEC 25000 ] 상호운용성상호운용성에대한요구사항수요구사항커버리지 / 전체요구사항수소프트웨어통합시험상호운용성표준적합성표준적합성에대한요구사항수체계통합시험요구사항커버리지 / 전체요구사항수 시험성과지표명세서상세정의 15/20
3) 시험성과지표관리방안 (1/2) III. 본론 주간업무보고서에지표측정내용을추가하여진행사항을관리하고, 전체시험이종료된후에시험결과서에해당사항을종합하여분석하도록함. 주간업무보고서 시험결과서 특성 지표명 목표 실측 기능성 요구사항커버리지 100% 98% 결함밀도 ( 건 /KLOC) 6.2 5.2 결함조치율 100% 94% 신뢰성 테스트커버리지 100% 100% 시험성과지표추가 유지보수성 테스트성숙성 90% 86% 구문커버리지 90% 95% 소스코드주석율 30% 이상 31% 코딩표준준수율 100% 96% 복잡도 (Cyclomatic complexity) 20 이하 15 상호운용성 상호운용성요구사항커버리지표준적합성요구사항커버리지 NA NA NA NA 16/20
4) 각시험성과지표별측정환경 (1/2) III. 본론 각각의시험성과지표별로다음과같은측정방법및사용하는도구가있음. 특성지표명측정방법 출처 ( 자동화도구 ) 화면예시 기능성 요구사항커버리지 요구사항문서류 (SRS 등 ) 에식별된요구사항개수와시험단계에이를검증한개수와의비율로측정함 요구사항문서 (IBM DOORS 9.2) 결함밀도 ( 건 /KLOC) 결함조치율 시험단계에발생한결함의개수를측정하고, 이를해당 SW LOC 를통하여측정함 발생한결함과조치한결함을개수와의비율을측정함 결함관리대장 (HP Quality Center 11.00) 신뢰성 테스트커버리지 테스트성숙성 전체테스트케이스대비수행한테스트케이스의비율로측정함 전체테스트케이스대비성공한테스트케이스의비율로측정함 테스트설계명세서 (Jama Contour 3.5.2) 구문커버리지 전체소스코드의대비수행 ( 테스트된 ) 한소스코드의비율로측정함 단위시험결과보고서 (VectorCAST 6.0) 17/20
4) 각시험성과지표별측정환경 (2/2) III. 본론 각각의시험성과지표별로다음과같은측정방법및사용하는도구가있음. 특성지표명측정방법 출처 ( 자동화도구 ) 화면예시 소스코드주석율 소스코드주석율확인도구를통하여전체 LOC 대비주석에대한비율을측정함 소스코드 (SLOC Metrics 3.0.5) 유지보수성 코딩표준준수율 사내에정의된소프트웨어코딩규칙에따라소스코드가작성되었는지를자동화도구를통하여점검하여측정함. 소스코드 (QAC 8.0 /QAC++ 3.0) 복잡도 (Cyclomatic complexity) 각함수별복잡도 ( 조건문 +1) 을자동화도구를통하여점검하여측정함. 소스코드 (QAC 8.0 /QAC++ 3.0) 18/20
5) 프로젝트적용사례 III. 본론 TMMi 인증심사시 5 개의프로젝트에적용하여시험성과지표및이를기반으로테스트설계명세서와결함등의추적성관리내용을입증함. 마스터시험계획서의성과지표정의 시험진행중간보고서성과지표기록 결함관리대장 테스트설계명세서 19/20
Ⅵ. 결론 소프트웨어품질측정과관련된기존의연구는대부분품질지표를정의하고, 체크리스트를기반으로전문가들의검토를통한정성적인측정방법을사용하였으나특히본논문에서는시험단계에객관적으로측정할수있는성과지표를정의하여시험단계에적용하므로시험에대한진척현황과함께소프트웨어의품질을예측할수있는기반을마련함. 기존의연구에서연구한품질지표를바탕으로시험단계에성과지표를정의하였으나소프트웨어가개발되고난이후부터적용이가능하기때문에소프트웨어요구사항분석및설계과정에서소프트웨어품질측정은기존의방법을유지해야하는한계를가짐. 본연구와관련하여향후소프트웨어개발단계에서는품질지표를정의하여 시험단계와의연계를통한통합적인소프트웨어품질지표모델을연구할계획임. 20/20
References 1) ISO/IEC 9126, Information Technology Software Quality Characteristics and metrics-part 1,2,3. 2) ISO/IEC 25000 (Software and System engineering: Software product Quality Requirements and Evaluation(SQuaRE) - Guide to SQuaRE), 2005. 10, FDIS 3) CMMI for Development, Version 1.3 4) TMMi Framwork v4.0, TMMi Foundation, 2012 5) 방위사업청, " 무기체계내장형소프트웨어획득및관리실무지침서 ", 2011
[ 첨부 ] ISO/IEC 9126 으로부터시험성과지표도출 이와같이 ISO/IEC 9126 의부특성별로설정된지표를검토하여이를조직 에서사용하는용어로정제하고, 시험을하면서필수적으로측정가능한항 목만도출하여성과지표를선정함.
[ 첨부 ] 시험성과지표명세서 (1/3) 측정지표 요구사항커버리지 범위 0.0 ~ 단위 개 / 개 산출공식 A / B * 100 측정항목 A 테스트케이스로확인된요구사항수 단위 개 정 의 B SRS에정의된요구사항수 단위 개 측정항목 A 테스트케이스 출 처 B 소프트웨어요구사항명세서 요구분석 설계 구현 / 제작 SW/HW 시험 측정단계 통합시험 체계시험 인수시험 개발시험 운용시험 프로젝트종료 - - - - 측정지표소프트웨어결함조치율범위 0.0 ~ 단위 % 산출공식 A / B * 100 측정항목정의 측정항목출처 측정단계 A 조치된결함수단위개 B 시험결함건수단위개 A B 프로젝트결함관리대장 프로젝트결함관리대장 요구분석설계 구현 / 제작 SW/HW 시험 통합시험체계시험인수시험개발시험 운용시험프로젝트종료 - - - - 측정지표테스트커버리지범위 0.0 ~ 단위 % 산출공식 A / B * 100 측정항목정의 측정항목출처 측정단계 A 수행된테스트케이스수단위개 B 계획된테스트케이스수단위개 A B 테스트케이스, 시험일지 테스트케이스 요구분석설계 구현 / 제작 SW/HW 시험 통합시험체계시험인수시험개발시험 운용시험프로젝트종료 - - - -
[ 첨부 ] 시험성과지표명세서 (2/3) 측정지표테스트성숙성범위 0.0 ~ 단위 % 산출공식 A / B * 100 측정항목정의 측정항목출처 측정단계 A Pass 된테스트케이스수단위개 B 계획된테스트케이스수단위개 A B 테스트케이스, 시험일지 테스트케이스 요구분석설계 구현 / 제작 SW/HW 시험 통합시험체계시험인수시험개발시험 운용시험프로젝트종료 - - - - 측정지표구문커버리지범위 0.0 ~ 단위 % 산출공식 측정항목정의 측정항목출처 측정단계 A Statement 커버리지단위 % A A - 단위 - 소프트웨어동적시험자동화도구 요구분석설계 구현 / 제작 SW/HW 시험 통합시험체계시험인수시험개발시험 운용시험프로젝트종료 - - - - - 측정지표주석율범위 0.0 ~ 단위 % 산출공식 A / B * 100 측정항목정의 측정항목출처 측정단계 A 주석라인수단위 LOC B 총라인수단위 LOC A B 소프트웨어소스코드 소프트웨어소스코드 요구분석설계 구현 / 제작 SW/HW 시험 통합시험체계시험인수시험개발시험 운용시험프로젝트종료 - - - -
[ 첨부 ] 시험성과지표명세서 (3/3) 측정지표코딩표준준수율범위 0.0 ~ 단위 % 산출공식 X=(1-R/Rt) * 100 측정항목정의 측정항목출처 측정단계 R 위반한코딩룰수단위개 Rt 계획된코딩룰수단위개 A B 프로젝트결함관리대장 프로젝트결함관리대장 요구분석설계 구현 / 제작 SW/HW 시험 통합시험체계시험인수시험개발시험 운용시험프로젝트종료 - - - - 측정지표수정복잡도범위 0.0 ~ 단위 - 산출공식 X=(1-R/Rt) * 100 측정항목정의 측정항목출처 측정단계 A Cyclometric Complexity 단위 - - - 단위 - A 소프트웨어소스코드 - - 요구분석설계 구현 / 제작 SW/HW 시험 통합시험체계시험인수시험개발시험 운용시험프로젝트종료 - - - -