通过实验验证了本文方法的有效性后,本文在完成基于树编码的遗传算法的基础上,探究了交叉概率、变异概率对测试数据生成时间的影响,以及遗传算法和随机法在测试数据生成时间上的比较,并通过实验结果进分析了本文研究内容的有效性。
1。4 论文的组织结构
第一章 引言。 本章简单介绍本文的研究背景,说明了Web 服务测试数据生成和基于代数规约测试数据生成的国内外研究现状。最后,介绍了主要内容以及论文组织结构结构。
第二章 代数规约和SOFIA语言。本章简单介绍了代数规约和SOFIA语言,包括代数规约的特点,Web服务代数规约的形式化方法以及SOFIA语言的整体结构和操作子。
第三章 基于树编码的遗传算法。本章详细介绍了基于树编码遗传算法,包括遗传算法的特点,个体表示、适应度函数以及遗传算子等。
第四章 实验分析。本章详细比较了不同交叉概率,变异概率下,基于树的遗传算法的数据生成效率和有效率,并将实验结果与随机法生成测试数据的结果进行了简单比较。
第五章 结论与期望。本章介绍了本文的结果:基于树编码的遗传算法在生成相同测试数据的时间比随机法少。同时也指出了本文方法的不足和改进方向。
2 代数规约与SOFIA语言
2。1 代数规约
作为一种独立于实现的规约技术,代数规约已经从仅描述抽象数据类型[17,18]扩展到可描述并发系统、基于状态系统、构件系统和面向服务系统,从非结构化代数规约发展到结构化代数规约,其理论基础也从初始代数发展到最终代数、行为代数[19]和合代数[20,21]。论文网
代数规约高度抽象、完全独立于实现细节的语言特点有利于解决Web服务缺乏实现细节的难点。其次,结构化代数规约的高度模块化满足了服务组合的灵活性需求。第三,服务的代数规约可以用基于本体的服务语义来描述[22,23],能够支持服务注册、动态发现以及组合。第四,将代数和代数方法组合起来的规约不仅能够描述服务功能,而且能够描述服务的动态行为。以往的大量研究案例[24-26]表明代数规约描述精准、简单易学,非常适合描述实际应用服务。最重要的是,基于代数规约的测试可以进行全自动化的测试过程,包括测试用例生成、测试平台生成和测试结果的正确性检验, 这对于需要在线测试的Web服务测试来说至关重要。
代数规约方法早期用于描述抽象数据类型,一个代数表示一个抽象数据,代数规约的唯一标示符称之为类子(Sort)。定义在类子上的操作集( Operators)称为该类子的基调( Signature),而操作的语义则使用公理集( Axiom)来表示,新的规约单元可以通过扩展( extends)和使用( uses) 两种方式来构造。
一个Web服务的代数规约可形式化定义为一个三元组,其中:
1),s是一个类子的有限集合,分别表示S上的使用和扩展关系
2)表示一个基调单元的有限集合,每一个基调单元定义了类子S的操作子集合。
3)表示一个公理的有限集合,其中每个公理集定义类子S的公理集合,公理用于描述S必须满足的特性;
4)对于所有的,如果有,则有。
代数规约包含四个基本元素:分类名、可观察性、基调和公理。分类名在特定的区域内是唯一的,即一定范围内分类名不可重复;可观察的分类:定义了类似于判断两个同类型变量相不相等的操作;基调则包含操作集合定义,操作名、输入数据类型和返回值的类型组成了操作,输入列表为空的操作是常数;公理主要由变量和等式构成,其中等式包括条件等式和非条件等式。