基于wsdl的测试数据自动生成技术

1. 大概思路

①首先导入wsdl文档,进行分析,生成wsdl树或者什么表现形式,得到要输入数据的类型以及约束,然后针对类型约束进行相应的测试数据的生成(生成原则如下图1)。

模型生成步骤:

为输入数据建立模型主要有以下几步:

第一步:以一个复杂数据类型的名字作为初始节点(根节点)。

第二步:如果根节点的某个子元素仍然是复杂数据类型,那么生成一个该子复杂类型的节点,另外一条以该子复杂类型名为名字的一条边,用以指向该子复杂类型的节点。

第三步:如果根节点的某个子元素是一个基本类型(一种简单数据类型),那么生成一个该基本类型的节点,另外生成一条以该元素的元素名为名字的边,用以指向该基本类型的节点。

第四步:如果根节点的某个子元素是一个派生类型(一种简单数据类型),此时需生成4个组建包括两个节点和两条边,两个节点为一个该派生类型的基类型的节点和一个包含约束值的约束节点,两条边为一条以该派生类型名为名字的边,该边从根节点出发指向派生类型的基类型的节点,另一条边为一条以约束名称为名字的边,它从自定义类型基类型的节点出发指向约束节点。

第五步:为Input元素中的每一个子复杂数据元素通过重复第一步到第四步过程建立类型模型,最后得到Input元素的数据类型模型,即为WSDL数据类型模型,可以用于后续的测试数据生成。

在所生成的数据类型模型中,如果一个节点不再有指向其他节点的边时,该节点通常表示一个基本类型或者某个简单数据类型的约束。

简单数据类型测试数据生成:

先提取加诸于简单数据类型上的约束,按照黑盒测试方法(等价类划分、边界值分析、错误分析法)生成。

复杂数据类型就是简单数据类型+复杂元素数据结构关系(sequence、all、choice)。

sequence:所有子元素按照顺序出现且仅出现一次。按顺序笛卡尔积

all:所有子元素可出现可不出现,顺序任意。随机序列

choice:所有子元## 标题 ##素只出现其中一个。 随机选一个子元素

2. ## 框架

GUI模块,有html+jquery实现,负责wsdl文件上传,及展示wsdl解析后的数据约束,并能够让测试员根绝 自身需要修改编辑约束。

wsdl建模模块:使用wsdl4j对wsdl文件进行解析,形成对constraint、simpleType、complexType、type类的数据结构。

③测试数据生成模块:JAXB技术是可以根据XML Schema生成java类的技术。

④约束变异模块:

⑤数据筛选模块:

3. ## 效果

时间: 2024-07-31 21:05:55

基于wsdl的测试数据自动生成技术的相关文章

php学习之道:php中soap的使用实例以及生成WSDL文件,提供自动生成WSDL文件的类库——SoapDiscovery.class.php类

1. web service普及: Webservice soap wsdl区别之个人见解 Web Service实现业务诉求:  Web Service是真正"办事"的那个,提供一种办事接口的统称. WSDL提供"能办的事的文档说明":  对要提供的服务的一种描述格式.我想帮你的忙,但是我要告诉你我都能干什么,以及干这些事情需要的参数类型. SOAP提供"请求"的规范:  向服务接口传递请求的格式,包括方法和参数等.你想让人家办事,总得告诉人家

报告自动生成

对于诸多行业客户,在平时工作实践中,会产生大量的财务数据.交易数据,以及基于这些数据的计算过程和结果.如何将此类数据的采集.编辑.加工.汇总.整理.存储.产生分析报告,得到有效信息,工作量极大,人工成本昂贵,并且繁琐,存在风险.如果客户的工作报告生成系统为人工制作,操作风险会比较高,数据需人工采集编辑,未来产品数量和数据爆发式增长,现有制作报告人力会面临制作时效较长.缺失系统管理.无法有效完成报告查询定位等风险,间接影响客户服务体验.基于此,构建一个行业客户工作报告生成配套管理系统,从报告的出生

金融行业工作报告自动生成系统

对于诸多行业客户,在平时工作实践中,会产生大量的财务数据.交易数据,以及基于这些数据的计算过程和结果.如何将此类数据的采集.编辑.加工.汇总.整理.存储.产生分析报告,得到有效信息,工作量极大,人工成本昂贵,并且繁琐,存在风险.如果客户的工作报告生成系统为人工制作,操作风险会比较高,数据需人工采集编辑,未来产品数量和数据爆发式增长,现有制作报告人力会面临制作时效较长.缺失系统管理.无法有效完成报告查询定位等风险,间接影响客户服务体验.基于此,构建一个行业客户工作报告生成配套管理系统,从报告的出生

synopsys.Vera.vI-2014.03.Linux32_64 2CD 测试向量自动生成

synopsys.Vera.vI-2014.03.Linux32_64 2CD 测试向量自动生成          Vera验证系统满足了验证的需要,允许高效.智能.高层次的功能验证.Vera验证系统已被Sun.NEC.Cisco等公司广泛使用以验证其实际的产品,从单片ASIC到多片ASIC组成的计算机和网络系统,从定制.半定制电路到高复杂度的微处理器. Sidefx Houdini Master v8.2.31 1CD(创建高级视觉效果的终极工具) Sidefx Houdini Master

输入关键词自动生成文章(2020年人工智能写作)

自然语言处理的另一个重要应用领域是文本的自动书写.输入关键词自动生成,关键词.关键短语和自动摘要提取都属于这一领域的应用.然而,这些应用程序是由多到少生成的. 这里我们介绍另一个应用:从少到多生成,包括句子复制,从关键词和主题生成文章或段落等.基于关键词的文本自动生成模型本章的第一节介绍了一些基于关键字生成文本的处理技术.它主要是通过使用关键字提取和同义词识别等技术来实现的.以下是对实施过程的描述和介绍.事件当启动搜索引擎广告时,我们需要为广告写一个句子描述.一般来说,模型的输入是一些关键词.例

京东商城背后的AI技术能力揭秘 - 基于关键词自动生成摘要

作者:京东AI研究院 导言 过去几十年间,人类的计算能力获得了巨大提升:随着数据不断积累,算法日益先进,我们已经步入了人工智能时代.确实,人工智能概念很难理解,技术更是了不起,背后的数据和算法非常庞大复杂.很多人都在疑惑,现在或未来AI将会有哪些实际应用呢? 其实,关于AI的实际应用以及所带来的商业价值并没有那么的"玄幻",很多时候就已经在我们的身边.接下来,[AI论文解读]专栏将会通过相关AI论文的解读,由深入浅地为大家揭秘,AI技术是如何对电商领域进行赋能,以及相关的落地与实践.人

API的文档自动生成——基于CDIF的SOA基本能力

当前,作为大部分移动app和云服务后台之间的标准连接方式,REST API已经得到了绝大部分开发者的认可和广泛的应用.近年来,在新兴API经济模式逐渐兴起,许多厂商纷纷将自己的后台业务能力作为REST API开放出来,给更广泛的第三方开发者使用. 但是,管理REST API并非是一件容易的工作.由于缺乏有效的接口数据schema约束,加上设计REST API时resource endpoint的安排,以及发送http请求的方式又都五花八门,REST API开发完成后,大多数情况下API开发者仍然

java_model_dao_自动生成_generator-mybatis-generator-1.3.2 基于maven插件

用mybatis原因很简单,易用,性能.是介于jdbc和hibernate之间的一个完美方案. 很简单: 1:配置pom <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://

基于OCILIB的oracle数据库操作总结及自动生成Model和Dao的工具

基于OCILIB的oracle数据库操作总结 1.       类图 2.       基类BaseOCIDao的设计与实现 BaseOCIDao.h头文件 #pragma once /* --------------------------------------------------------------------------------------------- * * INCLUDES * ----------------------------------------------