2013-12-21 6 views
1

대형 XML 스키마의 테스트 데이터를 빌드하고 어셈블하는 방법은 무엇입니까?대형 XML 스키마의 테스트 데이터를 빌드/어셈블하려면 어떻게해야합니까?

복잡한 중첩 XML 스키마 (xsd)에 대한 테스트 데이터를 빌드해야합니다. 우리는 각각의 임베디드 XSD에 대한 테스트 데이터를 개별적으로 만들고 기본 XSD의 정의 된 순서로 어셈블하는 것을 좋아합니다. 텍스트/그리드/스키마보기가있는 XMLSPY를 사용하고 있습니다.

다음과 같이 정의 된 시퀀스 (하위 xsd 이름 만)를 나열하는 XML 스키마의 목록보기를 가져 오는 방법이 있습니까?

Main XSD 

Sub XSD1 
Sub XSD2 

     Sub XSD21 
     Sub XSD22 

Sub XSD3 

우리는 우리가 & 큰 XML 스키마에 대한 테스트 데이터를 조립 구축 할 수있는 방법을 계획 할 수 있습니다.

이 경우 테스트 데이터를 작성하는 다른 방법이 있습니까?

답변

1
내가 다른 사람을 통해 탈지 신속하게 마지막 (굵은 질문)에 초점을 ... 그리고하고

...

내가 XMLSPY 사용자 아니에요 ... 난,하지만 어떤 사람들을 요청했습니다 및 내가 말한대로, 당신이 원하는 것을 정확히 줄 수있는 상자 보고서가 없습니다. 필자는 XMLSPY에 자동화 API가 있음을 알고 있습니다. 자동화 API를 사용하면 필요한 것을 정확히 얻을 수 있습니다.

일반 도구 관점에서 QTAssistant (관련이 있습니다)에는 종속 보고서 (Excel로 내보낼 수 있음)를 제공하는 기본 보고서가 있습니다. 아래는 UBL 2.1.0 XSD 파일 종속성을 보여주는 스크린 샷입니다.

enter image description here

요청에 대한 생각, 나는 하나, 내 경험에서

... 내가 더 나은 각도 불구하고 제안 할 것입니다 ... 당신이 (당신의 접근 방식을 컴포넌트 화) 옳은 길에있어 생각 사용자가 자신의 시나리오에서 수행하는 많은 실수 중 테스트 데이터 모델을 정의 할 때 XSD 파일 레이아웃에 초점을 맞추는 것입니다. 일반적으로 XSD 작성자가 설명한대로 (xsd : include/xsd : import를 통해) XSD 파일 간의 관계가 XSD 프로세서와 항상 관련이있는 것은 아닙니다. 실제로 XSD 집합의 무결성에 영향을주지 않고 참조가 누락 될 수 있습니다. 불필요한 참조는 레이아웃에서 불필요한 오버 헤드를 유발할 수 있지만 XSD 프로세서는 안전하게 무시할 수 있습니다. 따라서 궁극적으로 XSD 구성 요소 간의 관계가 XSD 파일 레이아웃에서 설명 된 것과 반드시 ​​동일하지는 않습니다.

또 다른 일반적인 실수는 XSD 구성 요소를 사용하는 모델에 테스트 데이터를 이름 및/또는 구조를 통해 축 어적으로 넣는 것입니다. 필자의 경험에 따르면, 테스트 데이터와 XSD 모델은 우선 순위, 타임 라인, 기술 전반에 대한 이해, 특히 XML과 XSD와 같은 두 가지 팀으로 관리됩니다. 이것은 궁극적으로 XSD 구성 요소 간의 관계가 프로젝트 요구 사항 문서 또는 비즈니스 도메인에 설명 된 것과 반드시 ​​동일하지는 않다는 것을 의미합니다. 세분성은 다를 수 있으며 관계가 평평하거나 정규화 될 수 있습니다.

테스트 데이터 모델링을 XSD에 연결하는 단점이 있습니다 ... 예를 들어 테스트 데이터를 만드는 사람은 XSD를 가능한 한 조기에 (자주 XSD 디자이너의 경우) 부당하게 필요로합니다. XSD (새로운 요구 사항, 준수 및 버그 수정 등)로 인한 변경 사항은 테스트 데이터 측면에서 혼란을 야기합니다.

XSD가 이미 있거나 XSD가 "the"모델 (UML 대신 또는 다른 모델링 언어) 인 경우 ...그것은 "영감의 원천"으로 사용될 수 있습니다. 필자의 견해로는, 필자의 견해로는 매핑 계층을 통해 이루어져야하는데, 이는 매핑 데이터를 통해 XSD에서 설명한 것과 같은 두 가지 테스트 데이터 모델의 분리를 보장합니다.

우리가 권장하는 접근법을 제시합니다 ... XSD (요구 사항 등)의 뒤에는 항상 뭔가가 있거나 XSD (구성 요소 아님)가 설명하는 모델을 사용하거나 테스트 데이터 요구 사항이 있습니다. 이를 사용하여 "정규화 된"데이터 세트를 작성하십시오. 예를 들어, Excel 워크 시트 또는 즐겨 찾는/사용 가능한 데이터베이스의 일부 테이블 일 수 있습니다.

매핑 정보를 사용하여 정규화 된 데이터 세트의 데이터를 이상적으로 XSD를 기반으로하거나 간접적으로 (예 : ORM 매핑) XML로 변환하는 도구 조합을 사용합니다. 실행중인 플랫폼과 사용 가능한 기술 (XML Builder를 사용하여)에 따라 효과가있는 것을 확인해야합니다.

예를 들어 고객, 계좌, 인보이스 등과 같은 개체로 작업한다고 가정 해보십시오. 테스트 데이터에 설명되어 있어야합니다. XSD도 줄을 써야하지만 여러 가지 다른 이유로 (확장 성, 재사용, 코드 바인딩에 XSD를 수용하는 등의 대체 그룹, 형식 계층, 그룹 등) 다른 모든 용도를 사용할 수 있습니다. 요점은, 비즈니스 도메인 모델과 아무 관련이없는 모든 종류의 요구 사항을 지원하기 위해 XSD에 넣는 많은 것들이 테스트 데이터 모델에 부담이 될 수 있습니다.

테스트 데이터를 모델링하는 것이 일반적으로 테스트 모델의 시드를 제공 할 수 있다는 것은 말할 필요도없이 ... (양호한) XSD에 의해 충족되도록 의도 된 것보다 훨씬 다른 것입니다.