'Test Engineer'에 해당되는 글 1건

  1. 2008.02.03 MS 테스트 사례 엿보기 8
Test Process2008. 2. 3. 15:44
예전에 MS의 Visual Studio Team Blog의 글 중에서 테스트 관련된 내용들을 번역한 적이 있어서 정리해서 링크를 걸어 봅니다.

전체적인 느낌은 누구나 다 알고 있지만 현실이라는 장벽 아래서 제대로 행하지 않는 것을 잘 행하고 있다는 느낌입니다.
그리고 아래 덧붙인 것처럼 SDET (Software Design Engineer in Test)라는 직군을 둘 만큼 중요성도 잘 인식하고 있는 것 같습니다.

MS Visual Studio 빌드 프로세스 - VC++ 라이브러리팀의 Check-in 프로세스

MS VC++ IDE QA팀에서 일어난 해프닝 - Hello World 사건 - 으로부터의 교훈

MS Visual C++ 개발팀의 QA팀 활동 내역 - 그들은 최고 일 수밖에 없다.

MS Visual C++ 라이브러리 개발팀의 Regression (회귀) 자동화 테스트 사례



SDET

테스트와 관련된 일을 하는 사람같은데 전체 이름을 종잡을 수 없었습니다. 그래서 구글에서 찾아보니

SDET - Software Design Engineer in Test

즉, 테스트 쪽 소프트웨어 설계 엔지니어라는 명칭이었습니다.

그리고 MS의 사이트에서 소개한 정의를 보면 다음과 같습니다.


Software Design Engineer in Test

소프트웨어 컴포넌트와 인터페이스를 좀 더 기술적으로 테스트하고 평가하며, 품질 평가를 위해 테스트 프로그램을 개발하고 테스트 효율성 향상을 위해 테스트 도구를 개발한다.

Software Design Engineer in Test
Tests and critiques software components and interfaces in more technical depth, writes test programs to assure quality, and develops test tools to increase effectiveness.


제가 왜 SDET의 Desgin Engineer에 볼드체 표시를 했을까요?

개 발팀 내 신입사원에게 개발자 유닛 테스트 (unit test)를 맡기고 시스템 테스트에는 아르바이트나 계약직을 사용하고 테스트 관련 업무를 하면 좌천되었다고 생각하는 국내의 현실에서 저희는 감히 Design Engineer라는 말을 테스트 엔지니어의 수식으로 사용할 수 없기 때문입니다.


SDET에 대해 설명하고 있는 MS 사이트의 내용을 보면 그들이 얼마나 테스트와 테스트 엔지니어를 중요시여기는지 아실 수 있습니다.


===================================================================

품질에 대한 열정 (A Passion for Quality)

i_t_st.gif테스트는 소프트웨어 개발 프로세스에서 제품의 품질을 향상시키고 고객의 니즈 (needs)를 제품에 올바르게 반영할 수 있는 아주 중요한 전략적 역할 (a critical strategic role)을 한다. 모든 마이크로 소프트의 제품들은 릴리즈 전에 테스트를 마쳐야 한다.

"You break it to build it"

※ 짧은 영어로 의역해보면 "무엇인가를 완성하기 위해서는 그것을 망가뜨려 봐야 한다." 즉 테스트를 통해서 결함 (defect)을 찾아봐야 한다. 일 것입니다.

이 모순된 말은 MS에서 테스트를 전문적으로 하는 사람들에게는 널리 통용되는 말이다.

MS 의 테스트 엔지니어는 제품의 요구 사항을 이해하기 위해 프로그램 매니저 (program manager)와 소프트웨어 디자인 엔지니어와 밀접하게 일하며 제품의 피쳐 (features)와 기능을 테스트를 통해 확인 (validate)하기 위해 테스트 계획 (test plan)과 테스트 케이스를 디자인하고 시스템 테스트를 통해서 버그를 찾아낸다. 그들의 일에 있어 테스트 전문성은 업무적으로 성장하거나 미래 주어질 프로젝트를 결정지을 주요한 척도이다.

마이크로소프트의 테스트 조직은 효과적인 많은 방법론과 도구를 개발했다. 기능 테스트 (functional testing), 네거티브 테스트 (negative testing), 고객 시나리오 테스트 (customer scenario testing), 스트레스 테스트 (stress testing), 성능 테스트 (performance testing), 확장성 테스트 (scalability testing), 인터내셔널 테스트 (international testing)을 모두 수행하며 모든 테스트 활동은 고객이 최고 품질의 제품을 받아 볼 수 있도록 하기 위함이다.

===================================================================


VC++ 팀 블로그에 게재되는 글들을 통해 그들의 테스트 활동을 엿보면, 마이크로소프트의 위 글이 절대 말뿐인 것은 아님을 알 수 있습니다.

마이크로소프트는 누구나 알고 있는 테스트의 주요한 활동들을 개발 프로세스 내에서 수행하고  테스트 엔지니어와 그들의 역할을 중요시여기고 있습니다.

마이크로소프트와 관련된 소프트웨어 활동 등을 보면 볼 수록 참 제대로 멋지게 일하는 구나라는 생각도 들지만 한편으로는 아래와 같은 반성도 해봅니다.

멋 진 구성원이 없다면 멋진 조직이 없을 것입니다. 즉, 마이크로소프트에서 자랑처럼 이야기하는 테스트활동은 그만큼 자질있는 구성원들이 있기때문에 가능할 것입니다. 국내의 소프트웨어 개발 여건이 또 국내의 테스터의 환경이 나쁘고 커리어 패스를 찾을 수 없다고 하기 전에 혹시 자신이 피해의식과 비관론에 젖어 무기력해 있지 않는지도 돌이켜봐야할 것입니다.


Posted by 정의의소