综上所述,RESTful 架构可以理解为:每一个 URI 代表一种资源;服务器与客户端之间 传递资源的表述;客户端通过 HTTP 动词对服务器的资源进行“资源表述的状态转化”操作[12]。
当前有三种主流的 Web 服务实现方案:REST 模式的 Web 服务、基于 SOAP 的 Web 服 务和基于 XML-RPC 的 Web 服务。尽管与 SOAP 和 XML-RPC 相比,REST 模式的 Web 服务 更简洁,但其发展的成熟程度和安全性却稍显逊色。目前,提供 REST 风格服务的企业越来 越多,如雅虎提供的 Web 服务就是 REST 风格的,Amazon。com 提供的图书查找也是接近 REST 风格的[16]。
第 4 页 本科毕业设计说明书
WADL 就是一种基于语义的描述,以 XML 格式来描述基于 HTTP 的 Web 应用。一个 WADL 文档将一个应用解释为一组资源的集合,包括多个(可为零个)文档元素;可选的语 法元素;可选的资源元素;零个或多个资源类型、方法、表示和故障元素。
1。2。2 代数规约
代数规约方法是一种以独立于软件实现的风格定义抽象数据的形式化方法[14],于 1970s
被提出。
形式化方法是一种以形式规约为基础,支持保证程序正确性的系统开发方法[13],同时它 也具有较严谨的形式化理论基础。形式规约方法于过去三十年在理论基础、语言、工具等方 面取得了很大的进步,并渐渐地发展成一种成熟完备的形式化方法。上世纪八十年代末至九 十年代初,Gaudel 等学者提出了基于形式化的代数规约的理论和方法,并在此基础上开发出 一套基于逻辑编程的测试工具原型。这表明自动化生成测试用例、测试神谕(Oracle)和测试 驱动程序的难题[15]或许可以通过应用代数规约的方法解决。
虽然面对对象软件的类级测试问题不能用 Gaudel 等的方法直接解决,但他们的研究为代 数测试的理论奠定了基础。Gaudel 等人的研究表明:基于代数规约的测试方法有很多引人注 目的特点,比如它不仅能够支持自动化测试软件系统,也能够自动生成测试用例从而成功解 决驱动和测试软件系统,更能够成功解决驱动和测试结果检查测试神谕等问题。在理论方面, 代数规约不仅引入了隐代数、 共轭代数、 规范机制、 范畴、行为理论等理论, 还提出 OBJ3/CafeObj 和 CASL 等代数规约语言,这些代数规约语言不仅满足了表示抽象数据类型、 组件、不确定的并发系统的需要,也满足了 Web 服务的需要[10]。
所以基于代数规约的测试理论、技术与方法得到了不断发展,并被大量应用于测试领域。
1。3 本文主要工作
本文的主要工作是用程序编写一个工具,用此工具实现 WADL 文件到代数规约语言文件 的转换。这种自动化工具可以将基于 HTTP 的 Web 应用描述语言转换为具有正式规范的 SOFIA 语言,从而为提高 Web 服务的自动化测试程度贡献一份力量。
本文的主要任务是:
(1)提供一组 WADL 语言描述到代数规约语言描述的映射规则;
(2)程序实现两种不同的语法的转换,编写转换工具。
一个描述 Web 服务的 WADL 文件是本工具的输入,输出的是 SOFIA 语言书写的代数规 约。
1。4 本文的组织结构
本科毕业设计说明书 第 5 页
本学位论文一共分为五章,各章节的内容大致安排如下: 第一章为绪论,主要概述了本课题的研究背景和实际应用意义。 第二章主要本论文所涉及关键技术的简介。