노무현 대통령 배너
links for 2009-05-25 links for 2009-05-26
May 26

원문 : http://www.satisfice.com/articles/sfdpo.shtml

번역 : 삼성전자 조형헌

아직 테스트에 감이 없으신 분들은 이런 틀을 가지고 하시면 어떨까요? 많은 도움이 되실 것 같습니다.

어떤 식으로 테스팅을 시작하시나요?
- 테스팅을 시동 거는 연상법
by

탐색 시험 중에는 실시간으로 테스트를 설계하고 수행해야 합니다.
그렇다면 가치 있는 테스트를 하려면 어떤 식으로 생각을 정리해야
할까요?
여기에서 말씀드릴 ‘선험/연상법’이 하나의 방법이 될 수 있습니다.

여기서 선험이란
‘어림짐작으로 헤아려 보기, 단순화 하기 혹은 학습된 추측’을 의미합니다.

현관문 앞 매트 아래서 열쇠를 찾는 방식이 그 예가 되겠죠.

반대로 연상은 “복잡하고 긴 정보를 손쉽게 기억할 수 있도록 조직화한 단어나 운(rhyme) 또는 다른
암기법”
을 말합니다.
이 두 가지는 촉박한 상황에서 문제를 해결하는데 유용합니다.

로 테스팅을
시작하기

테스팅 중 제가 자주 사용했던 선험/연상법은 “샌 프란시스코 디폿(San Francisco
Depot)
” 혹은 입니다.

이것은 구조(Structure), 기능(Function), 데이터(Data),
플랫폼(Platform) 그리고 작동법(Operations)의 첫 자를 따서 만든 겁니다.

이 단어들은 S/W 제품의 서로 다른 양상을 나타내기 때문에
이렇게 관점을 달리해서 제품을 고려해 보면 흥미로운 테스트를 생각해 낼
수 있습니다.

그래서 전 다뤄보지 않은 제품에 대해 테스팅 의뢰가 올때마다 “샌 프란시스코 디폿”을 되묻고,
이 제품의 다섯가지 항목에 대해
열거해 본 후, 테스트할 것에 대해 생각하기 시작합니다.

- 구조(Structure)
“어떤 거지?”

어떤 파일들을 다루지?

어떻게 만들어졌는지 알고 있게 있나?
하나의 프로그램으로 실행되나?

어떤 H/W에 담겨 출시되나?

모듈 별로 테스트 가능하나?

- 기능(Function)
뭐하는 거지?”

무슨 기능을 하나?

어떤 예외 처리가 필요하려나?

어떤 UI를 가지고 있나?

사용자에게 숨겨진 무언가가 있나?
OS와의 인터페이스는 어떻게 하나?

- 데이터(Data) 무엇을
처리하지?”

어떤 입력을 처리하나?

출력은 어떻게 생겼나?

내부에 어떤 모드나 상태가 가능하나?
데이터를 미리 조절한(preset) 후 출시되나?

타이밍이나 순서에 민감한 입력 값이 있나?

- 플랫폼(Platform) 무엇에 연계되어
있지?

어떤 OS에서 수행되나?

특수한 환경 설정을 해줘야 하나?

외부 컴포넌트에 연계되어 있나?

- 작동법(Operations) 어떻게
쓰이지?”

이걸 누가 쓰려나?

어디서 어떻게 쓰려나?

사용하기 위해 뭘해야 하나?
사용자가 해 볼 것 같은 뭔가가 있나?

보다 실제적인 테스트를 위해 얻을 수 있는 사용자 데이터가 있나?

아이디어를 빛 가운데로

제품에 대해 같은 약간의 트릭을 사용하면 보다 빠르게 아이디어를 얻을 수 있습니다.
하지만 전 이 방법의 민첩성보다
신뢰성 때문에 선호합니다.

를 알기 전에는 테스트를 위해 다양한 아이디어를 생각해 낼 수 있었으나,
이 아이디어들이 임의적이고 분산되어 있음을
깨달았습니다.
즉 내 분석의 완결성을 평가할 방법이 없었던 거죠.

이런 선험/연상법을 체득한 지금은 여전히 뭔가 테스트 되지 않을 수 있음을 알고,
적어도 이 제품의 주요 양상에 대해 조직적으로
확인해 볼 수 있게 되었습니다.

따라서 이제는 테스트 기법에서부터 품질 기준에 걸친 모든 것에 대한 선험을 가지게 된거죠.

무언가를 알고 있다는 것이 시기적절하게 그것을 기억해 낼 수 있다는 것을 의미하는 것은 아닙니다.
때문에, 는 템플릿이나
테스트 플랜이 아니며 테스팅 중에 의식 속으로 중요한 아이디어를 가져다 주는 하나의 방법일 뿐입니다.
그래서 이것은 지적인 도구의
일부분입니다.

여러분이 보다 뛰어나고 신뢰할만한 탐색 테스터가 되기를 원한다면
지금부터라도 당신에게 맞는 이런 선험 창고를 만들고 수집하기를
시작해야 합니다.

동시에, 선험에는 어떤 지혜도 없음을 기억하세요.
지혜 자체는 여러분에게
있습니다.

선험은 단순히 아이디어를 일깨우는 일종의 자명 시계와 같아서 지금부터 어떤 행동을 취해야 하는지에 대해 말해 줄 수는 없습니다.

따라서 여기에 기술과 경험이 동반되어야 합니다.

좋은 테스팅은 섬세한 기예입니다.
따라서 좋은 도구를 지녀야만
합니다.

Share and Enjoy:
  • Print
  • PDF
  • email
  • RSS
  • Twitter
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg
  • Tumblr
  • Mixx
  • blogmarks
  • MySpace
  • Live
  • Yahoo! Buzz

Related posts:

  1. 테스트에 대한 생각의 변화
  2. 탐험적 테스팅 (Exploratory Testing)
  3. Ship it! 성공적인 소프트웨어 개발 프로젝트를 위한 실용 가이드

Tags: , , , , ,

Related posts

blog comments powered by Disqus
preload preload preload