2009-07-20 6 views
1

우리는 복잡한 데이터를 가져 와서 변환하는 변환기 제품군을 보유하고 있습니다. 대부분 다른 형식이 있지만 입력은 EDI와 출력 XML 또는 그 반대입니다.복잡한 입력 데이터가 필요한 프로그램을 어떻게 테스트합니까?

데이터에 많은 상호 종속성이 있습니다. 어떤 방법 또는 소프트웨어이 이와 같이 복잡한 입력 데이터를 생성 할 수 있습니까?

지금 우리는 두 가지 방법을 사용합니다. (1) 수 년 동안 대부분 파일 버그와 샘플 문서에서 작성한 샘플 파일 모음, (2) 의사 무작위 테스트 데이터 생성. 그러나 전자는 경우의 일부만을 다루고 후자는 많은 절충안을 가지고 있으며 필드의 하위 집합 만 테스트합니다.

복잡한 테이블 구동 데이터 생성기를 구현 (재발 명?)하는 과정을 진행하기 전에 의 옵션에 성공 했습니까?

답변

2

글쎄, 그 대답은 당신의 질문입니다. 복잡한 테이블 기반 데이터 생성기를 구현하지 않는 한 (1)과 (2)를 사용하여 바로 작업을 수행 할 수 있습니다.

(1)은 "1 버그 확인, 1 새로운 테스트 사례"의 규칙을 포함합니다. 그리고 실제 상황에서 (2)의 의사 랜덤 테스트 데이터의 구조가 모두 일치하면 괜찮습니다.

(2)는 항상 개선 될 수 있으며, 새로운 엣지 케이스를 생각할 때 주로 시간이 지남에 따라 개선 될 것입니다. 테스트의 무작위 데이터 문제는 테스트 케이스의 무작위 데이터에서 예상되는 결과를 계산하는 것이 매우 어려워서 테스트 케이스에서 테스트 된 알고리즘을 기본적으로 다시 작성해야한다는 점에서만 무작위적일 수 있다는 것입니다.

그래서 (2)는 경우 중 일부와 항상 일치합니다. 언젠가 그것이 모든 경우와 일치한다면, 사실 당신 알고리즘의 새로운 버전이 될 것입니다.

+0

마지막 단락의 점수를 얻습니다. 그것은 나를 웃게했다. 나는 누군가가 기존의 테스트 데이터 생성기를 알고 있기를 바랍니다. – lavinio

0
  1. 나는 그것이 불가능하지는 않지만 어렵게 만들 수 있습니다보고 오류 (나는 당신이 말한 알고를 재현하는 임의의 데이터를 사용하여 무리를 줄 것

    '의사 난수', 당신이 정확히 무슨 뜻인지 바로 확인하지).

  2. 데이터의 전체 파일을 조작하면 기능 또는 통합 테스트가 고려 될 수 있습니다. 나는 당신의 파일 세트를 알려진 버그로 가져 와서 이것을 단위 테스트로 번역하거나, 앞으로 발생할 버그에 대해서 그렇게 할 것을 제안한다. 그런 다음 이러한 단위 테스트를 확장하여 '샘플 데이터'가없는 다른 오류 조건을 포함 할 수 있습니다. 이렇게하면 확인하려는 조건/규칙 위반을 생각할 때마다 완전히 새로운 데이터 파일로 쉽게 전환 될 수 있습니다.

  3. 데이터 형식의 구문 분석이 형식의 데이터 해석에서 캡슐화되어 있는지 확인하십시오. 이렇게하면 위에서 설명한대로 단위 테스트를 훨씬 쉽게 수행 할 수 있습니다.

  4. 테스트를 확실히해야하는 경우 파일 형식에 대한 기계 판독 가능 설명을 얻고 형식을 분석하고이를 기반으로 유효한/잘못된 파일을 생성하는 테스트 데이터 생성기를 작성하는 것이 좋습니다. 또한 파일 형식에 따라 테스트 데이터가 진화 할 수 있습니다.

+0

1.실제로는 의사 랜덤입니다. 무작위로 생성되지만 실행 사이에 고정됩니다. 2. 일반적으로 발생하는 문제는 주로 상호 작용에 의해 발생합니다. 3. EDI 구문 분석기는 XML 구문 분석기와 별도의 단계입니다. 둘 다 중립적 인 내부 형식으로 씁니다. 따라서 파서는 논리적으로 분리되어 있습니다. 4. 예. 물론 우리가 테스트 데이터를 생성 할 때 같은 사전을 사용하여 해석하는 경우에도 문제가 발생합니다. 그래서 다른 알고리즘을 사용하는 것이 유용 할 것입니다. – lavinio

관련 문제