2012-09-28 2 views

답변

4

"민첩한 테스트"와 같은 것은 없지만 민첩한 방법론의 핵심 구성 요소로 자주 등장하는 것은 unit testing이며 민첩성보다 앞서 있습니다. 이것이 "전통적인 구조화 된 테스트"와 어떻게 다른지는 그 의미에 달려 있습니다.

혼란을 야기 할 수있는 민첩한 단위 테스트의 맥락에서 종종 나타나는 다른 것들 : Test driven developmentcontinuous integration.

+1

전적으로 동의합니다. '민첩함'은 협업의 태도이므로 차이가 없다고 말할 수 있습니다. 문제는 코드가 작성되고 "그와 우리"태도로 테스트하기 위해 QA에 던져 지거나 작동하는 소프트웨어를 작성하고 필요한 것을 발견 할 태도가있는 경우입니다. –

+0

민첩하고 직업적인 자부심과 좋은 테스트 습관과는 관련이 거의 없습니다. TDD 또는 CI 사용 여부에 관계없이 또는 팀의 민첩성 여부에 관계없이 코드 작동 여부와 품질이 좋은지 확인해야합니다. TDD와 CI는 확실히 그것을 더 쉽게 만듭니다! – jrajav

1

애자일 프로젝트는 수작업 테스트가 곧 너무 늦어서 자주 출시되는 것을 허용하지 않기 때문에 통합 테스트 및 단위 테스트뿐 아니라 자동화 테스트를 주로 강조합니다.

TDD 방법은 "결함을 찾기 위해 테스트"에서 "설계 기술로 테스트"로 강조를 바꿉니다.

마음가짐은 매우 다를 수 있습니다. 민첩한 프로젝트는 테스트를 사용하여 신속한 리팩토링과 변경을 가능하게합니다. 테스트가 작동하는 것을 알려주기 때문에 두려움없이 크게 변경할 수 있습니다. 전통적인 프로젝트는 변화를 두려워합니다. 그들의 테스트가 같은 방식으로 구성되지 않을 수 있으며 변경을 금지 할 수 있습니다.

+1

[삭제 된 주석과 완전히 동의하지 않습니다!] - TDD의 가장 큰 이점은 테스트 가능한 코드를 작성해야한다는 것입니다. 일반적으로, 더 테스트 가능한 코드는 다른 방법으로도 * 더 나은 코드입니다. 즉, 테스트 가능성은 다른 비 기능 요구 사항과 충돌하지 않습니다. 그것은 그들과 조화를 이룹니다. TDD *는 해당 인터페이스를 사용하는 코드를 작성하기 전에 인터페이스를 설계하는 방법입니다. 종이에 인터페이스를 설계하면 너무 많은 노력을 기울이지 않고도 지금까지의 작업을 수행 할 수 있습니다. – DNA

1

그것은 당신이 "기존의 구조적 테스트"와 "민첩 테스트"를 정의하는 방법에 물론, 달려 ...

이 내가 '가장 효과적인 민첩한 팀에서 테스트를 관찰하는 경향이 한 것입니다 보았다.

  • 별도의 테스트 그룹이 없습니다. 테스터는 개발 팀 내에서 작동하며 별도로 개발되지 않습니다.
  • 테스트는 개발 프로세스 전반에 걸쳐 진행되는 프로세스입니다. 개발 후 별도의 단계에서 발생하는 테스트는 아닙니다.
  • 테스터가 아닌 팀 전체가 테스트를 수행합니다. 가장 확실한 예는 TDD로 인한 테스트이지만 다른 장소에서도 발생합니다 (예 : 제품 소유자가 종종 수행중인 스토리에 대한 상위 수준의 수락 테스트를 정의하는 데 참여하는 경우).
  • 테스터는 모든 테스트를 제어하는 ​​병목보다는 모든 팀에 의해/전체 팀의 테스트 및 촉진자 역할을합니다.
  • 테스터와 비 테스터 간의 관계는 적대적 이라기보다 협력 적/대학적일 수 있습니다.
  • 일반적으로 테스터는 민첩한 팀에 더 존경심을 느낍니다.
  • 테스터는 프로세스 초기 단계에 참여하기 때문에 테스트가 쉬운 시스템을 쉽게 제작할 수 있습니다.
+0

아마 추가로 : 민첩한 팀에서 고전적인 개발보다 더 자주 제공하기 때문에 테스트 능력이 더 복잡합니다. 특히 빠른 결과를 얻기 위해 자동화 작업이 포함됩니다. –

0

나는 소프트웨어 테스트를 포함하는 실제 조각이 상당히 유사 할 수 있다고 주장한다.

가장 큰 차이점은 당신이 거기에 오는 방식입니다. 일반적으로 민첩한 환경에서는 생산 상대성 이론에 신속하게 도달 할 수있는 작은 개발 작업을 수행합니다. 이 기간은 한 달에서 2 주까지 가능합니다.

이러한 작은 이야기와 더 빠른 마감 시간은 전체 팀에 의해 결정되는보다 가벼운 요구 사항과 작은 개발 부분을 필요로합니다. 테스터가 테스트 전략 문서를 작성하는 데 시간을 허비하지 않는 기간은 없습니다.반복 횟수가 작을수록 테스터는 테스트에만 집중할 수 있습니다.

모든 사람이 동일한 페이지에 있도록 격려하면 일반적으로 재 작업이 줄어 듭니다. 소규모 작업을하는 모든 사람들은 일반적으로 소프트웨어를보다 자주 구축하고 배포합니다. 이것은 잘 구축 된 CI 환경에 대한 강조를 이끌어냅니다. CI는 600 페이지짜리 주제입니다. 그래서 더 연구 할 수 있도록 남겨 둘 것입니다.

가장 큰 차이점은 팀의 정신력입니다. 모두가 소프트웨어를 출시하기 위해 함께 노력하고 있습니다. 애자일은 개발자 대 테스터의 대결을 없애는 훌륭한 일을합니다. 누가 잘못했는지 논쟁하는 대신 (나쁜 테스트, 나쁜 코드, 나쁜 요구 사항 등) 그룹이 함께 해결합니다. 회사는 결함 계산이나 팀 작업을 방해하는 다른 통계를 제거하여 자연 재해를 방지해야합니다.

0

당신이 따른 방법론은 무엇이며, 제품 품질의 기본은 동일합니다. 폭포에서 민첩성으로 바뀐 점은 스프린트의 초기와 테스트 수행 방법에 대한 테스트가 시작되었다는 것입니다. 또한 TDD와 같은 사례를 통해 테스트의 중요성이 향상되었습니다.

단위 테스트부터 시스템 테스트 및 수락 테스트까지 모든 테스트는 새로운 방식으로 수행됩니다. 예 : 개발이 진행되는 동안 Tester는 '쇼 세션'과 같은 세션에 참여하여 초기 피드백을 줄 수 있습니다.

스프린트 작업은 우리가 데모 이전의 각 사이클 및 수용 테스트에서 회귀 테스트를 수행하도록 유도했습니다. 어떻게 일이 민첩에서 폭포로 바뀌는가 (구조화 된 테스트)

관련 문제