'테스트'에 해당되는 글 2건

  1. 2011.12.22 제대로 된 모바일 어플리케이션 개발을 위해 필요한 역할들~ (1)
  2. 2007.08.19 테스트 코드.. 우선 개발할 것인가?

제대로 된 모바일 어플리케이션 개발을 위해 필요한 역할들~

|



모바일 시장이 발전하면서 개인도 모바일 App을 만들어서 돈을 벌 수 있게 되었습니다.
그러나 제대로 된 서비스를 만들려면 어떠한 역할들이 필요할 지 한번 정리해 봤습니다. 

1. 기획 (Planning)

- 새로운 서비스/시스템을 기획
- 일반적인 아이디어를 보다 실현 가능하도록 구체화 함 
- 서비스 기획안, 화면 구성 방안 및 사용자 매뉴얼 등을 작성 
 독서량이 많아야 한다. (다양한 분야의 도서를 읽어야 함)
 기존의 서비스를 많이 사용해 봐야 한다.
 기획하려는 분야의 전문가가 되어야 한다. 
 좋은 아이디어를 선별할 수 있는 판단력이 있어야 한다.
 기획하는 서비스에 대한 시장 조사 능력이 있어야 한다.
 
2. 디자인 (Design)

- 디자인은 단순히 그림을 그리는 것이 아님
- 디자인은 해당 서비스의 이미지를 구축함으로써 성공 여부를 결정함
- UI/UX에 대한 디자인을 수행 (사용자 경험 중시)
 Best Practice와 같은 좋은 디자인을 많이 봐야 한다.
 개발자가 아닌 사용자를 고려하여 서비스를 디자인 해야 한다.
 다양한 입력 방식과 같은 새로운 사용자의 경험을 반영해야 한다.
 매번 새로운 디자인 스타일을 구축해야 한다. 
 웹과 모바일은 디자인에 있어 화면의 크기를 고려해야 한다. 
 
3. 설계 (Architecture)

- IT 서비스를 위해서 개발보다 중요한 것이 설계임 (잘못된 설계는 추후 엄청난 손실을 가져옴)
- 보통 설계자는 개발자보다 많은 경험을 가지고 있음
- DB 설계, Framework 설계, 기능 설계 등을 수행함
 플랫폼(DB, 프로그래밍 언어, 시스템)에 대한 상세한 분석이 필요하다.
 새로운 기술의 등장과 함께 누구보다 먼저 연구해야 한다.
 서비스의 효율을 결정하는 분야이므로 성능 개선에 항상 관심을 가져야 한다.
 DB / OS / 네트워크 / 프레임워크 등 각 분야별로 전문가가 되어야 한다.

 4. 개발 (Development)


- 실제로 서비스나 시스템을 위한 프로그램을 개발하는 분야임
- 프로그래밍 환경은 끊임없이 변화하고 있으므로 빠른 대응이 필요함
- 서비스 가능한 프로그램을 개발함

 프로그램 개발을 위한 기술을 습득해야 한다. 
 개발 관련 기술은 끊임없이 변하므로 꾸준히 학습해야 한다. 
 기존의 API를 최대한 활용하여 개발의 생산성을 높여야 한다. 
 과거 수행한 개발 내역을 자산화 하여 유사한 프로그래밍에 재사용 해야 한다.
 
5. 테스트 (Test)

- 현대의 IT 환경에서 테스트의 중요성이 점차 강화되고 있는 분야임
- 테스트는 정상적인 상황 뿐만 아니라 비정상적 환경에서도 수행해야 함
- Black Box 테스트, 경계 테스트, 예외 처리 테스트 등을 수행함
 테스터는 상당한 끈기와 노력을 요구하는 분야이다. 
 테스트의 중요성에 비해 다른 분야보다 대우를 받지 못하기도 한다.
 테스트 시나리오를 작성하고 이에 따라 철저하게 테스트를 수행해야 한다.
 테스트에서 찾지 못한 오류를 서비스 개시 후 발생하게 되면 손실이 크다. 

6. 운영 (Operating)

- 서비스의 지속적인 발전을 위해서 운영 업무를 수행해야 함.
- IT 분야에서 운영은 하드웨어와 같은 시스템 모니터링 및 장애 대응과 같은 것을 포함함.
- VOC 운영, 시스템 운영, 유지 보수 운영 등의 업무를 수행함

 하드웨어 시스템에 대한 많은 지식을 가지고 있어야 한다.
 시스템 모니터링, 장애 대응, 네트워크 모니터링을 위한 기술들을 습득해야 한다.
 개발을 지원하기 위한 서버 구성 등도 수행해야 한다. 
 고객 대응의 경우, IT 분야는 아니지만 서비스 운영에서는 필요하다.  
 




Trackback 0 And Comment 1

테스트 코드.. 우선 개발할 것인가?

|



요즘 테스트 코드와 관련해서...

테스트 코드를 먼저 만들고 난 후, 코딩을 진행하는 것이 좋다...
또는 프로그래밍 코딩을 하면, 테스트 코드를 만들어 확인해야 한다..
리펙토링을 하기 전에는 반드시 테스트 코드가 있어야 한다..

라는 이야기를 많이 합니다.
 
테스트 코드라는 것이 매우 중요한 개념이라는 것은 많이 들어서 알 것 같습니다.
그런데.. 실천이 매우 어렵다는 것을 한번 느낀 적이 있어 글을 써봅니다.
 
최근 프로젝트에서 JUnit이라는 테스트 프레임워크와
Ant 툴을 이용해서 프로젝트에서 테스트 프로그램을 구성해 보았습니다.

흔히 말하듯 빌드 한방에 테스트가 완료되구요..
테스트 전후의 데이터도 변화가 없게 만들고...
나름 머리써가면서 잘 만들어 놨었죠~~

하지만, 테스트 구현에 있어 약간의 한계가 있었는데요..

첫째로, 테스트 코드를 만든 사람과 실제 프로그램 소스를 구현하는 사람이 달랐다는 점입니다.
팀원간의 소스코드에 대한 이해도 높인다는 (실은 프로젝트 관리자로서 개발자들의 코드를 살펴본다는 의미가 더 강했죠.. -.-) 명목하에 그렇게 구성했었죠..
그러다 보니.. 소스 코드가 명세 변경에 바뀌어 갈 때마다 테스트 코드도 업버전 되어야 하는데. 그렇게 되지 못했다는 겁니다.
결국 나중에는 테스트 코드는 쓰레기 코드가 되어 버려지게 되었죠.. -.-
(이 점이 아쉬웠는데요... 테스트 코드를 계속 발달시켜야 하는데.. 프로젝트 중간에 그러기가 어려웠거든요.)

둘째로, 테스트 프로그램이 모든 소스 코드를 커버해 주면 좋겠지만...
웹에서 받아들이는 부분은 일단 커버를 못해줬다는 점입니다.
Junit에 살펴보면 request, response를 가상으로 제어하는 부분이 있기는 하지만,
거기까지 적용하기는 복잡해서.. 내부 프레임워크에서 비즈니스 로직을 처리하는 부분부터만 테스트 코드를 적용한 거죠..
(이 부분은 이렇게 하는게 오히려 단순해 지기 때문에 테스트 구현에 도움이 되기는 하지만, 전체 프로젝트를 커버할 수없다는 단점도 있는 것 같더라구요.. )

어쨌든 처음으로 테스트 코드를 만들어 프로젝트에 넣어보았지만, 일단 성공하지는 못한 것 같습니다.
다음에는 테스트 코드를 먼저 만들고 코딩을 진행하는 방법도 한번 시도해 보려고 합니다.

혹시 이 부분에 대해서 좋은 경험 가진 분들의 댓글 부탁드립니다.
그럼.. 좋은 일요일 저녁 되세요~~




Trackback 0 And Comment 0
prev | 1 | next