티스토리 뷰

이클립스 플러그인 개발을 할 때 어떤 순서로 공부를 하면 가장 빠르게 적응 할 수 있을까?


아무것도 없는 환경에서 개발을 시작하는 것과, 어느 정도 개발이 완성된 상태에서 프로젝트 투입되는 것과는 공부를 해야하는 순서가 다를 것이다.

 나는 두 번째 상황이었기 때문에, 플젝에 하루 빨리 적용하기 위한 다음 트리를 선택했다.


# 이클립스 플러그인 개발 공부 Tree

SWT/JFace  ->  Draw2d  ->  GEF  ->  실전플러그인 개발  -> RCP 



솔루션 버전이 2.5였기 때문에 실제로 버그를 고치거나 소스를 이해하기 위해서는,

전체적인 개발환경의 이해도 중요했지만 실제 사용하는 기술들에 대해서 하루 빨리 알아야만 했다.


플젝에 있으면서 언제까지 책만 보고 있을 수는 없지 않는가...

언제까지 꿔보처럼 있으면 안되지 않겠는가....


그래서 사부 선배와 대화를 통해서 결정한 나의 첫 미션은. SWTBot을 활용한 자동화 테스트 케이스 작성!!


사부 선배님이 기능목록을 도출하면, 기능 목록을 점검하는 테스트 케이스를 작성하는 것이다.

SWTBot은 플러그인의 자동화 기능 테스트를 지원하는 플러그인이다.

웹 개발시 사용해본적 있는 Selenium과 유사한 툴이었다.


처음 시작하는 시점에는 사실 부정적이었다. 이전에 계속 SI플젝만 수행하며서 TDD도 잘 해보지 못했고, 이론적으로는 테스트케이스의 작성이 중요하다는 것을 인지하면서도, 왠지 계속 쩌리인 것 같은 그런 기분이 들었다.

하지만 현실적으로 내가 당장 할 수 있는 일은 이 역할말고 없었다..


SWTBot은 유용한 툴이기는 하지만 한계가 존재했다.

  - 참고 가능한  Reference가 대부부 간단한 기능에 국한, 자료 부족

  - Nebula 플러그인은 미지원, PGroup 테스트를 하기 위해서는 SWTBotNebula를 직접 만들어야 했다.

  - Gef Palette를 테스트 하는데 어려움


결론적으로, 자동화 테스트 케이스 작성은 작전 성공이라 생각한다.


SWTBot 사용한 테스트케이스 작성이 성공인 이유는?

 1. 기존 소스 파악이 용이

   - 애자일에서는 일을 효율적으로 하기 위해서는 일을 최대한 잘게 쪼개서 하라고 하지 않는가..

   - 처음에는 어느 부분부터 소스를 까봐야 하는지 두려움이 있는데, 테스트 케이스를 작성하면서 작은 기능부터

   시작해서 소스를 까봐야 하기 때문에 접근이 용이한 장점이 존재한다. 


 2. SWT, Draw2d, GEF에 대한 이해 가능

   - 책을 통해 공부를 하는 경우, 너무 범위가 넓어 어떤 것부터 해야할지 망설여진다.

   - SWTBot을 상황에 따라 잘 사용하기 위해서는 SWT, GEF에 대한 파악이 필요하다.

     그리고 Draw2d의 경우 미지원하지만 Gef를 이해하기 위해서는 Draw2d에 대한 선행 파악이 필요하다.


 3. 빠른 피드백을 통한 자신감 회복

   - 이클립스 플러그인 개발 관련 경험이 없는 경우, 프로젝트에 투입되어 갑자기 개발하게 되면, 분명 한번은 멘붕을

     겪을 것이다. 어떤 것부터 공부를 해야할지도 모르겠고, 정작 알게되더라도 알아야하는 것들이 너무 많다.

     관련 자료는 왜 이리 부족한지...ㅠㅠ 녹록하지 않은 상황임이 분명하다.

   - SWTBot을 통해서 테스트 케이스를 작성을 하면 기능 개발보다 쉽게 성과를 확인할 수 있다.

    따라서 모든 것이 낯선 환경에서 자신감을 회복을 통한 빠른 적응이 가능하게 하는 것 같다.


원래 멘탈이 강한 사람은 뭘 해도 잘 할 것이다. ㅎㅎ

범인이 플러그인 개발자로 거듭나기 위해서 SWTBot을 활용하여 테스트 케이스를 작성해보기를 추천한다.

물론 그 과정이 마냥 쉽지는 않을 것이다.

관련 자료도 부족하고.. SWT, JFace, Draw2d, GEF등 알아야 하는 것들도 많은데, 이런 것들도 모르는 상황에서 테스트 케이스를 작성하라니..


하지만 잘 동작하는 테스트 케이스를 작성하면서, 자신감이 생기고,

처음에는 무엇을 해야할지 몰랐지만, 스스로 필요한 부분이 무엇인지를 찾아가는 나를 발견할 수 있을 것이다.





댓글