【问题标题】:How to generate a collection of testing XML datafiles from an XSD schema? [duplicate]如何从 XSD 模式生成测试 XML 数据文件的集合? [复制]
【发布时间】:2012-12-26 12:47:58
【问题描述】:

可能重复:
How to generate sample XML documents from their DTD or XSD?

给定一个 XSD 架构,是否有一种方法可以从该 XSD 架构(所有这些都成功验证该 XSD 架构)生成 XML 文件集合以用于测试目的?

我们正在创建一系列使用 XML 文件传递​​输入/输出的 Java 6 应用程序。所有 XML 文件都应该成功地针对我们的 XSD 模式之一进行验证。 XSD 模式非常复杂,因此手动创建 XML 文件进行测试是禁止的。我们想要一组测试 XML 文件,这些文件将锻炼输入数据的限制(因此只有一个 XML 数据文件是不够的)。理想情况下,最好有一个工具允许测试人员为每个 XML 标记选择几个值(最大值、最小值、零值、负值等),然后该工具将生成使用这些测试人员选择的值的组合的 XML 文件。

系统正在 Microsoft Windows XP 环境中进行测试,但我们当然可以在不同的环境中生成 XML 测试文件(如果特定工具可以帮助自动执行此操作)。我们希望这种从 XSD 生成 XML 的功能用于测试目的,并且我们在应用程序本身中不需要它,因此可以使用独立的 XML 生成工具(如果存在的话)。

相关问题:似乎我发现的唯一现有工具是 jCAM(主项目站点位于 http://sourceforge.net/projects/camprocessor/;jCAM 功能列表和教程位于 https://www.oasis-open.org/committees/download.php/29661/XSD%20and%20jCAM%20tutorial.pdf)。除了教程之外,我还没有研究过这个工具。有人使用过这个工具吗?

【问题讨论】:

  • 这不是一个有效的方法。您需要根据项目要求生成独立于模式的 XML 文件(您认为有效的(正面测试用例))以及您认为无效的 XML 文件(负面测试用例),并验证您的架构准确地验证或使它们无效。即使您可以找到一个工具来为您从模式生成 XML 文件,这些文件也不是好的测试用例,因为它们将基于模式的未经证实的特征,而不是您的项目的要求。这是有缺陷的逻辑。
  • 用于测试的 XML 输入文件的自动生成不会用于验证应用程序的内部行为/逻辑(如您所解释的)......这需要更深入的知识,一个主题事项专家必须提供。我们不是在寻找一种自动化工具来取代人或他们的智慧。
  • @MarkOConnor、@JesusRamos、@Stony、@M42、@mpapis - 我认为您在这里忽略了重点。这个问题是不同的,只是因为它更多具体说明了生成示例 XML 所需的内容:a tool which allows a tester to pick a few values for each XML tagusing **combinations** of those tester-chosen values. 问题的细节是魔鬼!如果有的话,请在下次关闭问题时注意!哦,Oxygen 不能满足这里的要求。
  • 此问题与 generate-a-single-sample-XML-file 问题不重复。请注意,我们希望创建多个 XML 文件以进行测试。许多工具使用数据值的半随机选择从 XSD 模式创建单个 XML 文件......但这对我们没有帮助。
  • 示例:如果我们有一个天气子组件,输入模式可能包含气温和相对湿度(每个都有适当的有效值范围)。但是,温度和湿度的某些组合不能同时有效……这种相互依赖性可以使用一些更复杂的模式技术(例如 schematron)来捕获;子组件本身应该注意这种可能性。但是,测试团队不想为数百个输入值(以及每个输入值的几个示例值)手动生成数量荒谬的 XML 测试文件。

标签: xml testing xsd schema


【解决方案1】:

我已经有一段时间没有使用它了,但我知道 Altova XmlSpy 曾经这样做过。您可以获得免费下载或试用版(试用期为 30 天)并试一试。

http://www.altova.com/xml-editor/

【讨论】:

  • 感谢您的建议。不幸的是,Altova 的 XMLSpy 只生成一个 XML“样本”文件,就像其他工具一样。它似乎不会生成 XML 文件的集合。来自manual.altova.com/xmlspy/spystandard/… 的引用:“DTD/Schema | Generate Sample XML File 命令根据主窗口中当前活动的模式(DTD 或 XML 模式)生成一个 XML 文件。”
猜你喜欢
  • 2011-08-28
  • 1970-01-01
  • 2014-07-03
  • 2018-06-30
  • 1970-01-01
  • 2010-12-10
  • 2023-02-10
  • 2011-04-24
  • 2012-06-18
相关资源
最近更新 更多