 |
|
난이도 : 중급 Carrie Song, Software Engeineer and Test Team Lead, IBM
2008 년 9 월 02 일 본 글은 IBM® Rational® Team Concert®와 IBM® Rational® ClearQuest®를 사용해 테스트 자산을 관리하는 두 가지 방법을 설명합니다. Team Concert에는 통합된 업무 항목, 소스 제어, 빌드 관리 지원, 소규모 및 중간 규모 팀을 위한 완벽한 최적화 등이 있습니다. 이는 2008년 초기에 IBM Rational이 소개한 Jazz 기술 플랫폼을 기반으로 한 첫 제품입니다. Jazz는 상용이지만 소프트웨어 개발 생명주기 전반에서 매끄럽게 통합되는 확장성 있는 팀 협업을 위한 오픈 소스이기도 합니다.
Jazz 팀 협업 플랫폼 소개
모두에게 익숙하듯 협업은 소프트웨어 개발의 핵심이다. 팀에서 소프트웨어를 개발한다는 것은 재즈 밴드나 오케스트라에서 연주를 하는 것과 같다. 이는 모두 협업의 균형과 기교를 요구한다. 그래서 IBM® Rational®이 협업적 소프트웨어 개발 및 전달용 차세대 기술 플랫폼인 Jazz를 만든 것이다. Jazz는 이클립스 플랫폼에서 만들어지며 도구의 통합된 세트를 제공함으로써 팀 내의 협업을 향상시킨다. Jazz 기술은 소프트웨어 개발 프로젝트와 관련된 사람, 프로세스, 자산을 역동적으로 통합, 동기화하는 확장성 있는 프레임워크라고 생각할 수 있다
Jazz 플랫폼 아키텍처
그림 1은 Jazz 아키텍처의 개요를 보여준다. 플랫폼은 클라이언트-서버 아키텍처를 기반으로 한다. Jazz 서버(일반적으로 J2EE(Java™ 2 Platform, Enterprise Edition) 버전 1.4 규격의 애플리케이션 서버)는 프로세스 제어와 협업용 주요 서비스와 데이터 세트를 호스트한다.
원격 클라이언트는 많은 폼에서 오고 네트워크를 통해 Jazz 서버와 커뮤니케이션을 한다. 주 UI(user interfaces)는 이클립스 기반 IDE(integrated development environment)로 Rational® Team Concert와 웹 브라우저라 불린다. 이 UI들을 통해 팀 내에서 어떤 일이 진행되고 있는지와 모든 프로젝트 작업이 어떻게 진행되고 있는지를 볼 수 있다.
그림 1. Jazz 플랫폼 아키텍처
Jazz의 주요 기능
Jazz 플랫폼은 애플리케이션의 협업 기반을 제공하는 기능의 풍부한 세트를 제공한다.
팀 인식과 자동화
프로젝트 팀은 작업하는 항목의 컨텍스트에서 직접 협업할 수 있으며 변경이나 작업에 영향을 주는 이벤트를 자동으로 보고받을 것이다.
프로세스 인식과 자동화
맞춤화된 프로젝트 프로세스는 팀의 작업 흐름을 안내하고 프로세스 단계와 검사점(checkpoint)을 자동화한다.
확장성 있는 인프라
Jazz 플랫폼 클라이언트와 서버는 모두 공개 웹 표준과 이클립스 플러그인 확장성 인프라를 기반으로 하고 추가 플러그인으로 확장될 수 있다.
협업 기능
Jazz는 챗이나 이벤트 로그(event log)같은 협업 기능을 제공해 팀의 유대를 높인다.
커넥터 프레임워크
프레임워크는 Jazz를 IBM Rational ClearCase나 IBM Rational ClearQuest 같은 여타 소스 제어 및 변경 관리 시스템과 통합함으로써 이상적인 소프트웨어 전달 플랫폼을 조합하는 데 유연성을 향상시킨다.
Rational Team Concert에서 테스트 관리 옵션
이 예들에서 쓰이는 모든 Jazz는 Jazz 리치 클라이언트인 Rational Team Concert에서 보이며 이클립스 플랫폼 기반이다. Team Concert는 사용자들에게 Jazz와 인터랙트해 프로젝트 작업을 수행하고 다른 팀과 협업할 수 있도록 몇 가지 UI와 서비스를 제공한다. 이클립스 플러그인을 통해 UI와 기능을 확장할 수 있다.
이 예들에서는 다음 버전을 사용한다.
- Jazz Team Server 1.0 베타 2
- Rational Team Concert 1.0 베타 2
- Jazz ClearQuest Connectors 0.6 베타 2a
본 글에서는 Jazz 설치와 구성에 대해 다루지 않는다. Jazz 환경 설치 및 설정을 원한다면 Jazz 다운로드 사이트에서 소프트웨어 패키지와 설치 가이드를 받을 수 있다.
이 글의 예들은 Jazz 플랫폼을 사용해 테스트 관리를 하는 두 가지 방법을 설명한다.
- Rational Team Concert만 사용
- Rational Team Concert와 IBM Rational ClearQuest 통합
이 예들이 테스트 부분에 초점을 두긴 하지만 Jazz로 협업해 관리 프로젝트를 수행하는 것이 얼마나 쉬운지 알 수 있을 것이다.
옵션 1. Rational Team Concert만 사용하기
 |
"작업 항목(work-items)"에 대해
이 예들에서 자주 사용하는 용어가 작업 항목(work item)이다. 작업 항목은 Jazz의 일반적인 개념으로 수행해야 하는 프로젝트 업무나 작업을 정의하는 것이다. 프로젝트에는 매우 다양한 작업 항목 유형이 있다. 개발 작업, 수정해야 할 결함, 강화해야 할 점이나 처리 과정 내의 강화 등이 그 유형이다. Jazz에서 자신만의 작업 항목 유형을 정의할 수 있다. 프로젝트 영역의 컨텍스트에 존재하는 모든 작업 항목은 프로젝트 영역과 관련된 프로세스에 의해 관리된다.
|
|
테스트를 관리하는 첫 번째 방법은 테스트 계획을 수립하는 기능을 사용하고 테스트 케이스를 만들고 부여하며 결함을 보고, 추적함으로써 모든 Rational Team Concert 내의 관련 업무를 수행하는 것이다.
이 예에서는 Jazz 환경이 이미 설정됐고 이 프로젝트를 ABC라 부르며 팀도 이미 결정됐다고 가정하자. 두 팀에 두 명의 팀 구성원으로 역할과 작업을 설명하겠다.
-
밥, 테스트 팀의 테스터
-
잭, 개발 팀의 개발자
테스트 계획 개발 및 테스트 케이스 만들기
그림 2에서 보여주는 것처럼 테스트 계획 개발부터 시작하자. 어떤 프로젝트의 개발 반복에 관한 테스트 계획이든 만들 수 있다. 테스트 작업을 관리하고 과정을 추적할 수 있는 테스트 계획이 좋은 테스트 계획이다. Jazz에서 테스트 계획을 프로젝트가 진행하는 것으로 개발할 수 있다. 처음에는 테스트 계획에 테스트 목표, 테스트 범위 등을 포함시킬 수 있다. 그러고 나서 계획의 주 작업을 개발하고 이를 상세한 작업으로 나눈다. 테스트 계획의 작업은 팀 구성원들에게 부여한 작업 항목과 연결돼야 한다. 이 업무들을 수행하면 자동으로 계획에 반영돼 언제든 원할 때 계획이 얼마나 진척됐는지 확인할 수 있을 것이다. 예를 들어 새 테스트 케이스인 case 2005를 계획에 추가하도록 수정하고자 한다면 바로 작업 항목을 만들 수 있다.
그림 2. Rational Team Concert에서 테스트 계획 만들기
Planned Items 뷰에서 테스트 케이스의 내용과 계획된 작업 일정, 업무 우선순위, 업무 담당자를 정의할 수 있다. 변경 사항을 저장한 후 이 업무는 테스터에게 부여된다. 그림 3을 보면 예에서 test case 2005의 작업 항목 59가 테스터인 밥에게 만들어지고 부여됐음을 알 수 있다.
그림 3. Rational Team Concert의 작업 항목으로 테스트 계획 만들기
테스트 계획의 업무가 Test Plan 뷰(그림 4)의 작업 항목 59와 관련있음을 볼 수 있다. 테스트 계획의 아이템 59를 더블 클릭할 때 이 작업 항목과 관련된 상세 정보를 볼 수 있다.
그림 4. Rational Team Concert에서 테스트 계획과 관련된 작업 항목
테스트 케이스 작동시키기
이제 테스트 케이스 담당자는 자신들에게 부여된 테스트 케이스를 작업해 프로세스를 계속할 수 있다. 밥이 자신의 작업 공간에서 작업한다면 새 작업 항목이 자신에게 부여됐음을 찾을 수 있을 것이며 테스트 케이스(그림 5)를 볼 수 있을 것이다. 이 작업을 시작하면 "진행 중(In progress)"이라 표시할 수 있다.
그림 5. Rational Team Concert의 테스트 케이스 뷰
결함 관리하기
밥이 테스트 케이스를 실행하는 중에 결함을 발견하면 Team Concert에 결함 작업 항목 유형을 만들어 결함 보고를 열 수 있다. 그림 6은 Team Concert에서 결함 60을 열었을 때를 보여준다. 심각함(severity)이나 우선순위(priority) 같은 결함을 위한 많은 속성을 설정할 수 있다.
그림 6. 개발자 잭을 위한 Rational Team Concert에서 연 결함 60
그림 7처럼 결함과 관련된 테스트 케이스를 링크 뷰에서 통합하면 매우 편하다. 결함을 분석, 해결할 때 다른 이들이 테스트 케이스의 레퍼런스를 볼 수 있기 때문이다. 잭이 결함을 가진 코드를 개발하는 사람이라는 걸 알면 이 결함의 담당자를 잭으로 설정할 수 있고 이를 저장한 후에는 잭이 자신의 작업공간에서 이 결함을 작업 항목으로 볼 것이다.
그림 7. Rational Team Concert에서 결함이 테스트 케이스와 관련됐다고 표시된다.
Team Concert는 잭이 결함 작업 항목을 열 수 있다는 신호를 받을 수 있도록 많은 방법을 제시한다. 잭은 원하는 방법을 선택하면 된다. 예를 들어 Event Log, 이메일 또는 "내게 부여된" 작업 항목 내역을 확인함으로써 보고를 받을 수 있다. 결함을 수정하는 동안 자세한 내용을 보거나 코멘트를 추가하거나 진행 사항을 확인할 수 있다. 그림 8의 예에서 잭은 코멘트를 추가하고 결함이 처리됐다(Resolved)고 표시하고 작업 항목을 밥에게 보낸다.
그림 8. 개발자가 결함을 처리했다고 표시한다.
밥이 결함을 처리해 작업이 자신에게 돌아왔음을 보게 되면 결함이 제대로 고쳐졌는지 확인할 수 있다(그림 9).
그림 9. 테스터가 결함이 수리됐는지 확인하고 닫음
결함은 관련 테스트 케이스와 연관이 있으므로 Test Case 뷰(그림 10) 또한 관련된 결함이 처리되고 닫혔음을 보여준다. 그러므로 테스트 케이스가 작동하는 데 더 이상 문제가 없다.
그림 10. Test Case 뷰에 결함 처리가 완료됐음이 자동으로 표시된다.
이것으로 밥은 실행하고 있는 테스트 케이스를 되찾아 끝낼 수 있다.
작업 항목 59가 닫혔다고 표시될 때 계획 항목인 test case 2005 (59)도 그림 11처럼 Test Plan Overview 뷰에 동시에 끝났다고 표시된다. 이는 계획의 진행 상황을 따르는 데 도움이 된다.
그림 11. 관련 작업 항목이 끝날 때 Test Plan의 작업도 끝났다고 표시된다.
옵션 2. Team Concert와 IBM Rational ClearQuest 통합하기
Rational Team Concert에서는 IBM® Rational® ClearQuest®에 익숙하고 결함 관리용으로 ClearQuest를 사용해 본 테스터를 위해 ClearQuest Connector와 Item 상호 운용 컴포넌트를 제공한다. 이는 ClearQuest와 Jazz 플랫폼을 통합해 ClearQuest 기록과 Team Concert 작업 항목 간의 정보를 동기화할 수 있다. ClearQuest에 변경이 생기면 Team Concert에 자동으로 동기화될 것이고 그 반대도 마찬가지다. 이런 방법으로 ClearQuest 기록을 지속적으로 작업하면서 Jazz 플랫폼의 협업적이고 향상된 기능을 사용할 수 있다.
본 절에서는 테스트 관리에 Jazz를 어떻게 사용하는지 예를 보여주겠다.
개발자를 위해 테스터가 ClearQuest에서 결함 작업 항목을 연다
예에서 이 프로젝트의 이름은 Myproject이고 다음이 핵심 담당자다.
테스트하는 동안 앨리스는 결함을 찾는다. 그림 12처럼 일반적으로 앨리스는 밥을 위해 ClearQuest, TABC00000011에서 결함을 연다.
그림 12. ClearQuest에서 열린 TAB00000011 결함
Jazz는 자동으로 작업 항목의 결함 유형을 만든다
Jazz의 ClearQuest Connector는 ClearQuest 변경을 집계해 이 새 ClearQuest 기록을 찾고 동기화가 나타날 때 새 작업 항목을 만든다. 이 새 항목(Defect 17)은 결함 유형 작업 항목이고 속성 값은 ClearQuest 기록의 데이터와 동기화된다. 이 작업은 밥에게 부여된다. 밥이 자신의 Team Concert 클라이언트에서 작업하고 있으면 이 새롭게 열린 결함을 자신의 Work Items 뷰(그림 13)에서 새 작업 항목으로 볼 수 있을 것이다. 이를 더블 클릭하면 상세 내역을 볼 수 있고 결함을 처리할 수 있다.
그림 13. 새 작업 항목 Defect 17이 자동으로 만들어진다.
Jazz는 ClearQuest와 Rational Team Concert 간의 변경 사항을 작업 항목으로 동기화한다
ClearQuest 기록이나 Team Concert 작업 항목에 변경 사항이 생기면 자동으로 동기화될 수 있다. 그림 14와 15는 이 예를 보여준다. 밥이 작업하는 중에 만든 변경 사항을 저장하면 ClearQuest의 결함 기록은 Team Concert에서 나가는 동기화를 만드는 같은 변경 사항을 보여준다. ClearQuest Connector 속성 파일에 설정한 폴링 기간에 따라 몇 분이 걸릴 수도 있다. 이 예에서 밥이 이 결함을 분석하고 테스터로부터 더 많은 오류 로그가 필요하다는 걸 발견한다. 작업 항목에 코멘트를 추가하고 이를 저장한다.
그림 14. Rational Team Concert에서 작업 항목 17에 추가된 코멘트
동기화되면 앨리스는 ClearQuest에서 결함의 Notes 로그로 코멘트를 볼 수 있을 것이다. 결함에 오류 로그를 모으고 추가할 수 있다.
그림 15. ClearQuest에서 결함 TABC0000011의 Notes 로그로 추가된 코멘트
이 간단한 예는 ClearQuest와 Team Concert의 통합으로 테스터와 개발자가 테스트 관리에 Jazz 플랫폼을 어떻게 사용하는지 보여준다. Team Concert는 몇 가지 기능을 제공해 ClearQuest와 Jazz를 성공적으로 동기화한다. 예를 들어 작업 항목과 관련된 ClearQuest 결함에 전부 변경 사항이 생길 때 자동으로 통합하고 속성에도 변경을 가한다. 수동으로 통합을 하면 작업 항목과 관련된 ClearQuest 결함 기록 모두의 같은 속성에 영향을 주는 변경에 의한 충돌을 처리한다. 새로 출시되는 ClearQuest에서는 더 편하고 안정적으로 통합할 수 있을 것이다.
두 방법 비교
첫 번째 방법은 Jazz의 모든 기능을 사용해 Rational team Concert에서 테스트 팀에 모든 테스트와 테스트 관리를 수행하는 것이다. 그러므로 테스트팀과 개발팀 모두 프로젝트 개발에 있어 동일한 방법과 같은 플랫폼을 사용한다. 이는 프로젝트 관리에 매우 도움이 된다. Team Concert를 사용하는 것에 대해서만 교육하면 되므로 교육의 필요성이 최소화되기 때문이다. 그 결과 개발과 테스팅 간의 연결과 협업이 더 매끄럽고 효율적이다. 모든 이들이 하나의 용어와 레퍼런스 프레임을 사용하므로 정보 교환이 정확하고 명확하다.
하지만 몇 가지 테스트에 국한된 기능은 Team Concert의 현재 버전에서 현실화되지 않았다. 예를 들어 어떤 큰 프로젝트에서는 테스트 케이스가 테스트 결과를 측정하는 데 측정 단위를 사용한다. 전체 테스트 케이스가 실패하거나 통과했다고 하기 전에 얼마나 많은 테스트 케이스가 통과했고 얼마나 많은 테스트 케이스가 실패했는지를 정의해 성공적인 테스트 케이스 실행률을 보여줄 필요가 있다. 다행히 Jazz는 서버측과 클라이언트측에 모두 확장성이 있으므로 이 기능들은 Jazz를 확장, 커스터마이즈 함으로써 실현할 수 있다.
두 번째 방법에서 ClearQuest는 Team Concert와 통합, 동기화된다. 테스트팀은 ClearQuest 소프트웨어에 익숙하다면 계속 이것으로 작업할 수 있다. ClearQuest 기록과 Team Concert 작업 항목은 배경에서 Jazz에 의해 자동으로 동기화되는데 이를 통해 프로젝트팀들이 서로 협업할 수 있도록 한다. 그러므로 테스트팀은 ClearQuest의 결함 관리와 테스트 관리의 강력한 기능을 사용할 수 있으며 여기에 Jazz 플랫폼에서 제공하는 협업적으로 향상된 기능을 즐길 수 있다.
결점이 있다면 이 예들에서 사용한 ClearQuest Connector에는 아직 도구나 마법사가 설정되지 못했다는 것이다. 그러므로 다른 곳에서 수동으로 구성 작업을 해야 한다.
요약
본 글에서 테스트 관리에 Rational Team Concert를 사용하는 두 가지 방법을 설명했다.
Jazz는 테스트팀이 프로젝트 진행 과정과 동료들의 작업에 대해 알 수 있고 테스트 관리 작업을 더 신속하고 쉽고 효과적으로 수행할 수 있는 통합된 협업적 소프트웨어 개발 환경을 제공한다. IBM이 Jazz 플랫폼을 개발하고 Rational Team Concert 클라이언트 소프트웨어를 새로 출시해 더 많은 기능과 향상을 가져오는 것을 지켜보기 바란다.
참고자료 교육
제품 및 기술 얻기
토론
필자소개  | |  | Ya Jun Song은 북경에 있는 IBM China Development Lab에서 소프트웨어 엔지니어로 근무하고 있다. SOA 솔루션 테스팅에 풍부한 경험을 가지고 있고 테스트 프로세스 향상과 테스트 관리에 관심을 갖고 있다. |
기사에 대한 평가
 |
| 이 문서 북마킹 하기
|
|