테스터가 누가 더 많은 버그를 여는 지 확인하기 위해 경쟁하는 것이 좋습니까?


54

저는 소프트웨어 개발자입니다. 분석가가 작성한 테스트 케이스를 수행하고 테스트를 수행하는 테스터 팀이 있습니다. 테스터들이 누가 더 많은 버그를 여는 지 알아보기 위해 경쟁하고있는 것 같습니다. 버그 보고서의 품질이 떨어졌습니다. 테스터는 기능 테스트 및 소프트웨어 작동 관련 버그보고 대신 화면 개선, 유용성 또는 멍청한 버그에 대한 버그를 제출했습니다.

이것이 프로젝트에 좋습니까? 그렇지 않다면 어떻게 (소프트웨어 개발자로서) 테스터 팀의 생각과 태도를 바꾸려고 노력할 수 있습니까?

또 다른 문제점은 마감일이 추정되고 변경 될 수 없기 때문에 마감일이 가까워 질수록 테스터는 테스트 케이스를 완료하기 위해 스크램블링하게되므로 테스트 품질이 저하 될 수 있습니다. 이로 인해 고객이받은 최종 제품에 합법적 인 버그가 생길 수 있습니다.

OBS :이 경쟁은 회사의 관행이 아닙니다! 그것은 그들에 의해 조직 된 테스터들 사이의 경쟁이며 상금이 없습니다.


3
테스터는 빌드 전에 참여합니까? 요구 사항 개발 또는 사용 사례 또는 사용자 사례 개발, 설계 문서 검토 또는 코드 검토에 참여한다는 의미입니까? 테스터가 제출 한 보고서가 양호하고 보고서가 유효하고 완전한지 확인하기위한 점검이 있습니까? 테스터의 역할 / 책임과 보고서 관리 방법에 대해 자세히 설명하기 위해 질문을 편집 할 수 있다면 좋은 답변을 작성하는 데 도움이 될 것입니다.
Thomas Owens

35
경쟁이 반드시 나쁘지는 않지만 인센티브와 결합하면 부작용이 발생할 수 있습니다. 이 질문은 테스터들이 개발자와 충돌하여 영웅적으로 발견 될 수있는 추가 버그를 생성 한 데일리 WTF에 대한 이야기를 떠올리게합니다 . 재미있었습니다. 그 실수를 반복하지 마십시오.
amon

6
당신의 요점은 잘 잡히지 만 옆으로 누군가 내 작업에 유용성 문제가 있다고 말하면 감사합니다. 그것은 소프트웨어에서 가장 어려운 것들 중 하나이며 또한 가장 가치있는 것이기도합니다.
jpmc26

9
1 년 이상 세심한 QA로 프로젝트를 진행 한 결과 요소와 다른 색상의 기호 사이에 너무 많은 공백이 생기는 것과 같은 것이 비생산적인 것처럼 보일 수 있지만 궁극적으로 사용자 경험을 향상 시킨다고 말할 수 있습니다. 종종 생산성 향상, 기술 지원에 대한 부담 감소, 응용 프로그램에 대한보다 전문적인 모양 및 느낌 등 모든 바람직한 특성을 제공합니다. 그렇습니다. 때로는 소프트웨어로 인해 소프트웨어가 지연 될 수도 있지만 지불 할만한 가치는 대개 그만한 가치가 있습니다.
phyrfox

9
다수의 답변에 따르면 테스터의 임무는 버그를 찾는 것입니다. 이 사고 방식은 식별 한 문제를 발생시킵니다. 품질 보증 업무는 제품이 명시된 품질 막대를 충족하는지 여부정확하게 결정하는 것 입니다. 테스터가 버그 보고서를 생성하는지 상관하지 않습니다. 테스터가 정확하고 고객 중심의 제품 품질 분석을 수행하고 있는지 걱정합니다. 그것이 장려되어야 할 것입니다.
Eric Lippert

답변:


87

나는 그들이 가장 많은 버그를 찾아서 경쟁하는 것이 좋지 않다고 생각합니다. 그들의 임무는 버그를 찾는 것이 사실이지만, 그들의 임무는 " 가장 많은 버그를 찾는"것이 아닙니다 . 그들의 목표는 가장 많은 것을 찾는 것이 아니라 소프트웨어의 품질을 향상시키는 것입니다. 더 많은 버그를 찾도록 보상하는 것은 최고 품질의 코드가 아닌 대부분의 코드를 작성하여 프로그래머에게 보상하는 것과 같습니다.

게임으로 전환하면 가장 중요한 버그를 찾는 것이 아니라 많은 얕은 버그를 찾는 데 집중할 수 있습니다. 편집에서 언급했듯이 이것은 조직에서 일어나는 일입니다.

그들이 찾은 모든 버그는 공정한 게임이며 모든 버그를 발견해야한다고 주장 할 수 있습니다. 그러나 팀에 리소스가 부족한 경우 테스터가 몇 시간 또는 며칠 동안 실제로 큰 버그를 찾으려고 시스템에 깊이 조사하거나 인쇄상의 오류 및 작은 오류를 찾기 위해 앱을 건너 뛰는 데 몇 시간 또는 몇 일을 집중하고 싶습니까? 페이지에서 객체 정렬 오류

회사가 실제로 게임을 만들고자한다면 개발자에게 버그를 추가 할 수있는 권한을 부여하십시오. "멍청한 벌레"는 부정적인 점을 얻습니다. 잘 작성된 보고서가있는 벌레를 찾기가 어렵습니다. 그러면 인센티브가 "가장 찾기"에서 "일을 잘하는 사람"으로 바뀝니다. 그러나 프로그래머와 QA 분석가가 협력하여 숫자를 인위적으로 채울 수 있으므로 권장하지 않습니다.

결론 : 버그를 발견하여 게임을하지 마십시오. 조직에서 좋은 일을 보상하고 그 자리에 두는 방법을 찾으십시오. 게임 화는 사람들이 목표를 달성 한 것에 대한 보상입니다. QA 분석가가 "가장 많은 버그를 찾는 것"이라는 목표를 갖기를 원하지 않고, 그들의 목표가 "소프트웨어의 품질을 향상"시키기를 원합니다. 이 두 목표는 동일하지 않습니다.


5
내가 생각한 첫 번째는 비슷했습니다. 게임으로 바꾸고 싶다면 QA 관리자 (있는 경우)가 발견 된 버그에 대한 점수를 설정하는 것이 좋습니다. 회사를 염두에두고 이와 관련하여 그는 경쟁을 더 잘 통제 할 수 있으며,이를 수용 할 수 있는지 여부에 관계없이 경쟁을 위해 약간 더 높거나 낮은 점수를 할당하여 경쟁을 조금 더 가깝게 만들 수도 있습니다. ( 그렇지 않으면 새로운 개발자가 작성한 것을 테스트하여 한 사람이 앞서 나 간다면 다른 사람들은 포기합니다 )
DoubleDouble

2
그럼에도 불구하고, 팀원이 거의 동일하게 일치하지 않으면 (일어나지 않는 한) 지루해지기 때문에 그 아이디어를 권장하지 않습니다. 자신과 경쟁하는 것이 좋습니다.
DoubleDouble

1
발견 된 버그 수로 QA 생산성을 측정하는 것은 작성된 코드 라인 (또는 스토리 포인트가 닫힌)으로 프로그래머의 생산성을 측정하는 것과 같습니다. 둘 다 말도 안되지만 둘 다 성능을 정량화하는 더 미묘한 방법을 볼 수없는 PHB의 마음에 남아 있습니다.
dodgethesteamroller

당신의 대답은 내가 생각했던 것과 같습니다. 그러나 동일한 수준의 테스터에 대한 @DoubleDouble 지점은 생각하기에 좋은 지점입니다!
호기심 만

2
동의했다. 이전의 QA 작업에 빠르고 할당량이 많지 않았지만 찾을 수있는 모든 작은 이쑤시개를 버그로 만드는 것이 가장 중요하다고 느낀 두 명의 테스터가있었습니다. "캐릭터 셔츠가 너무 길어서 대부분의 사람들은 "피어 호스트 게임에서 호스트의 네트워크 케이블을 반복적으로 연결 / 연결 끊기"와 같은 실제 버그를 파헤 치기보다는 긴 캐릭터의 셔츠를 착용하지 마십시오 (캐릭터의 셔츠 길이가 게임과 전혀 관련이없는 경우). 클라이언트와 승리는 호스트의 온라인 기록에 추가됩니다 ".
Doktor J

17

나는 다른 답변에 약간 동의하지 않을 것입니다. 테스터를위한 "버그 찾기"는 개발자를위한 "코드 작성"과 비슷합니다. 미처리 금액은 의미가 없습니다. 테스터의 임무는 가능한 많은 버그를 찾는 것이지 버그를 찾는 것이 아닙니다. 테스터 A가 고품질 구성 요소에서 10 개의 버그 중 5 개를 발견하고 테스터 B가 품질이 낮은 구성 요소에서 263 개의 버그 중 58 개를 발견하면 테스터 A가 더 나은 테스터입니다.

개발자가 특정 문제를 해결하기 위해 최소량의 코드를 작성하고 테스터가 고장난 동작을 올바르게 설명하는 최소 수의 보고서를 작성하려고합니다. 가장 많은 결함을 찾기 위해 경쟁하는 것은 가장 많은 코드를 작성하기 위해 경쟁하는 것과 같습니다. 시스템을 유용하게 활용하기에는 너무 쉬운 일입니다.

테스터가 경쟁하기를 원한다면, 테스터가해야 할 일, 즉 소프트웨어가 설명 된대로 작동하는지 검증하는 것에 기반을 두어야합니다. 따라서 사람들에게 가장 인정받는 테스트 사례를 작성할 수있는 사람을 알아 보거나 더 많은 코드를 다루는 일련의 테스트 사례를 작성하도록 경쟁하게 할 수 있습니다.

개발자 생산성의 더 나은 측정은 작업 완료 횟수와 작업 복잡성입니다. 테스터 생산성의 더 나은 측정은 테스트 케이스 실행 횟수와 테스트 케이스 복잡도입니다. 발견 된 버그가 아니라 최대화하려고합니다.


3
테스터의 임무는 가능한 많은 버그를 찾는 것이지 버그를 찾는 것이 아닙니다. 테스트 목표에 대한 이러한 진술 사이에 큰 차이가 있다면, 그것은 나에게 없어집니다.
Atsby

6
테스터 A가 고품질 구성 요소에서 10 개의 버그 중 5 개를 발견하고 테스터 B가 품질이 낮은 구성 요소에서 263 개의 버그 중 58 개를 발견하면 테스터 A가 더 나은 테스터입니다.
로봇 고트

6
@Atsby 하나의 깨진 동작이 10 개의 다른 위치에 표시되면 실제 깨진 것에 대한 1 개의 버그 리포트가 10 개의 다른 증상 중 8 개를 나타내는 8 개의 개별 버그 리포트보다 훨씬 낫습니다.
Peteris

8
@Peteris (그리고 Steven) 이것들은 흥미로운 점 이지만 Steven의 인용문으로 효과적으로 전달되지는 않습니다 .
Atsby

@Atsby 인용하는 문장에서 첫 번째 절은 상대적인 진술 (버그의 가장 큰 부분을 찾음)이고 두 번째 절은 절대적입니다 (가장 큰 버그 수를 찾음). 그것은 말 사이의 차이점 이 버킷을 90 %를 채우기1/2 갤런으로이 물통을 채우기 버킷 1 갤런을 보유 할 때.
dodgethesteamroller

16

내 개인적인 경험을 바탕으로 이것은 좋은 것이 아닙니다. 거의 항상 개발자가 복제, 말도 안되거나 완전히 잘못된 버그를 신고합니다. 테스터가 할당량을 충족하기 위해 서두르면서 한 달 / 4 분기 말에 갑자기 이러한 항목이 많이 나타납니다. 이것보다 더 나쁜 점은 코드에서 발견 된 버그의 수에 따라 개발자에게 불이익을 줄 때입니다. 테스트 팀과 개발 팀은이 시점에서 서로 협력하고 있으며 다른 팀을 나쁘게 만들지 않으면 성공할 수 없습니다.

여기서 사용자에 계속 집중해야합니다. 사용자는 테스트하는 동안 얼마나 많은 버그가 제기되었는지 알지 못합니다. 사용자는 소프트웨어를받을 때 소프트웨어가 작동하는 한 20 개의 버그 보고서 또는 20,000 개를 제출해도 상관 없습니다. 테스터를 평가하기위한 더 나은 측정 기준은 사용자가보고했지만 테스터가 합당하게 잡은 버그의 수입니다.

그래도 추적하기가 훨씬 어렵습니다. 특정 사람이 얼마나 많은 버그 보고서를 작성했는지 확인하기 위해 데이터베이스 쿼리를 실행하는 것은 매우 쉬운 일입니다. 이것이 많은 사람들이 "버그 제기"메트릭을 사용하는 주된 이유라고 생각합니다.


+1이지만 더 나은 측정 항목의 유일한 문제는 사용자 버그보고 시스템을 개선하지 않는 인센티브를 창출한다는 것입니다.
user56reinstatemonica8

@ user568458-문제의 조직에 내부 QA 및 고객 지원을 위해 서로 다른 팀이 있으며이 질문은 내부 QA 만 처리했다고 가정했습니다. 둘 다 같은 팀이면 실제로 내 방법을 사용하든 아니든 이해 상충이 발생합니다.
bta

6

버그를 찾아서 게임을 만드는 데 아무런 문제가 없습니다. 사람들에게 동기를 부여하는 방법을 찾았습니다. 이거 좋다 또한 우선 순위를 전달하지 못하는 것으로 밝혀졌습니다. 대회를 끝내는 것은 낭비입니다. 우선 순위를 수정해야합니다.

몇 가지 실제 게임에는 간단한 점수 시스템이 있습니다. 왜 버그를 찾아야합니까?

단순히 버그 수로 게임의 점수를 매기는 대신 버그 보고서 품질을 측정해야합니다. 그런 다음 경연 대회는 버그 수에 관한 것이 아닙니다. 낚시 대회와 비슷할 것입니다. 누구나 우선 순위가 높은 큰 버그를 찾고 있습니다. 버그 보고서의 품질을 점수의 일부로 만드십시오. 개발자에게 테스터에게 버그 보고서의 품질에 대한 피드백을 제공하게합니다.

게임 밸런스를 미세 조정하는 것은 간단한 작업이 아니므로이 작업을 올바르게 수행하는 데 시간을 할애해야합니다. 목표를 명확하게 전달하고 재미 있어야합니다. 또한 비즈니스 요구가 변화함에 따라 조정할 수있는 것도 될 것입니다.


5

버그를 찾는 것이 그들의 일입니다. 그들이 일을 덜 효율적으로하지 않는 한 (예를 들어, 여러 개의 오타를 10 개 입력하지 않고 버그를 열어서) 그들이하는 일을 정확하게 수행하도록 권장합니다. 나는 많은 단점을 볼 수 없습니다.


Moot에 더 이상 동의하지 않았습니다. 물론 사람들은 어리석은 짓을 할 수 있지만 (오타의 파일 등)-어떤 방식 으로든 사람들은 어리석은 짓을 할 수 있습니다.
Fattie

1

이것은 @CandiedOrange의 답변 에 대한 확장입니다 .

보다 유용한 목표로 관심을 돌리기 시작하려면 비공식적이고 비공식적 인 것을 고려하십시오. 예를 들어 개발자는 작은 토큰과 트로피를 구입할 수 있습니다.

적어도 하나 이상의 중대한 버그가보고 된 경우 매일 테스터의 책상에 "Bug of the Day"토큰을 남겨 두십시오. 일주일에 한 번 더 크고 더 나은 "Bug of the Week"토큰 또는 트로피를 제공하는 개발자 행렬로 행사를 개최하십시오. 케이크로 "달의 버그"트로피를 더욱 극적으로 전달하십시오. 각 토큰이나 트로피에는 개발자가 왜 테스트에서 버그가 발견되었다고 생각하는지에 대한 인용이 수반되어야합니다. 인용의 사본은 테스터가 모두 읽을 수있는 곳에 두어야합니다.

테스터들이 버그를 찾는 것에서 트로피와 토큰을 모으는 것까지주의를 바꾼다는 희망이 있습니다. 이를위한 최선의 전략은 인용을 읽고 테스트에 대한 접근 방식이 개발자가 중요하게 생각할 버그를 가져올 가능성에 대해 생각하는 것입니다.

중요하지 않은 버그 보고서는 무시하십시오. 모든 것이 비공식적이고 비공식적이므로 언제든지 종료하거나 변경할 수 있습니다.


동의해야합니다. 한 가지 : 경영진으로부터 승인을받는 것에 대해 이것을하지 마십시오. 게임처럼 느끼려면 테스터가 규칙을 이해하는 것처럼 느끼는 것이 중요합니다. 로그인 시스템이 우선 순위가 높은 관심사 인 경우 사전에 알려주고 느슨하게 설정하십시오. 트래픽이 많은 유스 케이스 결함이 모호한 케이스보다 우선 순위가 높은 경우이를 명확하게하고 스코어링 방법을 설명하십시오. 우선 순위를 명확하게 지정하면 재미있게 만들고 사람들이 올바른 낚시 구멍에서 낚시 할 수 있습니다.
candied_orange 2:30에

1

이것이 프로젝트에 좋습니까?

없음 . 귀하는 필요한 기능을 목표로하지 않는 품질이 낮은 보고서를 생성하고 테스터가 문제를 복잡하게 만들고 실제로 "추정 된 작업을 완료하기 위해 스크램블링"하는 결과를 발견했다고 스스로 지적했습니다. "하고 있습니다.

그렇지 않다면 어떻게 (소프트웨어 개발자로서) 테스터 팀의 생각과 태도를 바꾸려고 노력할 수 있습니까?

프로젝트 관리자와 함께 문제를 제기하십시오. 그들은 이런 종류의 일을 그들의 일의 일부로 간주해야합니다. 당신의 PM이 그것을 처리 할 수 ​​없거나 의지 할 수 없다면, 당신은 자신 만의 대처 전략을 개발하는 데 어려움을 겪고 있습니다. (다른 질문이 될 것입니다)


-1

이런 식으로 진행된다면 어떻게 될지 (또는 이미 어떻게 될지) 반드시 품질이 낮아지는 것은 아니라고 생각합니다. 비록 그것이 품질 대 수량 비율을 감소시킬 것이라고 생각하지만. 이것이 나쁜 것인지 아닌지에 달려 있습니다. 그것은 경우에 따라

화면 개선, 유용성 또는 멍청한 버그에 대한 버그보고

당신이 정말로 원하지 않는 것입니다. 이것이 테스터에게 명확하다면, 나는 당신이보고 싶지 않은 일을하지 말고 명확하게 말하십시오. 해당 보고서 중 하나가 다시 나타나면이를 수행하십시오.

그들이 경쟁하는 이유는 아마도 일하는 동안 재미를 느끼기 때문일 것입니다.


1
사용성 문제에 대해 알고 싶습니다. 이를 "사양의 버그"라고합니다.
RubberDuck

1
@RubberDuck 글쎄, 이것이 팀과 100 % 명확하다면, 그들이 당신이 전혀하지 않는 것을 알면서도 그 이유를 알면서도 그들에게 말할 이유가 있습니다. 그래서 그들에게 경고하십시오. 이것이 팀과 구체적으로 이야기되지 않으면 실제로 당신이 그들에게 화를 낼 수 있다고 생각하지 않으며 단지 당신이 승인하지 않은 보고서 중 하나의 예를 제시하고 당신이 그것을 원하지 않는다는 것을 알려주십시오.
Loko
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.