2010-06-10 4 views
5

테스트 데이터 (모의 객체를 만드는 데 사용되는 xml)를 관리하는 데 한 가지 문제가 있습니다. 우리가 현재 가지고있는 데이터는 오랜 기간 동안 진화되었습니다. 새로운 기능이나 테스트 케이스를 추가 할 때마다 새로운 데이터를 추가하여 해당 기능을 테스트합니다. 문제는 비즈니스 요구 사항이 형식 (예 : 변수의 길이 또는 형식)을 변경하거나 테스트 데이터가 지원하지 않는 변경이있을 때 크기가 100s 인 전체 테스트 데이터를 변경해야하는 경우입니다. 누구든지이 문제를 극복하기 위해 더 나은 방법이나 프로세스를 제안 할 수 있습니까? 어떤 제안이라도 인정 될 것입니다.Junit 테스트 용 테스트 데이터 관리

답변

7

개인적으로 필자는 개인적으로 테스트 케이스 내에서 다른 테스트 케이스에 대한 데이터를 작성하지 않을 것입니다. 테스트 데이터를 작성하는 대신 각 테스트 케이스 또는 이전의 각 블록 내에서 오브젝트를 신속하게 생성 할 수있는 데이터 생성기를 작성하십시오.

이 두 가지 장점이 있습니다

  1. 그것은 개체를 사용하고 정확히 볼 수있는 개발자로 읽기 테스트 훨씬 쉽게, 그리고
  2. 그것은 크게 테스트의 양을 줄이려고한다을 관리해야하는 데이터

기능 테스트 및 통합 테스트와 같은 테스트 데이터를 예약하고 DBDeploy와 같은 도구를 사용하여 해당 데이터를 관리하십시오. 이 데이터는 의도적으로 작게 유지해야합니다. DBDeploy 및 DBUnit을 사용하면 각 테스트 또는 테스트 스위트 전에 데이터베이스를 정리할 수 있습니다. 또한 데이터 재사용을 크게 늘리므로 필요한 데이터의 양을 제한해야합니다.

+0

감사 크리스에게 있습니다. 그것은 좋은 통찰력이었습니다. – nobody

3

이 문제에 대한 완벽한 솔루션이 아니라 (당신은 데이터의 매크로 블럭의 수백이 있기 때문에 ESP 귀하의 경우) 확실히 도움이 될 동안 - 행동 검증 대신 데이터 검증에 따라 검사를 작성합니다.

마틴 파울러는 매우 좋은 기사 here

+0

감사합니다 Mihir. 유용한 기사를 찾았습니다. – nobody