소프트웨어검증 J F JFeature REQUIREMENT COVERAGE TOOL 장범석서재원박동현
순서 1. JFeature 소개 2. JFeature 사용 3. JFeature VS OSRMT 4. 프로젝트적용방안
1. JFeature 소개
1. JFeature 소개 JFeature Feature/requirement coverage tool 개발하는코드에해당하는요구사항에초점 다음의 2 단계로동작 IDE환경에요구사항을작성하거나불러온다. 개발된테스트코드와요구사항을매칭시킨다.
1. JFeature 소개 주요특징 개발중간에요구사항에맞는기능을확인할수있다. 이클립스플러그인 : 요구사항을편리하기관리는편집창과요구사항에대한코드의커버리지를볼수있는뷰를제공한다. Junit과연동하여요구사항에대한 break, no coverage등과같이요구사항커버리지에대한자세한보고서를제공한다. 커스텀 Ant :Ant 과연동하여자동화된빌드에맞춰서전체프로젝트에대한요구사항커버리지를만들어낼수있다. Round trip engineering : 프로젝트진행중간에외부요구사항파일과 JFeature 의요구사항파일을동기화시킨다. 리펙토링 : 단위테스트의변경에따라서요구사항파일을최신상태로유지한다. CSV, XML 파일로부터요구사항을추출한다. 테스트메소드에디터를통해서요구사항에맞는테스트메소드를정의한다. 요구사항셀렉터를통해서요구사항간의의존성을정의한다.
2. JFeature 사용
2. JFeature 사용 설치과정 설치환경 Java 2 Platform Standard Edition (J2SE) 1.5 or higher Eclipse 3.3, 3 3.4 ANT 1.6.2 (for JFeature ANT task) ( 선택 )
2. JFeature 사용 설치과정 Installation of JFeature Eclipse Plugin JFeature를다운로드받은후 Eclipse 폴더에서 Plugins 디렉토리에압축을해제한다.
2. JFeature 사용 설치과정 Installation of JFeature Eclipse Plugin Eclipse를시작하고 Window->Show View->Other 에서 Jfeature 를선택하면 Jfeature 창을볼수있다.
2. JFeature 사용 사용방법 프로젝트에서 New->Other -> Jfeatrue -> Jfeature Rquirements File을통해새요구사항파일을생성한다. 요구사항이적용될프로젝트를선택하고요구사항파일명을입력한다.
2. JFeature 사용 사용방법 상단에추가된메뉴를이용해요구사항을입력한다.
2. JFeature 사용 사용방법 Import -> Other -> Import Requirements 를통해 CSV 혹은 XML 파일을통해요구사항을입력할수도있다.
2. JFeature 사용 사용방법 작성된요구사항파일을프로젝트와연결한다. Properties -> Jfeature -> Associate Requirements File 클릭후요구사항파일을선택한다.
2. JFeature 사용 사용방법 프로젝트에대한 Junit 테스트를수행한다.
2. JFeature 사용 사용방법 Report 창오른쪽상단의버튼을통해 Coverage 를확인한다.
2. JFeature 사용 Requirement Coverage Report Junit을이용한단위테스트후에볼수있다. 3 섹션으로구성되어있다.
2. JFeature 사용 Requirement Coverage Report All Categories 모든카테고리에대한내용을볼수있다. 각카테고리에대한테스트의성공률을볼수있다. All Requirements 모든요구사항에대한내용을볼수있다. 각요구사항에대한테스트의성공률을볼수있다. 클릭하면해당요구사항에대한자세한내용을볼수있다.
2. JFeature 사용 Requirement Coverage Report Requirement Coverage Summary 현재커버리지범위에대한내용을 successful, broken,no coverage 3가지로나누어서비율로표시한다. Requirement Coverage Details 현재커버리지범위에대한자세한내용을표시한다. 커버리지아이템혹은테스트메소드의이름을표시하고해당테스트에대한성공비율을표시한다.
2. JFeature 사용 Overview Statistics Number of Requirements 현재커버리지아이템과서브카테고리에대한요구사항의수를나타낸다. Unique Test Methods 현재커버리지아이템과서브카테고리에대한테스트메소드의수를나타낸다. Requirements:Test Methods Ratio 요구사항에대한테스트메소드의비율을나타낸다. 요구사항의비율이테스트메소드보다높을경우해당요구사항이제대로테스트되지못하였음을의미한다. Missing Test Methods 해당커버리지아이템혹은허브커버리지아이템에등 록되어있는메소드중에수행되지못한메소드가있음을뜻한다. 메소드명에대한오타등으로인하여발생할수있다. Unmapped Test Methods 단위테스트를통해수행된테스트메소드중에해다요구사항과매칭되지못한테스트의수를나타낸다. 클릭을통해해당메소드를볼수있다.
3. JFeature VS OSRMT
3. JFeature VS OSRMT OSRMT Open Source Requirements Management Tool 특징, 요구사항, 설계, 구현, 테스팅등의 SDLC에대한요구사항을관리하고추적할수있도록디자인되었다. 서버 / 클라이언트구조를통해다수의개발자 ( 설계자 ) 간, 혹은개발자 ( 설계자 ) 와의뢰자의의견교환을빠르고정확하게할수있다. WEB을통해데이타베이스의내용에접근할수있다.
3. JFeature VS OSRMT OSRMT 세부적인요구사항관리 요구사항의버전, 우선순위, 복잡도등여러정보를확인하고관리할수있습니다.
3. JFeature VS OSRMT OSRMT 요구사항추적 Trace From 과 To 의 Artifact 를설정하고 Trace Type 을설정하면추적정보를확인할수있다. 선택한요구사항이추적유무및추적매트릭스를확인할수있다.
3. JFeature VS OSRMT OSRMT 요구사항추적 지정된요구사항의추적성을알기쉽게그림으로표현해준다
3. JFeature VS OSRMT OSRMT 요구사항변경추적 지정된요구사항의변경내역을관리할수있다.
3. JFeature VS OSRMT OSRMT 서버 / 클라이언트모델 서버 / 클라이언트운영을통해서여러사용자가같은요구사항문서를관리하고확인할수있다.
3. JFeature VS OSRMT JFeature 와 OSRMT 의비교 분야 JFeature OSRMT 플랫폼 Eclipse Plug-in 독립플랫폼 언어 JAVA 에제한적언어에독립적 자동화 요구사항에대한테스트케이스연동요구사항입력 요구사항변경에대한추척관리 사용자수개인다수 비용무료 + 상용무료 보고서제공제공
4. 프로젝트적용방안
4. 프로젝트적용방안 CTIP 과 JFeature Subclipse 혹은 Subversion을이용해서형상관리솔루션내에서 JFeature의요구사항목록을유지할수있도록한다. Ant 빌드와연동하여지속적으로소프트웨어의요구사항커버리지를유지할수있도록한다.
5. 의문점
5. 의문점 Unit 테스트와요구사항커버리지 일반적인개발프로세스 요구사항분석및추출 -> 설계 -> 개발 요구사항에대한커버리지는설계단계에서의이슈이다. 개발단계인단위테스트시에궂이요구사항커버리지를다시측정하는이유는? 개발단계에서는설계대로구현되었는지에대한검증 (Verification) 만수행하면되지않을까? 설계문서 요구사항추출및검증 설계구현및검증 의뢰자개발자 ( 테스터 ) 요구사항에대한검증