测试用例可以从代数规约中两种不同的,但相关的方式产生:使用操作的语法;和通过使用公理。第一种方法最初由Jalote提交和后来被Jalote和Caballero在受控的实验以评估在实现故障检测生成测试用例的有效性中使用。同样的方法也被Woodward在OBJTEST系统中使用,这也是车辆类似对照实验。第二种方法最初由Gannon作为DAISTS系统的一部分。它也被Doong和Frankl在其ASTOOT工具中使用,通过Gaudel和同事用基于逻辑的编程,以及最近的由Tse和同事。作为测试用例生成的第一种方法通过使用纯操作语法的说明,考虑OBJTEST系统[Woodward[27]]自动生成测试表达式从代数规约的OBJ符号。在一个OBJ代数规约的每一个操作是采取轮流,每个在其领域的论据,进一步的操作取代其范围是合适的类型.这种替换持续到操作的用户定义深度嵌套(即有效,这是一个规律性假说)。为了使对于平面方面的有限数产生,具体值必须被选择用于特定的数据类型,如自然数(即在实际上,这是一个均匀的假设)。作为测试用例生成的第二种方法中对于通过使用公理的说明,考虑DAISTS系统需要用户提供被取代的公理的自由变量的方面。
使用代数规约测试从80年代初期一直是一个不间断的研究和完善的地方,当Gannon开发了DAISTS系统。代数规约为基础的测试具有许多优点,因为它可以导致自动化程度高的生成测试用例方面,产生测试驱动器和检查结果。所以代数规约相关知识是本课题实现的核心内容。
本课题使用代数规约语言SOFIA。进程代数适合进行代数运算。然而,也有在其中的其代数性质方面仅仅描述一个系统的语言。这些代数规约语言描述在表征其所需的性质公理方面的系统的行为。代数规约语言的例子包括了OBJ[28]。用数学术语,代数(或代数系统)包括:(1)一组表示某种类型的值的符号,称为代数的载波集合;和(2)一组关于所述载波集合的操作。为了描述支配行动的行为规则,是要说明:
1)操作的语法。这是通过一个为每个操作给出定义域和值域(或共同结构域),相应的,实际上,分别以输入参数和操作的输出的签名进行。
2) 操作的语义。这是通过方程(或公理)进行隐式描述所需的性能。公理通常配制成方程,每一个可以通过一个条件进行限定。
支持代数的方法对规范的一个重要论点是,方程有时可以用来提供一个机制对于语法上有效的评价,但在其他任意操作的组合。但应注意的是,有许多不同的代数规约符号,每个都有自己的具体语法。事实上,即使在同一个符号族也可以有无数的语言差异。尽管如此,如上所述思路,由此通过它们的签名和相互组合操作的行为对于装置指定操作的语法由方程,来指定,都是通用的。由此,操作语法由它们的签名和相互组合操作的行为指定,其中每一个由方程指定,这是通用的。
2.3 HTTP请求技术
2.3.1 HTTP协议
HTTP是超文本传输协议的缩写,是属于应用层的面向对象的协议。它用于传送WWW方式的数据,由于其简捷、快速的方式,适用于分布式超媒体信息系统。HTTP协议的主要特点在于1)支持客户/服务器模式。2)简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。3)灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。4)无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。5)无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 面向WEB服务的测试执行自动化技术框架设计与实现(4):http://www.751com.cn/jisuanji/lunwen_11982.html