首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为大型XML模式构建/组装测试数据?

如何为大型XML模式构建/组装测试数据?
EN

Stack Overflow用户
提问于 2013-12-21 21:32:22
回答 1查看 192关注 0票数 1

如何为大型XML模式构建/组装测试数据?

我们需要为复杂的嵌套XML模式(xsd)构建测试数据。我们喜欢分别为每个嵌入式XSD构建测试数据,并且喜欢按照主XSD定义的顺序进行组装。我们使用的XMLSPY具有text/Grid/Schema视图。

是否有一种方法可以获得XML模式的列表视图,该视图以如下形式列出定义的序列(仅为sub名称)。

代码语言:javascript
复制
Main XSD

Sub XSD1
Sub XSD2

      Sub XSD21
      Sub XSD22

Sub XSD3

我们可以计划如何为大型XML模式构建和组装测试数据。

在这种情况下还有其他方法来构建测试数据吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-07 02:28:37

我关注的是你的最后一个问题.快速浏览其他的..。

我不是XMLSPY用户..。不过,我问过一些人,据我所知,没有现成的报告能给出你想要的东西。我确实知道XMLSPY有一个自动化API,我相信它可以被很好地利用来得到所需要的东西。

从通用工具的角度来看,QTAssistant (我与它相关联)有一个开箱即用的报告,它为您提供了一个依赖报表(可以导出到Excel)。下面是显示UBL2.1.0XSD文件依赖关系的屏幕截图。

考虑到你的要求,我相信你走上了正确的道路(将你的方法组件化).我会提出一个更好的角度..。

根据我的经验,在您的场景中,人们所犯的许多错误之一就是在定义测试数据模型时关注XSD文件布局。一般来说,XSD作者描述的XSD文件之间的关系(通过xsd:include/ XSD :import)并不总是与XSD处理器相关。事实上,引用可能会丢失而不会影响XSD集的完整性;多余的引用可能会在布局中造成不必要的开销,而XSD处理器将安全地“忽略”它们。这最终意味着XSD组件之间的关系不一定与XSD文件布局所描述的关系相同。

另一个常见的错误是通过名称和/或结构将测试数据放入一个以逐字方式使用XSD组件的模型中。至少在我的经验中,测试数据和XSD模型是由两个不同的团队管理的,它们的优先级、时间表和对技术的理解(特别是XML和XSD )非常不同。这最终意味着XSD组件之间的关系不一定与项目需求文档中描述的关系相同,甚至在业务域中也不一定相同:粒度可能不同,关系可能是扁平的,也可能是超规范化的,等等。

将测试数据建模与XSD相结合有一个缺点.例如,创建测试数据的人需要XSD尽早,常常是不合理的(对于XSD设计人员);更不用说对XSD的更改(由于新的需求、遵从性和错误修复等等)。在测试数据端造成破坏。

如果XSD已经存在,或者XSD是“那个”模型(而不是UML,或者其他类型的建模语言).它可以作为“灵感之源”.不过,在我看来,应该通过映射层将它们结合在一起,这将确保两者的解耦:您的测试数据模型与XSD描述的模型。

让我谈谈我们推荐的方法..。在XSD (需求等)后面总是有一些东西,或者采用XSD描述的模型(不是它的组件),或者测试数据需求。用它来建立一个“规范化”数据集..。例如,它可能是一堆Excel工作表,或者是您最喜欢的/可用数据库中的一些表。

使用一些工具组合,使用映射信息将规范化数据集中的数据转换为XML,最好是直接基于XSD,或者间接地(例如ORM映射)。您必须检查什么对您有效,取决于您在哪个平台上运行,以及您可以引入哪些技术(我们为此使用XML )。

例如,假设您使用诸如客户、帐户、发票等对象。您的测试数据应该对此进行描述。虽然XSD也应该对齐,但它可以使用各种其他东西,并且出于不同的原因(替换组、类型层次结构、组等),以实现扩展性、重用性、适应XSD到代码绑定等。关键是,在XSD中投入大量的东西来支持与业务域模型无关的各种需求,可能会给您的测试数据模型带来负担。

更不用说建模您的测试数据也可以为测试模型提供种子在一般情况下..。这与一个(好的) XSD实现的更大的不同。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20723781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档