BONDI 2nd TestFest 를 다녀와서

05/25/2010

Windsor !

저번에는 런던 센터였지만, 이번에는 서쪽으로 좀 떨어진 윈저에서 같은 회사 Test Leader 이신 Chris님과 함께 BONDI TestFest를 아래와 같이 3일간  진행하였습니다. (추가 2일은 WAC 미팅)

Day 1

그 동안 메일로 오고간 정황상, BONDI 1.11을 위한 RI는 어느정도 완료되었고, 따라서 그에 따른 Test 만 잘 수행할 수 있다면 된다고 생각했었다.

하지만 역시, 그렇지는 않았다. 설상가상으로 오전 11시까지는 인터넷(WiFi) 설정도 안되었으니 말이다.

이 번 TestFest의 소개와 업무 분담을 하고 나니, 바로 점심을 먹으러 갈정도로 오전은 진척이 없었다. (우리나라에서는 있을 수 없는 일이지만, 역시나 다들 여유가 넘쳤다. 항상 !!)

오후에는 contact module 의 test framework 중에서 버그가 몇 개 있어서 수정하였고, 금방 5시가 되었다.

옆방에는 저번 Seattle 미팅이 취소되는 바람에 Conference Call에서 결정하지 못 한 사항들에 대해서 논의되는 자리가 있었는데, 저녁에는 모두 같이 모여서 식사와 음료(?)를 하였다.

Day 2

contact module에 대해서 어느정도 완료하고, 추가적으로 messaging module 쪽을 보기로 하였다.

역시 코딩/디버깅을 하니 시간이 너무 너무 잘 갔다.

결과는 test framework 자체보다는 RI가 구현이 덜 되어서(혹은 WebVM의 한계) , 우리가 할 수 있는 것이 그리 많지는 않았다.

다음 날이 TestFest의 마지막 날이라(실제적으로는 OMTP BONDI TestFest의 마지막), 우리는 좀더 잘 하기 위해서 호텔에 와서도 일부 업무를 계속 진행하였다.

Day 3

TestFest 마지막 날…

마지막 날이라 뭔가 좀더 아웃풋을 내기 위해서 오전부터 집중해서 달렸는데, emulator 나 device 모두 crash가 계속 되는 바람에 삽질의 연속이었다.

이는 비단 우리뿐만이 아니었다. Messaging은 정말 최악의 선택이었다 ㅠㅠ.

Messaging 을 포함하여 다른 모듈은 계속 f/up을 하기로 하고, 적당한 선에서 (적당한 이유와 함께) TestFest를 종료하였다.

어쨌든, BONDI 1.11 spec은 곧 나올 것이며,  비록 Test Framework이 완벽하지 않더라도 이해해 주시길… WinMo 자체의 문제도 있고^^.

그럼 여기까지 하고 다음에 또 뵙겠습니다.

p.s) 좀 더 자세한 얘기와 특히 WAC 관련은 여기서 다룰 수 없어서 아쉽네요. (회사 보안상의 이유로 ㅠㅠ)

바라건대, 7월부터는 wackorea 로 찾아뵐 수 있을지 모르겠습니다.^^


7th testfest를 다녀와서

03/15/2010

지난 주 런던에서 열렸던 testfest에 대한 얘기를 해볼까 합니다.
원래는 codefest였지만, 성격상 testfest가 맞았습니다.

Compliance 그룹(of BONDI) 의 의장이신 리스께서 아래와 같은 Agenda로 미팅을 주관해 주셨습니다.

  • Testfest에 대한 소개 및 목적
  • BONDI Test Framework 소개 및 Test 작성방법
  • 그리고, Test 작성하는 간단한 샘플
  • 둘째날 부터는 계속 test code를 넣고, 서로 리뷰를 하였습니다.

날짜별로 좀 더 자세히 얘기하자면 아래와 같다.
(일련의 모든 사항을 적기보다는 느낌을 중심으로 작성했습니다.)

Day 1

먼저 리스가 의장이 된 이유를 (아무도 나서는 이가 없어서 어쩔 수 없이 이렇게 되었다고 말함) 꺼내면서 미팅이 시작되었다. (60정도 되어보이는 백발 개발자의 겸손함과 지혜를 엿볼 수 있었음.)

그리고, Test code가 실제 BONDI 페이지에 연결된 svn에 바로 commit 되는 것이라 놀라지 않을 수 가 없었다. WebVM 담당자인 카이(Kai) 말로는 실제로 어떤 이가 파일 자체를 날려서, 일일이 복구하는 일도 생겼었다고-_-;

참가한 사람이 그렇게 많지 않아서(10명정도), 2~3명이 한팀이 되어서 주요 모듈을 맡아서 Test 작성이 시작이 되었다. 물론 나랑 같이 간 Denny와 같은 팀이였으며, 우리가 맡은 모듈은 Contact 이었다. (사실 이 때까지만 해도 BONDI test framework 에 대한 동작방식은 이해할 필요가 없어서, 깊이 있게 보지는 않았었다. 바로 이게 우리가 좀더 잘 할 수 있었는데 부족했던 부분이 아닌가 한다.)

Day 2

우리는 스펙의 문장 하나하나를 면밀히 분석하여, assertion 들을 리스트업 하였다.  예를들어 If any argument is wrong the ErrorCallback will be invoked with a DeviceAPIError INVALID_ARGUMENT_ERROR 이 있으면, 실제로 인자가 잘 못 들어갔을 경우 ErrorCallBack을 리턴하는 지와 그때 Error 코드가  INVALID_ARGUMENT_ERROR 인지를 체크해야한다.

실제 Contact의 경우에는 다른 모듈에 비해서 작업이 너무나 안되어 있었다. 그래서 우리는 대부분의 코드를 처음부터 다시 작성해야 했으며, 많은 삽질을 하는 계기가 되었다. ㅠㅠ.

또한 우리는 Browser based 뿐 아니라 Widget에 대해서도 돌아갈 수 있도록 호텔에 와서도 열심히 삽질을 하였다. (RI가 너무 구현이 안되어있어서, 실제로 테스트 해볼 수 있는 것은 거의 없었다.)

Day 3

계속되는 코딩… (중략)

그러나, 이 날은 저녁에 한국 식당에 가서 소주한잔을 할 수 있는 여유가 있었다. 사실 한국에 1년간 산 적이 있는 카이가 가자고 제안했으며, 브라이언도 기꺼이 동행해서 4명이서 즐거운 저녁시간을 보냈다.

Day 4

… (중략) 마치며,

If no filter is passed all the contacts will be returned 의 경우 실제로 제대로 돌아가는 지 확인할 Test assertion을 찾을 수 가 없었다.

혹, 관심있는 분은 어떻게 하면 이 것을 검증할 수 있는지 생각해보길 바랍니다.

p.s) 제가 다니는 회사와 관련된 정보나 아직 확정되지 않은 것에 대해서는 일부러 언급하지 않았습니다.
그리고, 다음 Codefest는 7월에 열릴 예정인데, 그때는 좀더 나은 모습을 보일 수 있도록 미리 노력을 많이 하도록 하겠습니다.


팔로우

모든 새 글을 수신함으로 전달 받으세요.