本发明专利技术提供一种组合服务的回归测试方法和装置,其中方法包括:解析被测的组合服务的业务流程描述文件,获得所述组合服务的执行流信息和测试环境部署信息,并根据所述测试环境部署信息构建测试环境;对比所述组合服务演化前后的执行流信息,获取受演化影响的执行流信息作为回归测试路径;分析所述回归测试路径,得到所述回归测试路径的条件约束信息;并根据所述受演化影响的执行流信息以及条件约束信息,获取执行所述组合服务所需的输入参数,根据所述输入参数生成测试用例;执行所述测试用例,并根据测试执行结果获得所述组合服务的测试结果。本发明专利技术克服了对组合服务的测试停留在静态验证逻辑功能的缺陷,实现了组合服务的动态测试。
【技术实现步骤摘要】
本专利技术涉及服务组合测试技术,特别涉及一种组合服务的回归测试方法和装置。
技术介绍
随着服务计算(Service Computing)技术的发展,服务组合(Service Composition)已成为开发和构建分布式应用系统的主要手段,通过服务组合可以将分布在网络上的具有独立功能的单个服务按照内在逻辑关系组织成一个组合服务(Composite Service)。目前,业务分析人员可以根据业务需求,使用各种流程建模语言描述业务流程,进行组合服务建模,例如,可以使用面向设计的业务流程建模标记(Business Process Modeling Notation ;以下简称BPMN)构建组合服务模型。上述构建的组合服务是具有动态性的,即随着业务需求的不断变更,组合服务模型也需要进行不断修改,称为组合服务的演化,组合服务演化过程中必定会带来组合服务执行流程的变更。演化后的组合服务必须进行面向组合服务演化的回归测试,该回归测试主要是验证组合服务修改的正确性及其影响,例如,其修改是否达到了预期目的,是否损害了原有模型的功能等。在组合服务的回归测试中,需要选择回归测试路径,该回归测试路径通常为发生变更的执行流程。现有技术的回归测试中,一般是采用基于控制流图的方法选择回归测试路径的, 例如,通过分析组合服务流程结构,生成相应的控制流图,并由控制流图生成有限状态机, 然后将各有限状态机组成一个全局的有限状态机,再将有限状态机映射为哈希码,通过对比哈希码,确定回归测试路径。上述对于组合服务的回归测试存在的技术缺陷是对于组合服务的使用者来说, 由于通常不了解服务流程结构、有限状态机等,获得控制流图以及回归测试路径都有一定的难度,使得组合服务的回归测试较为复杂;而且,现有技术中尚没有针对BPMN组合服务的回归测试方法。
技术实现思路
本专利技术的目的是提供一种组合服务的回归测试方法和装置,以实现对基于BPMN 构建的组合服务实际执行回归测试,并且使得回归测试路径的选择和测试都较为简单。本专利技术提供一种组合服务的回归测试方法,包括解析被测的组合服务的业务流程描述文件,获得所述组合服务的测试环境部署信息,并根据所述测试环境部署信息构建测试环境;所述组合服务为基于业务流程建模标记语言BPMN构建的;解析演化前的所述组合服务的业务流程描述文件,获得第一执行流信息,解析演化后的所述组合服务的业务流程描述文件,获得第二执行流信息;并对比所述第一执行流信息和第二执行流信息,获取相对于所述第一执行流信息发生变化的第二执行流信息作为回归测试路径;分析所述回归测试路径,得到所述回归测试路径的条件约束信息;并根据所述回归测试路径以及条件约束信息,获取执行所述组合服务所需的输入参数,根据所述输入参数生成测试用例;在所述测试环境中执行所述测试用例,并根据测试执行结果获得所述组合服务的测试结果。本专利技术提供一种组合服务的回归测试装置,包括测试环境部署模块,用于解析被测的组合服务的业务流程描述文件,获得所述组合服务的执行流信息和测试环境部署信息,并根据所述测试环境部署信息构建测试环境; 所述组合服务为基于业务流程建模标记语言BPMN构建的;测试路径选择模块,用于解析演化前的所述组合服务的业务流程描述文件,获得第一执行流信息,解析演化后的所述组合服务的业务流程描述文件,获得第二执行流信息; 并对比所述第一执行流信息和第二执行流信息,获取相对于所述第一执行流信息发生变化的第二执行流信息作为回归测试路径;测试用例生成模块,用于分析所述回归测试路径,得到所述回归测试路径的条件约束信息;并根据所述回归测试路径以及条件约束信息,获取执行所述组合服务所需的输入参数,根据所述输入参数生成测试用例;测试用例执行模块,用于在所述测试环境中执行所述测试用例;测试结果查看模块,用于根据测试执行结果获得组合服务的测试结果。本专利技术的组合服务的回归测试方法和装置,通过解析组合服务的业务流程描述文件获得执行流信息,并对比演化前后的执行流信息,获取受演化影响的执行流信息作为回归测试路径,进而对组合服务实际执行测试,实现了对基于BPMN构建的组合服务实际执行回归测试,并且,由于业务流程描述文件很容易获取,通过对比执行流信息的方法获得回归测试路径也较为简单,从而使得组合服务的回归测试方法使用简单、便捷高效。附图说明图I为本专利技术组合服务的回归测试方法实施例的流程示意图;图2为本专利技术组合服务的回归测试装置实施例的结构示意图。具体实施例方式图I为本专利技术组合服务的回归测试方法实施例的流程示意图,本实施例的方法适用于基于BPMN的组合服务测试,如图I所示,可以包括以下步骤步骤101、解析被测组合服务的业务流程描述文件,获得组合服务的执行流信息和测试环境部署信息,并根据测试环境部署信息构建测试环境;其中,组合服务的业务流程描述文件是测试者在设计组合服务的业务流程的过程自动生成并保存下来的,其中包括了测试者所设计的物理资源组织结构和服务环境拓扑等信息。本步骤中,可以由组合服务测试装置(该测试装置的结构详细可以参见后面的装置实施例中所述)中的测试环境部署模块执行。测试环境部署模块接收用户发送的服务部署请求,该服务部署请求可以是简单对象访问协议(Simple Object Access Protocol,简称SOAP)消息。在接收到该SOAP消息时,测试环境部署模块解析该业务流程描述文件,得到组合服务的执行流信息和测试环境部署信息。例如,该测试环境部署信息可以包括组成组合服务的各原子服务的名称、地址;以及用于测试组合服务的测试容器的地址信息(如, IP地址和端口号)。测试环境部署模块可以根据上述原子服务的名称、地址获取下载服务列表,通过文件传输协议(File Transfer Protocol,简称FTP)从服务库中下载原子服务,并将原子服务下载到指定测试容器,该过程即为测试环境部署的过程。从服务库中成功下载服务后即完成测试环境的部署。通过测试环境的部署,提供了隔离的测试运行环境,降低了测试环境对测试的影响;而且本实施例是直接分析业务流程描述文件,使得该组合服务测试方法使用简单,便捷闻效。步骤102、对比所述组合服务演化前后的执行流信息,获取受演化影响的执行流信息作为回归测试路径;其中,本步骤可以由组合服务测试装置(该测试装置的结构详细可以参见后面的装置实施例中所述)中的测试路径选择模块执行。具体的,可以首先解析BPMN业务流程描述文件,将其转化为基于有向图的组合服务执行流描述模型,通过执行流识别技术对该执行流描述模型进行执行流路径分析,得到业务流程描述文件中的所有可执行路径(该可执行路径即为执行流信息)。输入演化前后的组合服务的业务流程描述文件,并按照上述的方法进行解析,获得组合服务演化前后的执行流信息;具体的,可以解析演化前的所述组合服务的业务流程描述文件,获得第一执行流信息,解析演化后的所述组合服务的业务流程描述文件,获得第二执行流信息;并将演化前后的第一执行流信息和第二执行流信息进行对比,就可以识别受演化影响的第二执行流信息,可以将该受演化影响的,相对于所述第一执行流信息发生变化第二执行流信息作为回归测试路径。由于组合服务的业务流程描述文件是测试者在设计组合服务的业务流程的过程自动生成并保存下来本文档来自技高网...
【技术保护点】
【技术特征摘要】
【专利技术属性】
技术研发人员:刘旭东,蒋俊彦,吴茜,周超,怀进鹏,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。