태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

우리는 개발자가 테스트해요.

2009/01/28 16:04 by 전규현
 All of Software 블로그를 RSS Feed에 등록을 해 놓으시면 편리하게 받아보실 수 있습니다. rss RSS Feed

주변의 소프트웨어 회사들을 보면 개발자가 테스트를 하는 회사를 정말로 많이 접하게 됩니다.
물론 개발자도 구현을 하면서 Unit테스트는 일상적으로 하지만, 제품의 기능이 정상적으로 동작하는지 확인하는 시스템 테스트도 개발자가 테스트하는 것을 보는 것은 그리 어려운 일이 아닙니다. 오히려 전문 테스트 인력이나 테스트팀이 있는 회사를 보는 것이 더 어렵습니다. 있다고 하더라도, 테스트팀이 전문적으로 테스트를 수행한다기 보다 개발자의 손을 좀 덜어주는 경우가 흔합니다.

이렇게 개발자가 테스트를 하는 이유는 다양하지만 다음과 같은 것들이 있습니다.
  • 우리는 인력이 너무 적어서 테스터를 별도로 둘 수 없어요.
  • 프로젝트 기간이 너무 짧아서 별도의 테스트 단계를 둬서 테스트를 할 수 없어요.
  • 개발자만이 기능을 속속들이 알아서 테스트를 할 수 있고, 이것을 테스터에게 알려줄 시간이 없어요. 그렇게 하면 중복 낭비예요.
  • 사람들이 테스터를 하기 싫어해서 전부 개발하고 같이 테스트 해요. 테스터는 뽑기도 어렵고, 기존의 개발자중에서 자원자가 없어요.
  • 테스터를 왜 별도로 둬야 하죠원래 개발자가 해도 되는 거 아닌가요?

개발자가 테스트를 하게 될 경우 아래와 같은 큰 문제가 있습니다.
  • 개발자는 제품의 내부 동작 방식을 속속들이 알기 때문에 자신도 모르게 정상적으로 동작하는 방식으로면 테스트를 하려고 합니다.
  • 개발자는 일반 사용자와 비슷한 패턴으로 제품을 사용하지 못합니다.
  • 개발자는 테스트의 전문성이 없기 때문에 테스트를 잘 하지도 못합니다.
  • 체계화된 테스트를 못하기 때문에 테스터를 더 투입하여 테스트 기간을 줄이는 등의 전략은 꿈도 못 꿉니다.
  • 테스트는 항상 대충 이루어지면 나중에 사용자가 버그를 많이 발견합니다.
  • 회귀(Regression)테스트는 무시되면 적당히 수정한 것만 테스트 하여 고쳤던 버그가 다시 살아나기도 합니다.
  • 개발자는 테스터보다 연봉을 더 줘야 하는데, 잘하지도 못하는 테스트를 시키느라고 비싼 돈을 낭비합니다.
  • 테스트 자동화 등의 테스트에 대한 전문적인 연구 및 개선이 이루어지지 않습니다.

한마디로 비싼 돈 주고 개발자는 개발자대로 고생하고 제품의 품질은 떨어지는 겁니다.

설령 1명짜리 회사라고 하더라도, 테스트는 제대로 해야 합니다. 그리고 개발자가 3,4명만 되어도 별도의 테스트를 두는 것이 효율적입니다. 예외적으로 특수한 프로젝트라면 모를까 일반적으로 별도의 테스트를 두는 것이 더 빠르고 적은 비용으로 높은 품질의 소프트웨어를 만드는 한 방법입니다.

물론 무조건 별도의 테스트팀을 두기만 하면 위 문제들이 해결되는 것은 아닙니다. 잘 해야죠. 추가적인 얘기는 다음에 하기로 하죠.

이미지출처 : Microsoft Office Online

저작자 표시 비영리 변경 금지

'프로젝트 > 품질관리' 카테고리의 다른 글

우리는 개발자가 테스트해요.  (8) 2009/01/28

전규현 프로젝트/품질관리

Trackback Address: http://allofsoftware.net/trackback/60 관련글 쓰기
  1. 2009/01/29 02:19
  2. 2009/01/29 08:12
  3. 2009/01/29 14:19
    테스트팀을 두는 이유. Tracked from 상실의시대
  4. 2010/01/06 10:49
  1. 맞는 말씀이십니다.
    하지만 다음 이야기가 어떤 내용일지는 모르겠으나 QA 파트의 능력 또한 상당히 중요합니다.
    테스트 프로세스도 마찬가지구요. 뭐 이런 내용이 나올듯 한데^^! 기대하겠습니다~!!

  2. 돌이아빠님 안녕하세요.
    QA파트는 개발 파트 중에서 가장 먼저 전문화된 중요한 영역이죠. 워낙 넓은 범위라서 조금씩 써나갈려고 합니다.

  3. 보통 현업운영자 중에서 선발해서 테스트 그룹을 만들기도 합니다. 하지만 위의 글처럼 개발자들이 테스트 그룹을 제대로 활용하지(?) 못하는 경우가 허다하죠.

    그리고 테스트 그룹에서 발견된 문제점들을 수정하고 제대로 된 회귀테스트를 수행하지 않는 경우가 대부분인 듯 합니다. 테스트 그룹 또한 형식적인 테스트를 하는 경우가 다반사이구요.

    제가 경험해본 바로는 그 이유가 테스트 조직의 구성시기에 문제가 있었던 듯 싶더군요. 테스트 조직이 프로젝트의 단위테스트 완료 직후 급조해서 구성되다보니 테스트 조직이나 개발자 조직 모두 준비없이 구색만 갖추기 위한 프로세스가 되어버리더군요.

  4. 필넷님 안녕하세요.
    좋은 의견 감사합니다.

  5. 완전 공감이 되는 내용입니다.. ^^;;;;;
    저도 앞으로 나올 다음이야기가 궁금해지는군요~

  6. kkommy님 안녕하세요.
    테스트에 대해서는 워낙 내용이 많아서 차근차근 풀어나가 볼 예정입니다.

  7. Blog Icon
    박대우

    안녕하세요. 개발자들이 테스트하면서 놓치는게 회귀테스트 같더군요. 작업프로세스에서 어느 한부분의 버그를 수정하면 다른 곳에 또다른 버그가 발생하더라고요. 개발자는 자기 고친 부분만 테스트하기 때문에 다른 곳에 버그가 발생하는지 몰라서 패치 후 혹은 릴리즈 후에 문제가 발생하는 경우가 있기도 합니다. 하여간에 전문 테스터를 둬서 어떻게 테스트를 잘할지 연구하는 것이 중요할 것 같습니다.

  8. 박대우님 안녕하세요.
    회귀테스트는 테스트의 기본 원칙이죠. 모든 경우에 전 테스트 케이스를 다 테스트 할 수는 없지만 원칙을 알고 상황에 따라서 응용을 하는 것과 원칙을 무시하는 것과는 큰 차이가 있습니다.

문서를 작성하면 더 오래 걸린다는 고정관념

최근에 국내 유수 대학의 컴퓨터 공학 교수를 만난 적이 있다. 그 교수님도 문서를 작성하면서 Software를 개발하면 더 오래 걸린다고 굳게 믿고 있었다. 어느 정도 이해가 되는 상황이다. 원래 소프트웨어 공학은 실전에서..

이슈를 모으기도 정말 어렵다.

많은 회사들이 개발 프로세스 개선을 하겠다고 선진 개발 방법론을 흉내내거나 실패한 대기업의 프로세스를 가져다가 적용하곤 한다. 복잡한 프로세스와 많은 Template를 가져다가 적용해보려고 하는데 대부분은 실패를 한다. 기초..

변화에 실패하는 9가지 고정관념

회사는 끊임없이 변화하지 않으면 지속 성장하지 못한다. 하지만 변화는 피와 살을 깍는 고통을 동반하고 또 많은 회사가 변화에 실패해서 성장하지 못하거나 사라져간다. 보통의 사람들은 대부분 변화를 싫어하고 기존에 하던대로 계속..

좋은 프로그래머가 되는 24가지 방법

1. 프로그래밍에 열정이 있어야 한다. 열정이 없고 즐기지 못하면 평생하기 어려운 일이다. 2. 프로그래밍 기초 원리를 완전히 이해해야 한다. 원리를 모르면 근본적인 해결을 할 수 없다. 3. 문제 해결 능력을 키워야 한다...

요즘 실리콘밸리에서는...

얼마전 실리콘밸리의 한 Startup company에서 CTO로 일하고 있는 오랜 친구가 한국에 놀러와서 같이 여행을 갔다. Informix에서 소프트웨어 엔지니어로 시작해서 한 20년 정도 일한 중국인 친구다. 같이 일을..

전문가 vs. 책임자

우리나라 조직문화는 전문가보다 책임자를 선호한다. 조직의 장이 책임을 지고 모든 일을 알아서 하는 것이다. 상명하복 관계 위주다. 경영자가 SW개발에 대해서는 잘 모르는 경우 누구 한명이 책임지고 개발해줬으면 하는 생각을 하..

소프트웨어 회사의 자산은?

소프트웨어 회사의 자산은 무엇일까? 흔히 개발자가 소프트웨어 회사의 재산이라고 한다. 이런 회사일 수록 회사가 가지고 있는 것은 정말 개발자밖에 없다. 또한 파악하기 어려운 한 무더기의 소스코드가 있다. 개발자들이 나가면 이..

관리자가 이런 일까지?

우리나라 SW 조직에서 관리자란 위치는 참 애매한 위치다. 물론 전문 관리자라면 얘기가 다르지만 왕년에 SW를 조금 개발해 본 경우가 애매하다. 개발팀에서 가장 경험이 많은 SW 개발자들이 주로 팀장이 되곤 한다. 이 경우와..

과거의 성공이 발목을 잡을 때

수많은 소프트웨어 회사들이 첫번째 성공을 거두고 나서 두번째 도약에 실패하고 사라져간다. 물론 첫번째 성공도 어렵지만 이미 성공의 경험이 있고 방법을 알고 있는 회사들이 두번째 또는 세번째에는 많이 실패하는 이유가 무엇일까?..

스펙을 제대로 작성하는 것은 구식이다?

'소프트웨어 개발 방법이 얼마나 발전했는데 아직도 스펙을 제대로 작성하고 개발을 하는가?' 라고 하면서 스펙 작성에 반대하는 주장을 하는 사람들이 있다. 스펙, 설계를 작성하고 구현을 하고 테스트를 하는 방식으로 개발하는 것..