목차

TestCase Generator

개요

TestCase Generator는 테스트케이스의 자동 생성을 지원하는 Eclipse IDE 플러그인으로서, 전자정부 표준 프레임워크의 아키텍처 Tier별 테스트케이스 템플릿 생성과 각종 상황별 테스트케이스에 대한 코드블럭의 예시를 제공한다.

설명

TestCase Generator는 트리 뷰(Tree View)형태의 플러그인으로, TestCase Templates 플러그인과 한 세트로 구성되어 동작한다.
TestCase Templates 플러그인은 개별 프로젝트에서 독자적으로 구성하여 배포할 수 있도록 파일 시스템 형태로 제공된다.

TestCase Generator 플러그인의 구성은 다음과 같다.

TestCase Generator 구성

환경설정

Eclipse 플러그인 업데이트를 이용하여, TestCase Generator 플러그을 설치한다.

  1. Eclipse 메뉴에서, 'Help' > 'Software Updates…' 선택
    Software Updates 메뉴
  2. Software Updates and Add-ons 팝업 창에서, Available Software 탭 선택
  3. 'Add Site…' 버튼을 클릭하여 전자정부 프레임워크 플러그인 업데이트 사이트(http://192.168.100.16:8080/egovframework/update) 추가
    플러그인 업데이트 사이트 추가
  4. 전자정부 프레임워크 플러그인 목록에서 TestCase Generator 플러그인과 TestCase Templates 플러그인을 선택, 'Install…' 버튼 클릭
    TestCase Generator와 TestCase Templates 플러그인 선택, 설치
  5. 화면 안내에 따라, 설치 후 Eclipse 재기동

설치 후, 추가적인 환경설정 없이 바로 사용할 수 있다.

사용법

TestCase Generator 뷰 열기

Eclipse IDE에서 TestCase Generator 뷰를 열어보고, 기본적인 사용법을 알아본다.

코드블럭 조회/사용하기

템플릿 목록에서 '코드블럭 조회' 아이콘 모양의 아이콘으로 표시된 항목들이 코드블럭으로 조회할 수 있는 것들이며, 해당 항목을 더블 클릭하거나, 오른쪽 버튼 클릭하면 나타나는 컨텍스트 메뉴에서 'Open Wizard'를 선택하여 코드블럭 조회 창을 띄울 수 있다. 코드블럭 조회 창은 다음과 같은 항목으로 구성된다.
코드블럭 조회 창 구성

창의 상단에 선택한 테스트케이스 템플릿 항목에 대한 간단한 설명이 출력되며, 해당 테스트케이스 템플릿에 포함된 코드블럭의 목록을 콤보박스 형태로 조회할 수 있다. 콤보박스에서 코드블럭 목록을 변경 선택하면, 중앙의 텍스트 상자에 선택한 항목의 코드블럭이 표시된다.
코드블럭 목록 조회

'Copy to Clip' 버튼을 클릭하여 조회한 코드블럭을 클립보드에 복사하고, 원하는 파일을 Eclipse IDE Editor나 외부 편집기 등으로 열어 적당한 위치에 Ctrl+v 로 붙여넣는다.

테스트케이스 템플릿 생성하기

템플릿 목록에서 '테스트케이스 템플릿 생성' 아이콘 모양의 아이콘으로 표시된 항목들이 테스트케이스 템플릿을 생성할 수 있는 것들이며, 코드블럭 조회와 동일한 방식으로 해당 항목을 더블 클릭하거나 오른쪽 버튼 클릭하면 나타나는 컨텍스트 메뉴에서 'Open Wizard'를 선택하여 테스트케이스 템플릿 생성 마법사를 띄울 수 있다.
테스트케이스 템플릿 생성으로 제공되는 템플릿의 종류는 전자정부 표준 프레임워크의 코어인, Spring 프레임워크의 MVC1) 각 티어 별로 하나씩의 유형이 제공되며 그 목록은 다음과 같다.

각 유형별 테스트케이스 템플릿 생성 방법은 다음과 같다.


Service 인터페이스 테스트케이스 템플릿

Service TestCase Generator 마법사는 다음 그림과 같은 항목으로 구성된다.
Service TestCase Generator 마법사 구성
다음과 순서로 대상 서비스의 테스트케이스를 생성할 수 있다.

  1. 대상 Service 선택
    • Service TestCase Generator 마법사 창에서, 대상 Service 항목의 Interface/Class 텍스트박스 오른쪽의 Browse 버튼을 클릭하여 Java Element Select 창을 띄운다.
    • Java Element Select 창의 Select Class 텍스트박스에서 대상 Service의 이름을 타이핑 한다.
    • 이름을 타이핑 할 때마다 텍스트박스 아래쪽에, 해당하는 Java 클래스와 인터페이스들이 검색되어 조회된다.
      Java 클래스/인터페이스 조회
    • 목록에서 원하는 Service의 인터페이스를 선택한 후, OK 버튼을 클릭하여 대상 Service 선택을 종료한다.
      대상 Service 선택
  2. 생성할 테스트케이스 템플릿의 패키지 선택
    • Service TestCase Generator 마법사 창에서, 생성할 TestCase 항목의 Package 텍스트박스 오른쪽의 Browse 버튼을 클릭하여 Project Selection 창을 띄운다.
    • Project Selection 창에서, 테스트케이스 템플릿을 생성할 프로젝트를 선택하고, OK 버튼을 클릭한다.
    • 선택한 프로젝트에 대한 Source folder Selection 창에서, 테스트케이스 템플릿을 생성할 디렉터리 위치를 선택하고, OK 버튼을 클릭한다.
      대상 프로젝트/소스 디렉터리/패키지 선택
    • 선택한 디렉터리에 대한 Package Selection 창에서, 테스트케이스 템플릿을 생성할 패키지를 지정하고, OK 버튼을 클릭하여 Package 선택을 종료한다.
      생성할 테스트케이스 템플릿 패키지 선택
  3. 생성할 테스트케이스 템플릿의 데이터소스 이름 설정 (선택 사항)
    • 테스트케이스에서 데이터소스를 사용할 경우에 해당 데이터소스의 이름을 생성할 TestCase 항목의 DataSource Resource Name 텍스트박스에 입력한다.

필수 항목(1번, 2번 절차)을 모두 설정하게 되면 Finish 버튼이 활성화되며, Finish 버튼을 클릭하여 Service에 대한 테스트케이스를 생성한다.


ServiceImpl 클래스 테스트케이스 템플릿

ServiceImpl TestCase Generator 마법사는 다음과 같은 항목으로 구성된다.
ServiceImpl TestCase Generator 마법사 구성
다음과 순서로 대상 서비스의 구현 클래스(ServiceImpl 클래스)에 대한 테스트케이스를 생성할 수 있다.

  1. 대상 ServiceImpl 클래스 선택
    • ServiceImpl TestCase Generator 마법사 창에서, 대상 ServiceImpl 항목의 Class 텍스트박스 오른쪽의 Browse 버튼을 클릭하여 Java Element Select 창을 띄운다.
    • Java Element Select 창의 Select Class 텍스트박스에서 대상 ServiceImpl 클래스의 이름을 타이핑 한다.
    • 이름을 타이핑 할 때마다 텍스트박스 아래쪽에, 해당하는 Java 클래스와 인터페이스들이 검색되어 조회된다.
    • 목록에서 원하는 ServiceImpl 클래스를 선택한 후, OK 버튼을 클릭하여 대상 ServiceImpl 클래스 선택을 종료한다.
      대상 ServiceImpl 선택
  2. 생성할 테스트케이스 템플릿의 패키지 선택
    • ServiceImpl TestCase Generator 마법사 창에서, 생성할 TestCase 항목의 Package 텍스트박스 오른쪽의 Browse 버튼을 클릭하여 Project Selection 창을 띄운다.
    • Project Selection 창에서, 테스트케이스 템플릿을 생성할 프로젝트를 선택하고, OK 버튼을 클릭한다.
    • 선택한 프로젝트에 대한 Source folder Selection 창에서, 테스트케이스 템플릿을 생성할 디렉터리 위치를 선택하고, OK 버튼을 클릭한다.
    • 선택한 디렉터리에 대한 Package Selection 창에서, 테스트케이스 템플릿을 생성할 패키지를 지정하고, OK 버튼을 클릭하여 Package 선택을 종료한다.
      생성할 테스트케이스 템플릿 패키지 선택

필수 항목(1번, 2번 절차)을 모두 설정하게 되면 Finish 버튼이 활성화되며, Finish 버튼을 클릭하여 ServiceImpl에 대한 테스트케이스를 생성한다.


DAO 클래스 테스트케이스 템플릿

DAO TestCase Generator 마법사는 다음과 같은 항목으로 구성된다.
DAO TestCase Generator 마법사 구성
다음과 순서로 대상 DAO에 대한 테스트케이스를 생성할 수 있다.

  1. 대상 DAO 선택
    • DAO TestCase Generator 마법사 창에서, 대상 DAO 항목의 Class 텍스트박스의 Browse 버튼을 클릭하여 Java Element Select 창을 띄운다.
    • Java Element Select 창의 Select Class 텍스트박스에서 대상 DAO의 이름을 타이핑 한다.
    • 이름을 타이핑 할 때마다 텍스트박스 아래쪽에, 해당하는 Java 클래스와 인터페이스들이 검색되어 조회된다.
    • 목록에서 원하는 DAO 클래스를 선택한 후, OK 버튼을 클릭하여 대상 DAO 선택을 종료한다.
      대상 DAO 선택
  2. 생성할 테스트케이스 템플릿의 패키지 선택
    • DAO TestCase Generator 마법사 창에서, 생성할 TestCase 항목의 Package 텍스트박스 오른쪽의 Browse 버튼을 클릭하여 Project Selection 창을 띄운다.
    • Project Selection 창에서, 테스트케이스 템플릿을 생성할 프로젝트를 선택하고, OK 버튼을 클릭한다.
    • 선택한 프로젝트에 대한 Source folder Selection 창에서, 테스트케이스 템플릿을 생성할 디렉터리 위치를 선택하고, OK 버튼을 클릭한다.
    • 선택한 디렉터리에 대한 Package Selection 창에서, 테스트케이스 템플릿을 생성할 패키지를 지정하고, OK 버튼을 클릭하여 Package 선택을 종료한다.
      생성할 테스트케이스 템플릿 패키지 선택
  3. 생성할 테스트케이스 템플릿의 데이터소스 이름 설정 (선택 사항)
    • 테스트케이스에서 데이터소스를 사용할 경우에 해당 데이터소스의 이름을 생성할 TestCase 항목의 DataSource Resource Name 텍스트박스에 입력한다.

필수 항목(1번, 2번 절차)을 모두 설정하게 되면 Finish 버튼이 활성화되며, Finish 버튼을 클릭하여 DAO에 대한 테스트케이스를 생성한다.


샘플

참고자료

JUnit Test Case의 작성과 실행

1) Model-View-Controller: 소프트웨어 공학에서 사용되는 아키텍처 디자인 패턴 중의 하나로, 사용자 인터페이스와 비즈니스 로직의 효과적인 분리 목적으로 많이 사용함
2) Data Access Object: 데이터베이스에 대한 추상화된 인터페이스를 제공하는 객체