문제

우리 회사에서는 소프트웨어 제품을 개발합니다.지금까지 우리는 테스터가 없었기 때문에 기본적으로 개발자가 테스터였고, 물론 고객과 사용자였습니다(좋지 않습니다).

우리 팀은 현재 4명의 개발자로 구성되어 있으며 주로 Cruisecontrol, Flex, ASP.NET, IIS, MSSQLServer 및 WebORB를 사용하여 작업합니다.관리자들에게 테스터를 고용하라고 촉구하고 있는데, 소프트웨어 개발에 테스터가 정상인지 궁금합니다.그래서:

  1. 제품(또는 대규모 프로젝트) 개발에 테스터가 필요한가요?
  2. 테스터는 테스트 작업만 해야 하나요?아니면 개발자나 그래픽 디자이너가 일주일의 절반 동안 테스트를 하도록 기대할 수 있습니까?
  3. 좋은 테스터를 어디에서 찾을 수 있나요? (소프트웨어 개발 테스트 분야에는 학위가 없을 것 같습니다.)
  4. 모든 것을 테스트하는 것이 기술팀장의 프로젝트 매니저의 임무인가요?

감사합니다, Lieven Cardoen

추신:고맙습니다, Vinay, 단위 테스트가 있지만 실제로 단위 테스트는 테스터가 할 수 있는 것을 다룰 수 없습니다.

도움이 되었습니까?

해결책

1) 제품 (또는 대규모 프로젝트) 개발에 테스터가 필요합니까?

예. 누군가가 충분히 테스트 할 때 평가할 책임이 있고 해결 방법이 있어야하는 버그가 해결되거나 해결할 수있는 버그를 해결해야합니다.

2) 테스트자는 테스트 만 작동해야합니까? 개발자 나 그래픽 디자이너로부터 일주일의 절반을 테스트 할 것을 기대할 수 있습니까?

테스터는 종종 고객 지원을 수행하거나 고객과 협력하여 요구 사항을 개발합니다. 테스터는 고객의 내부 목소리로 행동 할 수 있습니다. 고객과 교류하면 고객이 원하는 적절한 품질의 제품을 얻을 수있는 책임감을 느낄 수 있습니다.

3) 좋은 테스터는 어디서 찾을 수 있습니까 (소프트웨어 개발 테스트에서 학위가 없다고 생각합니다)?

어딘가에 학위가 있다고 확신합니다. 우리가 가진 많은 테스터는 Computer Science University 학생들입니다. Uni에서 마지막 해로 돌아 가기 전에 업계에서 1 년을 보내고 있습니다.

4) 기술 팀 리드 프로젝트 관리자가 모든 것을 테스트하는 작업입니까?

반드시 그런 것은 아닙니다. 팀이 얼마나 큰지에 달려 있습니다. 그렇습니다. 그렇습니다. 누군가가 두 배로 올라가서 두 역할을 모두 수행 할 수 있습니다. 그러나 더 큰 프로젝트의 경우, 이들은 다른 사람들입니다.


기억하다. 테스터를 갖는 것은 개발자/프로그래머가 코드를 작성하거나 단위 테스트를 만들 때 코드를 테스트하지 않도록 변명하지 않습니다. 개발자는 여전히 좋은 제품을 개발할 책임이 있습니다. 그들은 그것을 찾지 못한 것에 대해 테스터를 비난함으로써 그들이 만든 버그에 대한 변명을 만들려고하지 않아야합니다.

다른 팁

Joel 테스트에서 질문 #10입니다.

http://www.joelonsoftware.com/articles/fog00000043.html

알아야 할 모든 것을 말해야합니다. :)

팀에 테스터를 두는 것이 좋습니다. 우리는 개발자가 테스트 할 때 많은 결함을 얻을 수 없지만 테스터가 테스트하면 결함을 방출하기 전에 많은 결함을 잡습니다.

단위 테스트 케이스도 갖는 것이 좋습니다. 새로운 기능을 개발할 때는 테스트 케이스를 업데이트하고 실행해야합니다.

두 경우 모두 테스터가 필요합니다. 귀하의 개발이 테스트 중심이더라도 테스터의 역할은 종종 프로젝트의 외부 요구 사항에 중점을 둡니다. 프로젝트는 요구 사항을 충족시킬 것으로 예상되는 제품을 제공합니까?

대기업 환경에서는 종종 콜센터 또는 고객 서비스를하는 사람들의 좋은 테스터가있는 금광이 있음을 알게됩니다. 그들은 종종 비즈니스 프로세스, 문제 및 요구 사항을 매우 확실하게 이해하고 있습니다.

그러한 맥락에서 우리는 종종 테스터가 백엔드 시스템에서 실제 테스트 사례를 구성하는 경우 종종 작업을 수행 할 수있게했으며, 때로는 개발자가 작성하는 통합 테스트에서도 사용됩니다. 우리는 개발자들을 허용하는 데 큰 성공을 거두었습니다 물어보기 CI 기반 자동 테스트 테스트를위한 데이터/시나리오 테스터.

~할 수 있다 다른 역할이 테스트에 참여할 것으로 예상됩니다. 나는 모두가 품질과 테스트에 집중해야한다고 생각하지만 불행히도 여러분 책임이 없습니다.

  1. 어떤 규모에서, 절대적으로 (약 10 명의 개발자라고 말할 것입니다).

  2. 테스터는 또한 구축 및 통합 작업을 수행 할 수 있습니다. 소규모 그룹에서는 개발자가 다른 사람이 없기 때문에 테스트해야합니다.

  3. 좋은 질문. 아마도 당신의 개발자 중 일부는 테스트를 좋아할 것입니다.

  4. 아니요, 특히 프로젝트가 커질 때.

저는 우리 그룹에서 50 명 정도의 큰 프로젝트 (수백 명의 개발자)를 작업했습니다. 우리 그룹은 2 ~ 3 명의 풀 타임 사람들과 많은 학생들로 구성된 통합 및 테스트 그룹을 가졌습니다.

  1. 대규모로, 그렇습니다. 그러나 다양한 방법과 테스트 유형이 있습니다. 여기에는 사용자, 회귀, 장치 및 통합 테스트가 포함됩니다. 가능한 한 많이 시도하고 자동화하십시오. Selenium (IDE), Molydbenum, 사용 시나리오 및 민첩한 개발을 확인하십시오.

  2. 개발자 또는 디자이너는 수락 기준을 충족했는지 여부를 결정해야하지만 자신의 작업을 테스트하면 앉기 전에 자신의 시험을 작성하는 것과 같습니다. 다른 개발자의 작업을 테스트하는 개발자는 제 생각에는 훨씬 낫지 않습니다.

  3. Dunno

  4. 프로젝트 관리자는 엄격한 테스트를위한 시간이 없다고 생각합니다. 부지런하다는 것을 알고 프로젝트 관리자와 상호 작용할 수있는 전용 테스터의 임무입니다.

  1. 제품(또는 대규모 프로젝트) 개발에 테스터가 필요한가요?
  2. 테스터는 테스트 작업만 해야 하나요?에서 기대할 수 있습니까? 개발자 또는 그래픽 디자이너를 일주일의 절반을 테스트합니까?
  3. 좋은 테스터는 어디에서 찾을 수 있습니까(학위가 없다고 생각합니다. 소프트웨어 개발 테스트)?
  4. 테스트하는 것이 기술 팀장의 프로젝트 관리자의 작업입니까? 모두?

1 - 고객이 10명이 넘는 경우 제품 개발:당근 빠따 지.필수적인.대규모 프로젝트에서도 마찬가지입니다.규모가 작을 때는 인색할 수 있지만 특정 규모를 초과하면 전 세계 100명의 고객을 업데이트하는 고통이 테스터 한 명의 급여보다 더 큽니다.

2 - 네, 지원 작업에도 일부 중복되는 부분이 있습니다.개발자는 기본적인 테스트를 수행해야 합니다. 작동합니까?- 그러나 철저하고 엔드 투 엔드 이상한 사용 사례 유형 테스트를 수행하는 것은 테스터의 몫입니다.그렇게 하는 것은 개발자의 시간 낭비라고 생각합니다.그래픽 디자이너는 테스트를 해서는 안 됩니다. 글쎄요, 그들은 사용자 테스트를 하길 바라지만 그것은 개발자에게 전달되기 전에도 마찬가지입니다.

3 - 일부 개발자는 좋은 테스터가 됩니다.일부 지원 사람들은 좋은 테스터를 만듭니다.그 외에는 무작위로 찾아보세요.공시 하다.등.학위는 없지만 현명하고 스스로 주장할 수 있으며 각 코드 줄이 어떻게 작동하는지보다 최종 환경이 어떻게 유지되는지 더 많이 아는 사람입니다.

4 - 아니요.PM은 프로젝트를 함께 진행하고 테스터, 개발자 등을 조정합니다.기술 리더는 기술 팀을 이끌어야 합니다.테스트하지 않음.

분명히 역할 간에 누출이 있습니다.때로는 모든 사람이 몇 가지 테스트를 수행해야 하지만 이는 매일 또는 매주 단위가 아닌 RTM 직전에 최대한의 적용 범위를 확보하는 데 더 가깝습니다.

단위 테스트는 논리 오류를 포착하므로 좋은 시작이지만 미친 사용자 상호 작용이나 앱이 72시간 이상 실행된 후에만 나타나는 문제를 포착할 것으로 기대할 수는 없습니다. 단위 테스트는 이러한 오류를 절대로 포착하지 않습니다. .귀하의 고객은 그럴 것이지만 오랫동안 고객이 없을 것입니다 :)

그나저나, 저는 "거기 가봤고, 그런 일을 했습니다".나는 고객을 대상으로 테스트를 했고 동일한 제품의 여러 단계(대기업에서 구입한 스타트업 VR)에서 적절한 테스터를 가졌습니다.테스터가 있으면 제품이 훨씬 더 견고해졌고 고객도 더 행복해졌습니다. (게다가 전 세계 400개 사이트에 작은 중요 패치를 출시하는 것도 어렵습니다. 출시되기 전에 확인하세요!)

전문가의 가치를 과소 평가하지 마십시오.

테스터, 특히 개발자가 아닌 대부분의 사람들은 테스트를 즐기지 않으며 잘하지 않습니다. 그래픽 디자이너 나 개발자에게 테스트의 절반을 보내달라고 요청하면, 좋은 디자이너/개발자의 출력의 50%를 잃고 가난하고 비싼 테스터의 50%를 얻게됩니다. 최악의 경우, 당신은 그들이 일하기에 더 나은 곳을 찾을 것이기 때문에 완전히 잃을 것입니다.

개발자의 경우 일반적으로 코드에 너무 가까워서 객관적으로 테스트 할 수 있습니다. 그들은 내부에 대한 지식을 바탕으로 가정을 할 것입니다. 자신의 코드를 테스트하는 개발자는 특히 나쁩니다.

프로젝트 관리자는 모든 것이 테스트되었는지 확인해야하지만 스스로 수행해서는 안됩니다. 그들은 충분한 시간이나 필요한 전문 지식이 없습니다.

나는 이전에 컨설팅 회사에서 일했습니다. 우리는 전문 테스터가 없었으며 대신 현재 프로젝트가없는 컨설턴트를 사용할 것입니다. 그들 중 누구도 테스트 전문 지식이 없었으며 그 결과 대부분은 훌륭한 테스터가 아니 었습니다. 우리는 "시스템이 더 이상 작동하지 않는다"또는 개인적으로 좋아하는 버그 보고서를 얻을 수 있습니다. 응용 프로그램의 스크린 샷은 얼마나 느린지를 보여줍니다 (신속하게 실행되는 응용 프로그램의 스크린 샷은 다르게 보이지 않았을 것입니다). 그들은 버그 추적 시스템도 남용 할 것입니다 (또는 자신의 홈 브루 엑셀 스프레드 쇼트에 찬성하여 완전히 우회합니다). 악몽이었다.

테이블에 테이블에 가져갈 수있는 것은 제품에 대한 신선한 눈 세트라고 생각합니다. UI 상호 작용을 통해 또는 내가 작성한 클래스를 활용하든 소프트웨어를 실행할 때 행복한 길을 따라갈 가능성이 있음을 알게되었습니다. 무언가가 어떻게 작동하는지 알면, 잘못된 방식으로 일을하거나, 의도하지 않은 방식으로 제품을 운동하거나 그것이 어떻게 작동하는지 아는 사람이없는 순서로 물건을 시도하는 것은 약간 부자연 스럽습니다. 하다.

귀하의 질문에 대한 내 답변은 다음과 같습니다.

  1. 예. 테스트는 필수적이므로 일종의 테스터가 필요합니다. 일반적으로 단위 테스트는 많은 수준의 낮은 수준의 문제를 포착하지만 유용성 테스트 및 '요구 사항'테스트는 광택 브로셔의 주장을 충족하는지 여부를 결정합니다. 소프트웨어가 'X'를 주장한다고 주장하면 테스터의 작업의 일부는 실제로 'X'를 수행하는 것입니다. 우리는 테스터가 평소에 사용하지 않는 플랫폼에서 몇 가지 문제를 발견했습니다. 이러한 문제를 일찍 찾는 것이 좋습니다.

  2. 아마도. 우리는 제품을 사내에서 테스트하지만 별도의 테스트 그룹도 있습니다. 우리는 (사내) 문제에 대한 사자의 몫을 찾는 경향이 있지만 풀 타임 테스터는 때때로 우리가 찾은 적이없는 것을 발견합니다. 개발과 테스트 사이에서 시간을 나누면 테스트가 나중에 생각되지 않음이 분명해야합니다. 내가 발전하는 일을 과도하게 부담하고 제품을 테스트하는 데 필요한 시간을 보내는 데 어려움을 겪고 있다면 테스터처럼 효과적이지 않을 것입니다. 개발자가 테스터로 두 배가되는 경우 시간 관리가 필수적입니다.

  3. 확실하지 않다. 조직의 일부 그룹 (IV 및 V 그룹)은 테스트 만 수행합니다. 소프트웨어를 쓰지 않거나 소프트웨어를 쓰지 않지만 제품에서 도대체 테스트 할 수있는 많은 사람들이 있다고 생각합니다. 마지막 직업에서 최고의 테스터 중 일부는 코드를 전혀 쓰지 않았습니다.

  4. 프로젝트에 의존하지만 일반적으로 아니요. 책임은 내 가게에 퍼지는 것입니다. 리드는 모든 테스트에 책임이 없습니다. 우리는 모두 책임이 있습니다.

어쨌든, 그것은 나의 두 센트입니다.

모든 사람은 테스터가 필요하다고 말할 것이며, 그것은 정치적으로 정답입니다. 그러나 테스터는 품질 보증 도구 상자에서 사용할 수있는 많은 도구 중 하나 일뿐입니다. 테스터없이 완벽하게 훌륭한 소프트웨어를 배송 할 수 있습니다. 예를 들어, stackoverflow에 테스트 부서가 있는지 궁금합니다.

테스터가 의지합니다 측정하다 개발자가 생산하는 코드의 품질. 그러나 품질 측정의 가용성은 품질을 향상시키는 데 아무런 영향을 미치지 않습니다.

테스터는 무료로 오지 않습니다. 고객 대신 테스트 팀에 전달하려면 개발을 변경해야합니다. 이로 인해 고객과 개발자 간의 연결이 끊어 질 수 있습니다. 테스터는 고객이 신경 쓰지 않는 버그를 찾아 고객에게 매우 중요한 버그를 무시할 수 있습니다. 또한 별도의 테스트 환경을 만들고 유지해야합니다.

좋은 테스터는 더 나은 발전에 도움이되고 특히 더 매끄럽게 방출되는 데 도움이됩니다. 그러나 당신의 마일리지는 다를 것입니다.

추신 대기업의 테스터에서는 필수적입니다. 그들은 비난 변화를 가능하게합니다. 버그가 고객의 피해를 유발한다고 말하면 -> 임원은 화를냅니다. 이 시점에서 임원은 팀에게 불쾌한 일을 할 준비가되었습니다. 테스트 팀을 사용하면 비난을 테스트 팀으로 전환 할 수 있습니다. 타협이 시작됩니다 : 새로운 프로세스를 소개하고, 시험 팀은 더 많은 테스터를 고용하며, 경영진은 개인적으로 개선 된 것들이 있다고 말합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top