




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章Web应用的测试0第5章Web应用的测试0主要内容5.1Web应用软件体系结构5.2技术对Web应用测试的影响5.3Web应用软件的测试类型5.4Web应用软件的测试模型5.5Web应用的单元、集成测试5.6Web应用的统计测试5.7Web应用的性能测试5.8Web应用测试工具1主要内容5.1Web应用软件体系结构15.1Web应用软件体系结构Web应用软件一般采用客户机/服务器/数据库服务器的计算模式,在这种模式下,客户机层用于人机交互与应用的表示,Web服务器层用于事务处理,数据库服务器层用于应用数据的存取和管理Web应用软件的新特点使得传统的测试技术无法胜任,因此需要一套独特的测试体系来支持Web应用软件的测试。25.1Web应用软件体系结构Web应用软件一般采用客户机/5.2技术对Web应用测试的影响HTML/XML和JSP(ASP)技术的成熟,使得创建一个Web应用系统可能会建立两个组一起来工作,即程序开发组和Web页面设计组。程序开发组负责编写业务逻辑和表示业务逻辑方面的代码。Web页面设计组则负责建立HTML页面和有关的图形。这就促使测试也分为两个部分进行:第一部分,页面之间、页面和组件之间的链接是否符合系统的要求;第二部分,系统是否完成正确的功能。35.2技术对Web应用测试的影响HTML/XML和JSP(5.3Web应用软件的测试类型45.3Web应用软件的测试类型4Web应用软件的测试类型5Web应用软件的测试类型55.4Web应用软件的测试模型可以从三个不同的角度来讨论Web测试模型(1)对象模型(2)行为模型(3)结构模型65.4Web应用软件的测试模型可以从三个不同的角度来讨论W5.4.1对象模型对象模型将web应用的实体分为三类对象,分别为客户端页面、服务端页面和页面中的组件客户端页面是Html文档,其中可以嵌入脚本;服务器端页面是由Web服务器执行的CGI脚本、ASP、JSP和Servlet等;组件可以是JavaApplet、ActiveX控件、Html元素、JavaBean,与客户端页面、服务端页面或者其他组件交互的任意程序模块。表示对象之间的关系,除了传统的面向对象体系中的继承(Inheritance)、组成(Aggregation)和联合(Association)三种关系外,还需要增加四种新的关系类型,分别为请求(Request)、响应(Response)、导航(Navigation)和重定向(Redirect)75.4.1对象模型对象模型将web应用的实体分为三类对象,对象关系图可以通过对象关系图ORD来描述Web应用软件中的实体以及它们之间的关系。对象关系图ORD=(V,L,E)V是代表对象的节点集合L是对象间关系类型的集合,L={I,Ag,As,Req,Res,N,Rd};E是代表对象之间关系的边的集合,E={EI,EAg,EAs,EReq,ERes,EN,ERd},EN⊆V*V*L,表示两个客户端页面之间的导航关系;EReq⊆V*V*L,表示客户端页面和服务端页面之间的请求关系;ERes⊆V*V*L,表示客户端页面和服务端页面之间的响应关系;ERd⊆V*V*L,表示两个服务端页面之间的重定向关系。8对象关系图可以通过对象关系图ORD来描述Web应用软件中的实某电子商务网站的ORD图9某电子商务网站的ORD图9某电子商务网站的ORD图用户可以从页面Itemclientpage中选择喜欢的某一项进行购买;从该页面可以链接到Detailclientpage页面;用户可以在页面Detailclientpage中查看商品详细的信息,确定购买后将请求提交到Buyserverpage页面,Buyserverpage中包含了BuyAgentcomponet来处理购买请求。基于处理的结果,会产生相应的页面BuyAbortclientpage或者BuySucceedclientpage。从BuyAbortclientpage或者BuySucceedclientpage页面,用户可以链接到Itemclientpage页面,继续下一次的购买。而且,Buyserverpage页面可以重定向请求给页面Authserverpage,将结果用Authclientpage发送给用户。10某电子商务网站的ORD图用户可以从页面Itemclient5.4.2行为模型可以通过两方面进行行为模型建模:一方面表示Web页面之间的导航行为,利用页面导航图来描述;另一方面表示交互对象的状态依赖行为,利用对象状态图来描述。115.4.2行为模型可以通过两方面进行行为模型建模:11页面导航图(PND)PND是一个有限状态机,每个状态代表一个客户页,状态之间的转移表示超链接,并用超链接的URL来标识;另外,由于同样的超链接可能会产生不同的客户端页面,因而转移还要用放在括号中的条件来标识,该条件指定了转移发生时提交的数据值。可以将页面导航图改写成一棵树。根节点为q0,每个节点的子节点为其通过超链接能够到达的页面,同时注意避免产生回路;这样,从根节点到每个叶子节点之间的路径就是测试路径,从而能够检查超链接的可达性,保证导航行为是合适的并且是满足需求的。12页面导航图(PND)PND是一个有限状态机,每个状态代表一个页面导航图与导航测试树利用这个导航树检测某些导航特性时,发现:如果有一个用户访问了b,则这个用户没有机会访问除了e和f之外的任何页面。而且,用户将在访问e和f时停止,而若不使用浏览器所提供的历史页面功能则不能转到任何其他页面。13页面导航图与导航测试树利用这个导航树检测某些导航特性时,发现导航测试树的路径表达式导航测试树的路径表达式是图中所有路径的代数表示,表达式中的变量是边标签,表达式中的操作符有三个,分别为(),+和*,其中,“()”用于表示子表达式组,“+”用于路径的选择,“*”用于路径的循环。从a导航的测试路径:([var=d1]url-b,url-e)+(url-d,(url-e,url-f)*+(url-f,url-e)*+url-a)+([var=d2]url-c,(url-d+url-f))14导航测试树的路径表达式导航测试树的路径表达式是图中所有路径对象状态图(OSD)OSD是一组层次化的、并发和交互的状态机,状态之间的转换通过事件触发来进行,多个相互依赖的OSD构成了一个组合对象状态图COSD。对象之间的交互,例如HTTP请求/响应,可以使用“/”后的触发器进行建模。例如submit/S.recv_request,触发器S.recv_request表示如果submit转移发生,则processserverpageS中的recv_request转移将被触发。为了同步处理并发的对象,在对象状态图中引入了一个waiting状态,表示对象将会一直等待,直到它其中的一个转移被其他对象触发。15对象状态图(OSD)OSD是一组层次化的、并发和交互的状态机状态依赖图例子16状态依赖图例子16COSD测试树为了揭示交互对象状态依赖行为的错误,可以基于复合对象状态图COSD产生COSD测试树,然后利用COSD测试树得到测试用例。利用CDSD图得到COSD测试树时,测试树中的节点描述了COSD的复合状态,树的边代表了状态之间的转移。如果COSD包含了N个OSD,则测试树中的每个节点的状态用一个N元组来表示,下标I代表了是相应OSD的第几个状态。构造的算法如下所示:①树根:是每一个OSD的初始状态的复合状态。②检查树中的每一个节点,根据OSD中的节点的转移对树中的节点进行扩展,并且修改相应的状态。③重复第2步,直到没有节点需要扩展。测试用例是树中起始于根,结束于任何节点的各个路径的转移序列。17COSD测试树为了揭示交互对象状态依赖行为的错误,可以基COSD测试树例子一个测试用例:keypress(submit,recv_request)(place_bid,bid)(return,response,recv_response)18COSD测试树例子一个测试用例:185.4.3结构模型深入了解Web应用,必须掌握其内部的控制流和数据流信息从变量出发,找出其定义-使用链,进而得到关于这个变量的测试路径在变量的定义-使用链的基础上,可以由低到高地分五个等级来描述不同范围内的数据流测试函数级、函数群级、对象级、对象群级和应用级195.4.3结构模型深入了解Web应用,必须掌握其内部的控函数级结构测试函数级测试用来测试单一的函数,变量的定义-使用链局限在函数内部,与传统的数据流测试类似。函数级的定义-使用链可以从函数的控制流图(CFG)中得到。CFG是有向图,节点表示语句块,边表示语句块之间的执行流。例如,如果节点i有清楚的定义,节点j有变量的使用,则定义-c-使用链<i,j>存在;如果节点i有清楚的定义,边<j,k>引用了变量,则定义-p-使用链<i,<j,k>>存在,一个测试路径会覆盖一个定义-c-使用链或者定义-p-使用链。20函数级结构测试函数级测试用来测试单一的函数,变量的定义-一个CFG的例子21一个CFG的例子21函数群级结构测试函数群级的测试用来测试对象内部的函数群,变量的定义-使用链涉及到多个函数。一个对象内部的函数群是互相调用的函数集合。因此,利用调用关系,对象内部的函数被划分为几个函数群,每个函数群的定义-使用链可以从ICFG(InterproceduralControlFlowGraph)得到。类似于传统的跨过程数据流测试,函数群级的测试路径基于跨过程的定义-使用链得到。22函数群级结构测试函数群级的测试用来测试对象内部的函数群,变量一个ICFG的例子23一个ICFG的例子23对象级结构测试对象级测试用来测试对象内部不同的函数调用序列,变量的定义-使用链通过不同的调用序列进行改变。不同的函数调用序列的定义-使用链可以从对象控制流图OCFG得到。OCFG是对象内部的ICFG或CFG的连接24对象级结构测试对象级测试用来测试对象内部不同的函数调用序列,一个OCFG的例子25一个OCFG的例子25对象群级结构测试对象群级测试用来测试对象群,变量的定义-使用链在群中是跨对象的。一个对象群是通过消息传递关联起来的对象的集合直接消息传递:其测试路径可以从对象群中相关函数的ICFG中得到,例如函数调用。间接消息传递:例如Web页面间的数据传递,当用户点击了超链接或者提交了表单,数据就从客户端页面传递到服务器端页面,页面的脚本函数之间没有直接的调用关系。在此,引入复合控制流图CCFG,计算跨页面的定义-使用链CCFG是交互的页面间的CFG或ICFG的连接。26对象群级结构测试对象群级测试用来测试对象群,变量的定义-使用一个CCFG的例子27一个CCFG的例子27应用级结构测试应用级测试主要用来测试应用程序范围内的变量,这些变量的定义-使用链跨不同的客户。在Web应用中,所有访问Web应用的客户都可以共享一些变量,这些共享变量成为应用级变量例如访问站点的客户计数变量。应用级的测试路径可以从可达图得到,而可达图是利用与应用范围级变量相关的CFG构建。28应用级结构测试应用级测试主要用来测试应用程序范围内的变量,这一个综合例子ebid拍卖应用中的两个页面ebid.html和bid.asp,对其进行结构测试。29一个综合例子ebid拍卖应用中的两个页面ebid.htmlebid.html的代码30ebid.html的代码30ebid.html的代码31ebid.html的代码31bid.asp的代码32bid.asp的代码32ebid.html的ICFG33ebid.html的ICFG33ebid.html和bid.asp的CCFG34ebid.html和bid.asp的CCFG34定义-使用链35定义-使用链355.5Web应用的单元、集成测试Web应用软件在单元测试阶段,一个客户端页面被作为一个单元进行测试,而服务器端页面和其构造页面则一起作为一个单元进行测试,利用页面测试模型生成测试用例,测试用例的执行需要驱动模块和桩模块。Web应用软件的集成测试可以利用系统的用例图或者任何功能需求文档来驱动,对于每个用例,必须考虑Web页面之间的协作。通过分析测试模型,可以鉴别将要被集中测试的所有页面。365.5Web应用的单元、集成测试Web应用软件在单元测试阶以login.asp为例进行单元测试login.asp页面在用户首次登录时,会构建包含了一个用来接收用户名和密码的表单的登录客户端页面;用户通过提交按钮将输入的数据提交给login.asp,由该页面验证输入数据的完整性和有效性,若数据有问题,则重新返回登录客户端页面;若数据有效,则session中的nickname变量保存该用户的昵称,页面重定向到其他服务端页面。37以login.asp为例进行单元测试login.asp页面在login.asp的判定表和部分测试用例38login.asp的判定表和部分测试用例38以聊天功能为例进行集成测试聊天功能的测试模型中包括五个服务端页面,分别为:login.asp、chat.asp、read.asp、write.asp、logout.asp。其中,chat.asp会构建一个包含两个框架的客户端页面,分别装载read.asp和write.asp,read.asp会构建一个包含了最新20条信息的客户端页面,write.asp会构建一个包含插入新信息的表单的客户端页面。集成测试的次序首先集成测试login.asp和chat.asp,这时需要两个桩页面read.asp和write.asp;然后,分别集成read.asp和write.asp,最后,集成logout.asp。39以聊天功能为例进行集成测试聊天功能的测试模型中包括五个服务集成login.asp和chat.asp的测试用例40集成login.asp和chat.asp的测试用例40集成write.asp时增加的测试用例41集成write.asp时增加的测试用例415.6Web应用的统计测试Web应用软件一般都具有体系结构复杂、代码量大、页面众多且相互联结的特点,在一定的时间和投入内,显然是无法做到穷尽的测试,而确保其可靠性的一个很好的可选方案就是基于使用模型的统计测试。425.6Web应用的统计测试Web应用软件一般都具有体系结构使用模型使用模型是软件使用过程中软件形态的精确描述,它把软件的使用方式以模型的方法表示出来,描述了软件的使用特性。43使用模型使用模型是软件使用过程中软件形态的精确描述,它把软件使用模型使用模型可以用一个赋有状态节点间转换概率的有限状态机来表示。状态表示软件使用过程中的内部环境,边表示状态间的转移关系。每条边都有一个激励输入与之对应,表明在当前状态下输入这种激励使软件转移到下一个状态。在特定状态下一种激励只能转移到另一个特定的状态,即状态的所有出边所对应的激励必须互不相同。每条边都有一个转移概率,转移概率标志了状态转移发生的可能性。任一状态的所有出边的转移概率之和应该为1每一个使用模型都有唯一的初态和终态。初态是使用模型的初始状态,它是每一次软件使用的开始。终态是使用模型的终止状态,它是软件每一次使用的终结。软件的每一次使用(或者说每一次操作)都从初态开始经过若干个中间状态,最后到达最终状态。44使用模型使用模型可以用一个赋有状态节点间转换概率的有限状态机使用模型举例45使用模型举例45统计测试用例的产生和执行统计测试用例是从初态开始经过若干个中间状态到达终态的状态和边的序列。产生测试用例时,从初态开始,在每一个状态都生成一个0~1间的随机数,根据状态各出边的转移概率用这个随机数选择一条出边,转移到下一个状态,直到到达终态。这样产生的测试用例是随机的,符合用户的使用习惯。46统计测试用例的产生和执行统计测试用例是从初态开始经过若干个根据使用模型随机产生的测试用例47根据使用模型随机产生的测试用例47如何界定测试的充分性?统计测试是通过测试过程中的使用链和测试链的比较来解决这个问题的。测试之初,可以把使用模型称为使用链,这是相对于测试过程中的测试链来说的。测试链是从使用链产生的,它把使用链各边所对应的转移概率替换为一个初值为0的计数器,随着测试的进行,每当一个测试用例经过该边时计数器就加1。在测试过程中,测试链代表了测试环境,使用链代表使用环境。当测试环境和使用环境的差异变得足够小的时候,也就是说测试用例足够多,测试环境中所有状态用各边计数器的值算出的比值接近使用环境中各出边的转移概率时,测试就充分了,这时候我们从测试环境计算出的软件可靠性可以代表实际使用时的软件的可靠性。48如何界定测试的充分性?统计测试是通过测试过程中的使用链和测5.7Web应用的性能测试Web性能已经成为一个突出的问题,并已成为Web成功的关键因素。经过性能测试的Web应用程序,减少了潜在的风险,建立和提高了用户的信心;同时,也使公司本身对维持高业务量和减少出错风险充满信心。495.7Web应用的性能测试Web性能已经成为一个突出的问题Web性能测试过程50Web性能测试过程505.8Web应用测试工具(1)基于规则的分析器(2)负载/性能测试工具(3)GUI捕获(记录/脚本)和回放工具(4)基于模型的测试工具515.8Web应用测试工具(1)基于规则的分析器51本章总结讨论了:5.1Web应用软件体系结构5.2技术对Web应用测试的影响5.3Web应用软件的测试类型5.4Web应用软件的测试模型5.5Web应用的单元、集成测试5.6Web应用的统计测试5.7Web应用的性能测试5.8Web应用测试工具52本章总结讨论了:52习题1.Web应用软件的测试类型有哪些?2.Web应用软件的测试模型一般有哪几种?3.Web应用软件的性能测试的过程是怎样?53习题1.Web应用软件的测试类型有哪些?53第5章Web应用的测试54第5章Web应用的测试0主要内容5.1Web应用软件体系结构5.2技术对Web应用测试的影响5.3Web应用软件的测试类型5.4Web应用软件的测试模型5.5Web应用的单元、集成测试5.6Web应用的统计测试5.7Web应用的性能测试5.8Web应用测试工具55主要内容5.1Web应用软件体系结构15.1Web应用软件体系结构Web应用软件一般采用客户机/服务器/数据库服务器的计算模式,在这种模式下,客户机层用于人机交互与应用的表示,Web服务器层用于事务处理,数据库服务器层用于应用数据的存取和管理Web应用软件的新特点使得传统的测试技术无法胜任,因此需要一套独特的测试体系来支持Web应用软件的测试。565.1Web应用软件体系结构Web应用软件一般采用客户机/5.2技术对Web应用测试的影响HTML/XML和JSP(ASP)技术的成熟,使得创建一个Web应用系统可能会建立两个组一起来工作,即程序开发组和Web页面设计组。程序开发组负责编写业务逻辑和表示业务逻辑方面的代码。Web页面设计组则负责建立HTML页面和有关的图形。这就促使测试也分为两个部分进行:第一部分,页面之间、页面和组件之间的链接是否符合系统的要求;第二部分,系统是否完成正确的功能。575.2技术对Web应用测试的影响HTML/XML和JSP(5.3Web应用软件的测试类型585.3Web应用软件的测试类型4Web应用软件的测试类型59Web应用软件的测试类型55.4Web应用软件的测试模型可以从三个不同的角度来讨论Web测试模型(1)对象模型(2)行为模型(3)结构模型605.4Web应用软件的测试模型可以从三个不同的角度来讨论W5.4.1对象模型对象模型将web应用的实体分为三类对象,分别为客户端页面、服务端页面和页面中的组件客户端页面是Html文档,其中可以嵌入脚本;服务器端页面是由Web服务器执行的CGI脚本、ASP、JSP和Servlet等;组件可以是JavaApplet、ActiveX控件、Html元素、JavaBean,与客户端页面、服务端页面或者其他组件交互的任意程序模块。表示对象之间的关系,除了传统的面向对象体系中的继承(Inheritance)、组成(Aggregation)和联合(Association)三种关系外,还需要增加四种新的关系类型,分别为请求(Request)、响应(Response)、导航(Navigation)和重定向(Redirect)615.4.1对象模型对象模型将web应用的实体分为三类对象,对象关系图可以通过对象关系图ORD来描述Web应用软件中的实体以及它们之间的关系。对象关系图ORD=(V,L,E)V是代表对象的节点集合L是对象间关系类型的集合,L={I,Ag,As,Req,Res,N,Rd};E是代表对象之间关系的边的集合,E={EI,EAg,EAs,EReq,ERes,EN,ERd},EN⊆V*V*L,表示两个客户端页面之间的导航关系;EReq⊆V*V*L,表示客户端页面和服务端页面之间的请求关系;ERes⊆V*V*L,表示客户端页面和服务端页面之间的响应关系;ERd⊆V*V*L,表示两个服务端页面之间的重定向关系。62对象关系图可以通过对象关系图ORD来描述Web应用软件中的实某电子商务网站的ORD图63某电子商务网站的ORD图9某电子商务网站的ORD图用户可以从页面Itemclientpage中选择喜欢的某一项进行购买;从该页面可以链接到Detailclientpage页面;用户可以在页面Detailclientpage中查看商品详细的信息,确定购买后将请求提交到Buyserverpage页面,Buyserverpage中包含了BuyAgentcomponet来处理购买请求。基于处理的结果,会产生相应的页面BuyAbortclientpage或者BuySucceedclientpage。从BuyAbortclientpage或者BuySucceedclientpage页面,用户可以链接到Itemclientpage页面,继续下一次的购买。而且,Buyserverpage页面可以重定向请求给页面Authserverpage,将结果用Authclientpage发送给用户。64某电子商务网站的ORD图用户可以从页面Itemclient5.4.2行为模型可以通过两方面进行行为模型建模:一方面表示Web页面之间的导航行为,利用页面导航图来描述;另一方面表示交互对象的状态依赖行为,利用对象状态图来描述。655.4.2行为模型可以通过两方面进行行为模型建模:11页面导航图(PND)PND是一个有限状态机,每个状态代表一个客户页,状态之间的转移表示超链接,并用超链接的URL来标识;另外,由于同样的超链接可能会产生不同的客户端页面,因而转移还要用放在括号中的条件来标识,该条件指定了转移发生时提交的数据值。可以将页面导航图改写成一棵树。根节点为q0,每个节点的子节点为其通过超链接能够到达的页面,同时注意避免产生回路;这样,从根节点到每个叶子节点之间的路径就是测试路径,从而能够检查超链接的可达性,保证导航行为是合适的并且是满足需求的。66页面导航图(PND)PND是一个有限状态机,每个状态代表一个页面导航图与导航测试树利用这个导航树检测某些导航特性时,发现:如果有一个用户访问了b,则这个用户没有机会访问除了e和f之外的任何页面。而且,用户将在访问e和f时停止,而若不使用浏览器所提供的历史页面功能则不能转到任何其他页面。67页面导航图与导航测试树利用这个导航树检测某些导航特性时,发现导航测试树的路径表达式导航测试树的路径表达式是图中所有路径的代数表示,表达式中的变量是边标签,表达式中的操作符有三个,分别为(),+和*,其中,“()”用于表示子表达式组,“+”用于路径的选择,“*”用于路径的循环。从a导航的测试路径:([var=d1]url-b,url-e)+(url-d,(url-e,url-f)*+(url-f,url-e)*+url-a)+([var=d2]url-c,(url-d+url-f))68导航测试树的路径表达式导航测试树的路径表达式是图中所有路径对象状态图(OSD)OSD是一组层次化的、并发和交互的状态机,状态之间的转换通过事件触发来进行,多个相互依赖的OSD构成了一个组合对象状态图COSD。对象之间的交互,例如HTTP请求/响应,可以使用“/”后的触发器进行建模。例如submit/S.recv_request,触发器S.recv_request表示如果submit转移发生,则processserverpageS中的recv_request转移将被触发。为了同步处理并发的对象,在对象状态图中引入了一个waiting状态,表示对象将会一直等待,直到它其中的一个转移被其他对象触发。69对象状态图(OSD)OSD是一组层次化的、并发和交互的状态机状态依赖图例子70状态依赖图例子16COSD测试树为了揭示交互对象状态依赖行为的错误,可以基于复合对象状态图COSD产生COSD测试树,然后利用COSD测试树得到测试用例。利用CDSD图得到COSD测试树时,测试树中的节点描述了COSD的复合状态,树的边代表了状态之间的转移。如果COSD包含了N个OSD,则测试树中的每个节点的状态用一个N元组来表示,下标I代表了是相应OSD的第几个状态。构造的算法如下所示:①树根:是每一个OSD的初始状态的复合状态。②检查树中的每一个节点,根据OSD中的节点的转移对树中的节点进行扩展,并且修改相应的状态。③重复第2步,直到没有节点需要扩展。测试用例是树中起始于根,结束于任何节点的各个路径的转移序列。71COSD测试树为了揭示交互对象状态依赖行为的错误,可以基COSD测试树例子一个测试用例:keypress(submit,recv_request)(place_bid,bid)(return,response,recv_response)72COSD测试树例子一个测试用例:185.4.3结构模型深入了解Web应用,必须掌握其内部的控制流和数据流信息从变量出发,找出其定义-使用链,进而得到关于这个变量的测试路径在变量的定义-使用链的基础上,可以由低到高地分五个等级来描述不同范围内的数据流测试函数级、函数群级、对象级、对象群级和应用级735.4.3结构模型深入了解Web应用,必须掌握其内部的控函数级结构测试函数级测试用来测试单一的函数,变量的定义-使用链局限在函数内部,与传统的数据流测试类似。函数级的定义-使用链可以从函数的控制流图(CFG)中得到。CFG是有向图,节点表示语句块,边表示语句块之间的执行流。例如,如果节点i有清楚的定义,节点j有变量的使用,则定义-c-使用链<i,j>存在;如果节点i有清楚的定义,边<j,k>引用了变量,则定义-p-使用链<i,<j,k>>存在,一个测试路径会覆盖一个定义-c-使用链或者定义-p-使用链。74函数级结构测试函数级测试用来测试单一的函数,变量的定义-一个CFG的例子75一个CFG的例子21函数群级结构测试函数群级的测试用来测试对象内部的函数群,变量的定义-使用链涉及到多个函数。一个对象内部的函数群是互相调用的函数集合。因此,利用调用关系,对象内部的函数被划分为几个函数群,每个函数群的定义-使用链可以从ICFG(InterproceduralControlFlowGraph)得到。类似于传统的跨过程数据流测试,函数群级的测试路径基于跨过程的定义-使用链得到。76函数群级结构测试函数群级的测试用来测试对象内部的函数群,变量一个ICFG的例子77一个ICFG的例子23对象级结构测试对象级测试用来测试对象内部不同的函数调用序列,变量的定义-使用链通过不同的调用序列进行改变。不同的函数调用序列的定义-使用链可以从对象控制流图OCFG得到。OCFG是对象内部的ICFG或CFG的连接78对象级结构测试对象级测试用来测试对象内部不同的函数调用序列,一个OCFG的例子79一个OCFG的例子25对象群级结构测试对象群级测试用来测试对象群,变量的定义-使用链在群中是跨对象的。一个对象群是通过消息传递关联起来的对象的集合直接消息传递:其测试路径可以从对象群中相关函数的ICFG中得到,例如函数调用。间接消息传递:例如Web页面间的数据传递,当用户点击了超链接或者提交了表单,数据就从客户端页面传递到服务器端页面,页面的脚本函数之间没有直接的调用关系。在此,引入复合控制流图CCFG,计算跨页面的定义-使用链CCFG是交互的页面间的CFG或ICFG的连接。80对象群级结构测试对象群级测试用来测试对象群,变量的定义-使用一个CCFG的例子81一个CCFG的例子27应用级结构测试应用级测试主要用来测试应用程序范围内的变量,这些变量的定义-使用链跨不同的客户。在Web应用中,所有访问Web应用的客户都可以共享一些变量,这些共享变量成为应用级变量例如访问站点的客户计数变量。应用级的测试路径可以从可达图得到,而可达图是利用与应用范围级变量相关的CFG构建。82应用级结构测试应用级测试主要用来测试应用程序范围内的变量,这一个综合例子ebid拍卖应用中的两个页面ebid.html和bid.asp,对其进行结构测试。83一个综合例子ebid拍卖应用中的两个页面ebid.htmlebid.html的代码84ebid.html的代码30ebid.html的代码85ebid.html的代码31bid.asp的代码86bid.asp的代码32ebid.html的ICFG87ebid.html的ICFG33ebid.html和bid.asp的CCFG88ebid.html和bid.asp的CCFG34定义-使用链89定义-使用链355.5Web应用的单元、集成测试Web应用软件在单元测试阶段,一个客户端页面被作为一个单元进行测试,而服务器端页面和其构造页面则一起作为一个单元进行测试,利用页面测试模型生成测试用例,测试用例的执行需要驱动模块和桩模块。Web应用软件的集成测试可以利用系统的用例图或者任何功能需求文档来驱动,对于每个用例,必须考虑Web页面之间的协作。通过分析测试模型,可以鉴别将要被集中测试的所有页面。905.5Web应用的单元、集成测试Web应用软件在单元测试阶以login.asp为例进行单元测试login.asp页面在用户首次登录时,会构建包含了一个用来接收用户名和密码的表单的登录客户端页面;用户通过提交按钮将输入的数据提交给login.asp,由该页面验证输入数据的完整性和有效性,若数据有问题,则重新返回登录客户端页面;若数据有效,则session中的nickname变量保存该用户的昵称,页面重定向到其他服务端页面。91以login.asp为例进行单元测试login.asp页面在login.asp的判定表和部分测试用例92login.asp的判定表和部分测试用例38以聊天功能为例进行集成测试聊天功能的测试模型中包括五个服务端页面,分别为:login.asp、chat.asp、read.asp、write.asp、logout.asp。其中,chat.asp会构建一个包含两个框架的客户端页面,分别装载read.asp和write.asp,read.asp会构建一个包含了最新20条信息的客户端页面,write.asp会构建一个包含插入新信息的表单的客户端页面。集成测试的次序首先集成测试login.asp和chat.asp,这时需要两个桩页面read.asp和write.asp;然后,分别集成read.asp和write.asp,最后,集成logout.asp。93以聊天功能为例进行集成测试聊天功能的测试模型中包括五个服务集成login.asp和chat.asp的测试用例94集成login.asp和chat.asp的测试用例40集成write.asp时增加的测试用例95集成write.asp时增加的测试用例415.6Web应用的统计测试Web应用软件一般都具有体系结构复杂、代码量大、页面众多且相互联结的特点,在一定的时间和投入内,显然是无法做到穷尽的测试,而确保其可靠性的一个很好的可选方案就是基于使用模型的统计测试。965.6Web应用的统计测试Web应用软
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年甘肃省烟草专卖局(公司)应届高校毕业生招聘124人笔试参考题库附带答案详解
- 2025至2030年中国玩具灯笼数据监测研究报告
- 2025至2030年中国普通毛纱数据监测研究报告
- 2025年中国胸围尺市场调查研究报告
- 河南省洛阳市强基联盟2024-2025学年高一下学期3月月考历史试题 (原卷版+解析版)
- 饮品店加盟店培训
- 骨科疾病的综合治疗方案
- 消防知识讲座马克私
- 腰椎骨折病人的护理常规
- 加强植物性状研究的管理规定
- 2024-2025学年中考历史复习- 阶段检测卷三(中国现代史)(含答案)
- 校园安全管理体系总结与改进措施分析
- 成人原发性腹壁疝腹腔镜手术中国专家共识(2025版)解读
- 【中国信通院苏州市机器人产业协会】2025“机器人+人工智能”工业应用研究报告
- 公司签约主播合作协议(2025年版)
- 四川省2024年普通高校招生体育类本科批调档线
- 2024年广东广州大学招聘编制内管理和教辅人员笔试真题
- 2024年四川甘孜州招聘事业单位人员笔试真题
- 中国竹编艺术知到课后答案智慧树章节测试答案2025年春浙江广厦建设职业技术大学
- 湖北省部分省级示范高中2023-2024学年高二下学期数学期中试题(含答案)
- 试剂冷链配送方案
评论
0/150
提交评论