CN101526916B - 基于页面对象流验证在回归测试中的应用方法及系统 - Google Patents

基于页面对象流验证在回归测试中的应用方法及系统 Download PDF

Info

Publication number
CN101526916B
CN101526916B CN2008100076452A CN200810007645A CN101526916B CN 101526916 B CN101526916 B CN 101526916B CN 2008100076452 A CN2008100076452 A CN 2008100076452A CN 200810007645 A CN200810007645 A CN 200810007645A CN 101526916 B CN101526916 B CN 101526916B
Authority
CN
China
Prior art keywords
page
test
function flow
history lists
generate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2008100076452A
Other languages
English (en)
Other versions
CN101526916A (zh
Inventor
李辅炳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN2008100076452A priority Critical patent/CN101526916B/zh
Publication of CN101526916A publication Critical patent/CN101526916A/zh
Application granted granted Critical
Publication of CN101526916B publication Critical patent/CN101526916B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种基于页面对象流验证在回归测试中的应用方法,包括以下步骤:录制功能流操作的自动化测试脚本,根据主干功能流操作顺序,从不同页面生成对象基准表;在新一轮回归测试执行时,生成功能流操作页面的对象历史表;比较所述基准表与所述对象历史表在同一功能流页面、同一对象的状态或次序是否存在差异,生成并输出测试差异报告。本发明提供了一种基于页面对象流验证在回归测试中的应用装置。本发明可以大大减少人工测试时间和因程序修改频繁而致测试的次数的上升,保证项目质量,规避测试风险。

Description

基于页面对象流验证在回归测试中的应用方法及系统
技术领域
本发明涉及计算机网络应用领域,尤其涉及一种基于页面对象流验证在回归测试中的应用方法及系统。
背景技术
目前市场上有较多的商业与开源自动化测试工具,包括:采用DOM(Document Object Model,文件对象模型)技术的测试工具、采用HTTP(Hypertext Transfer Protocol,超文本传输协议)的测试工具和采用仿真浏览器的测试工具。其中,采用DOM技术的测试工具,都是直接对浏览器进行控制,读取或控制页面中的对象从而达到自动测试的目的,大部分的自动测试工具(Selenium RC,Watir和QTP等)都是基于DOM技术的。基于HTTP的测试工具,必须生成每个功能的HTTP请求,并对应答进行校验。基于仿真浏览器的测试工具,必须对浏览器行为完全模拟,复杂度高。
然而,从上面的工具原理和实现的技术特点可以看到,目前市场上用的自动化测试工具,基本上是在解决程序中或web页面上对象识别,对象维护再加上测试工程师加以程序的组织来模拟用户操作行为,从软件测试角度来看,这只是自动化测试工具所要解决问题之一,但更多的软件测试所要做的重要工作是:一次软件功能执行行为与符合用户期望的差异性比较的输出,即希望正确的程序执行的输入(符合期望的对象流顺序或状态),当程序在测试执行完成后,最后得到与正确结果差异性的输出。这一点是自动化测试工具所不完善也没有很好帮助测试人员做到位的地方。
现有技术中自动化工具以对象库或对象的属性作为对象的标识和脚本执行的参照。对象库中对象的更改,或作为标识某对象属性值的变化,将导致脚本执行的失败。因此,不得不手工维护对象库,或对象属性,增加测试人员脚本的时间维护成本。
另外,随着软件工程和web技术发展和演变,越来越多基于互联网的产品或项目得到用户的首选,但是进一步也带来因用户的需求或业务频繁变更,软件测试是软件质量保证过程中一个必不可手的重要手段。通常,业务需求变更或项目中程序代码修改结束,必将引入新的一轮回归测试的开始,每一次测试的执行主要参照依据测试人员设计的用例,随着项目迭代和回归测试次数的增加,测试工程师都要每次部分或全部选择用例来重新执行从而保证软件测试质量,但随着测试的迭代次数的增多,也同样加大项目时间或资源的投入。
目前市场上,也有一些商业的或开源的辅助测试工具,如:QuickTestProfessional,Winrunner,silktest,watir,selenuim等,这些工具的特点基本是通过对页面对象的识别,再加上测试工程师程序设计组织来模拟用户操作行为,达到对软件功能验证测试,自动化测试基本思路为:录制测试场景,或人工通过阅读web源代码方式来得到某个对象的属性;在脚本中把测试场景相关的对象维护到工具或脚本中去。但是,但这些测试工具只是操作或验证与测试场景相关的操作步骤对象,并不能一次性的把web页面中符合某一类型所有的对象进行测试比较验证。
发明内容
本发明提供了一种基于页面对象流验证在回归测试中的应用方法及系统,以获取软件功能执行行为与符合用户期望的差异性比较的输出。
为达到上述目的,本发明提供了一种基于页面对象流验证在回归测试中的应用方法,包括以下步骤:
录制功能流操作的自动化测试脚本,根据主干功能流操作顺序,从不同页面生成对象基准表;
在新一轮回归测试执行时,生成功能流操作页面的对象历史表;
比较所述基准表与所述对象历史表在同一功能流页面、同一对象的状态或次序是否存在差异,生成并输出测试差异报告。
其中,所述录制功能流操作的自动化测试脚本,根据主干功能流操作顺序,从不同页面生成对象基准表具体包括:
根据测试场景录制某功能流的自动化脚本;
在当前页面,根据对象类型生成页面对象流基准;
按对象流生成次序和状态将对象流基准存储到基准表中。
其中,所述生成功能流操作页面的对象历史表具体包括:
新的回归测试开始,根据录制的自动化脚本测试执行;
在每一页面,根据对象类型生成历史页面对象表;
按对象流生成次序和状态将每一页面的对象流存储到历史表。
其中,所述比较基准表与对象历史表在同一功能流页面、同一对象,状态或次序是否存在差异,生成并输出测试差异报告具体包括:
访问基准表获得当前功能流测试执行对象状态基准结果集合;
从历史表中获得回归测试执行的对象流集合;
关联两表进行查询,判定比较同一功能流页面、同一对象的状态或次序是否存在差异;
自动化脚本输出测试差异报告。
本发明提供了一种基于页面对象流验证在回归测试中的装置,包括:
基准表生成单元,用于录制功能流操作的自动化测试脚本,根据主干功能流操作顺序,从不同页面生成对象基准表;
历史表生成单元,用于在新一轮回归测试执行时,生成功能流操作页面的对象历史表;
比较输出单元,用于比较基准表与对象历史表在同一功能流页面、同一对象的状态或次序是否存在差异,生成并输出测试差异报告。
其中,所述基准表生成单元具体包括:
录制子单元,用于根据测试场景录制某功能流的自动化脚本;
生成子单元,用于在当前页面,根据对象类型生成页面对象流基准;
保存子单元,用于按对象流生成次序和状态将对象流基准存储到基准表中。
其中,所述历史表生成单元具体包括:
录制子单元,用于新的回归测试开始,根据录制的自动化脚本测试执行;
生成子单元,用于在每一页面,根据对象类型生成历史页面对象表;
保存子单元,用于按对象流生成次序和状态将每一页面的对象流存储到历史表。
其中,所述比较输出单元具体包括:
基准表访问子单元,用于获得当前功能流测试执行对象状态基准结果集合;
历史表访问子单元,用于从历史表中获得版本回归测试执行的对象流集合;
比较子单元,用于关联两表查询,判定比较同一功能流页面、同一对象的状态或次序是否存在差异;
输出子单元,用于利用自动化脚本输出测试差异报告。
与现有技术相比,本发明具有以下优点:
本发明可在上面提到的自动化工具的基础之上,对程序中每一主干功能流页面对象进行提取,与可作为参照基准对象流顺序及状态的存储进行比较;并在回归测试中,引入自动化测试验证,由自动化测试程序输出测试差异的结果,可以大大减少人工测试时间和因程序修改频繁而致测试的次数的上升,保证项目质量,规避测试风险。
附图说明
图1是本发明中基于页面对象流验证在回归测试中的应用方法流程图;
图2是本发明中页面中对象基准表的生成流程图;
图3是本发明中对象历史表生成流程图;
图4是本发明中回归测试执行与基准测试对象差异输出流程图;
图5是本发明中基于页面对象流验证在回归测试中的装置结构图。
具体实施方式
在基于B/S(Browser/Server,浏览器/服务器)架构web页面测试过程中,抓取功能流页面中各种web对象,以一定的顺序或状态存储到基准表,每一次的回归测试生成执行历史表,最后比较历史表与基准表中同一功能流页面对象顺序或状态差异,从而得到新的一轮回归测试过程中页面对象流与符合期望之间的差异。本发明当测试执行到一定阶段,或主干功能流程已经趋于稳定或代码趋于冻结,也就是可以得到每个功能流(或叫测试场景、测试用例)页面,以及页面对象的顺序或状态,按一定规则组织存储到数据表中,作为“可参照基准”,随着回归测试中迭代次数增加,每一次测试执行历史与基准表比较,自动得到历史测试与基准测试差异结果,以及不同版本历史测试中差异比较,不需要再花太多时间把每一轮测试用例再执行一遍,节约测试时间、缩短整个软件生命周期。
本发明的具体实施方式提出了一种基于页面对象流验证在回归测试中的应用方法,具体流程如图1所示,包括以下步骤:
步骤101,当回归测试开始时,录制功能流操作的自动化测试脚本(如Quick Test Professional自动化测试工具),根据主干功能流操作顺序,从不同页面生成对象基准表。
步骤102,随着开发与测试迭代,在新一轮回归测试执行时,生成功能流操作页面的对象历史表。
步骤103,比较基准表与对象历史表在同一功能流页面、同一对象,状态或次序是否存在差异,生成并输出测试差异报告。
其中,页面中对象基准表的生成流程如图2所示,包括以下步骤:
步骤201,根据测试场景录制某功能流的自动化脚本。
步骤202,在当前页面,根据对象类型调用FunctiongenerateStandardObjectByType,生成页面对象流基准。例如,对于不同页面的功能流操作,需要每一页面按对象类型,生成对象基准,对象类型包括:link,webedit,text等,调用Function generate Standard ObjectByType(parent,type),其中parent为传入参数,指某一页面,type指要生成某一页面的对象流类型。
步骤203,按对象流生成次序和状态将对象流基准存储到基准表中保存。例如调用Function generate ObjectToDB(moduleid,pageid,object_name,object_order,object_property)来实现。对象流验证包括:对象名、对象在页面的顺序、对象的其它属性,如:html tag,innertext等,被用来存储在object_property参数中。
步骤204,判断是否需要进行换页操作,如果是,则转步骤步骤207,否则,转步骤205。
步骤205,判断当前功能是否操作结束,如果是,则转步骤206,否则转步骤201。
步骤206,功能流脚本录制结束。
步骤207,点击访问新页面,并转步骤202。
回归测试中功能流页面对象历史表生成流程如图3所示,包括以下步骤:
步骤301,新的回归测试开始,根据录制的自动化脚本测试执行。显然,回放的页面操作流程与录制是一样的。
步骤302,在每一页面,根据对象类型调用函数FunctiongenerateHistoryObjectByType(parent,type),生成历史页面对象表。
步骤303,按对象流生成次序和状态将每一页面的对象流存储到历史表。其中,也是调用Function generate ObjectToDB(moduleid,roundid,pageid,object_name,object_order,object_property)来实现,同样可以保存对象名、对象次序,也可以把对象的属性如:html tag,innertext,alt等用object_property变量传入。
步骤304,脚本判定是否需要换页操作,如果是,转步骤307,否则,转步骤305。
步骤305,判断当前功能是否操作结束,如果是,转步骤306,否则,转步骤301。
步骤306,功能流脚本执行结束。
步骤307,脚本执行访问新页面,并转步骤302。
回归测试执行与基准测试对象差异输出流程如图4所示,包括以下步骤:
步骤401,自动化脚本执行。
步骤402,访问基准表,获得当前功能流测试执行对象状态基准结果集合。
步骤403,访问历史表,针对每一次回归测试,从历史表中获得版本回归测试执行的对象流集合。
步骤404,SQL脚本关联两表查询,判定比较同一功能流页面、同一对象的状态或次序是否存在差异。如对象属性html tag,innertext,或visible等。最后输出测试执行差异报告。
步骤405,自动化脚本输出测试差异报告。
步骤406,功能流脚本执行结束。
本发明用到的三个重要函数(在QTP工具下VB Script脚本开发实现,//后为中文注释),包括:
第一个函数Function generateStandardObjectByType(parent,type)//某page中某种类型对象集合;
//Parent是生成对象的父层次,通常是页面;
//ObjectType是生成对象的类型,如Webedit,Link,RadioButton等;
Set oDesc=Description.Create//代码用VB script实现;
ODesc(″micclass″).Value=Type//用描述性编程,得到页面对象集合;
Set oObjectCollection=parent.ChildObjects(oDesc)
NumOfObjects=oObjectCollection.count//取得对象的个数;
property=″Html Tag″//以html tag属性为例;
For i=0 To NumOfObjects-1
object_name=oObjectCollection(I).getroproperty(″name″)//把取到的对象名赋值给变量;
object_order=I//取到对象的位置,QTP默认对象在页面中布局次序是从上到下,从左到右,从0开始递增作为index的;
value=oObjectCollection(I).getroproperty(property)//取到对象给定属性取值;
call generateObjectToStandardDB(page_id,object_name,object_order,property,value)
//生成数据放到Test_Regress_Base表中;
//page_id可用sequence来赋值,也可以自定义;
//object_name对象名;
//object_order对象在页面中的次序;
//property对象的属性,如inertext,html tag,color,visible,item等;
//value对应属性的取值;
Next
End function
第二个函数Function generateHistoryObjectByType(Parent,ObjectType)
//历史表的执行对象生成方法实现,类似基准表对象生成,都需要在不同页面调用生成历史;
//表对象方法;
//上部分代码实现,与生成基准表的相同;
call generateObjectToHistoryDB(page_id,object_name,object_order,property,value)
//生成数据放到Test_Regress_History表中;
end function
第三个函数Function CompareObjectToGetResult(ReportType)
//调用PL/SQL存储过程来生成测试报告;
//存储过程的功能如下:
//得到新增对象,ReportType=0
   select case ReportType
   case″0″
select * From Test_Regress_History where object_name not in
(select object_name From Test_Regress_base)
//得到删除对象,ReportType=1
case″1″
select * From Test_Regress_base where object_name not in
(select object_name From Test_Regress_history)
//得到维护修改的对象,ReportType=2
case″2″
select*From Test_Regress_base a,Test_Regress_History b wherea.object_name=b.object_name
and a.property=b.property and a.value<>b.value
//到对象在页面显示次序,ReportType=3
case″3″
select*From Test_Regress_base a,Test_Regress_History b wherea.object_name=b.object_name
and a.index<>b.index
end function
本发明实施例中,某用户登陆到系统,进行查询系统管理功能;结合QTP自动化工具和本发明的方法,测试步骤如下:(本示例是测试验证web页面对象中一种,link流的验证)
1,使用QTP录制测试场景脚本。
Browser(″Browser″).Dialog(″安全警报″).WinButton(″是(Y)″).Click
//Browser是指当前打开的
//浏览器对象,Browser,dialog,winbutton是指对象,括号里取值是把对象其中一个属性作为;
//此处脚本是指点击dialog表单上,“是(Y)”的按钮;
Browser(″Browser″).Page(″随时随地签单″).WebEdit(″id″).Set″Wiston.Li″//把页面表单中,名‘为id的webedit对象设值为wiston Li;
Browser(″Browser″).Page(″随时随地签单″).WebEdit(″password″).Set″123456″//设置密码;
//123456
Browser(″Browser″).Page(″随时随地签单″).WebButton(″登录″).Click//点击登陆按钮;
Browser(″Browser″).Page(″销售管理信息系统″).Link(″系统管理″).Click//点击系统管理link;
Browser(″Browser″).Page(″销售管理信息系统_2″).WebButton(″查询″).Click//点击查询按钮;
2,生成基准对象。因为上述脚本涉及三个页面,需要调用三次生成基准对象的函数,脚本修改如下:
′Browser(″Browser″).Dialog(″安全警报″).WinButton(″是(Y)″).Click//注释如上类似
′Browser(″Browser″).Page(″随时随地签单″).WebEdit(″id″).Set″Wiston.Li″
′Browser(″Browser″).Page(″随时随地签单″).WebButton(″登录″).Click
′Browser(″Browser″).Page(″销售管理信息系统″).Link(″系统管理″).Click
Browser(″Browser″).Page(″销售管理信息系统_2″).WebButton(″查询″).Click
Dim parent,object//定义变量
type=″link″//生成link类型
set parent=Browser(″Browser″).Page(″销售管理信息系统_2″)//把生成对象页面的层次;
//赋给parent对象;
call generateStandardObjectByType(parent,type)//调用生成标准对象的方法;
假设场景:举例生成,销售管理信息系统_2页面中的所有link对象,如:生成三个对象如表1所示,分别为,
表1:
  名称   索引   属性   值
  linka   0   visible  true
  linkb   1   innerText  selloffer
  linkc   2   color  #0000ff
3,生成测试执行历史对象,脚本修改如下:(举例生成,销售管理信息系统_2页面中的所有link对象)
′Browser(″Browser″).Dialog(″安全警报″).WinButton(″是(Y)″).Click//注释如上类似
′Browser(″Browser″).Page(″随时随地签单″).WebEdit(″id″).Set″Wiston.Li″
′Browser(″Browser″).Page(″随时随地签单″).WebButton(″登录″).Click
′Browser(″Browser″).Page(″销售管理信息系统″).Link(″系统管理″).Click
Browser(″Browser″).Page(″销售管理信息系统_2″).WebButton(″查询″).Click
Dim parent,object//注释如上类似
type=″link″
set parent=Browser(″Browser″).Page(″销售管理信息系统_2″)
call generateHistoryObjectByType(Parent,ObjectType)//调用生成历史对象的方法
假设场景:举例生成,销售管理信息系统_2页面中的所有link对象,如:生成三个对象如表2所示,分别为,
表2:
  名称   索引   属性  值
  linka   1   visible  false
  linkc   2   color  #0000ff
  linkd   3   html_tag  A
4:比较历史执行版本与基准版本之间的对象差异
′得到测试报告,新增对象linkd
ReportType=″0″
call CompareObjectToGetResult(ReportType)
//得到测试报告,删除对象linkb
ReportType=″1″
call CompareObjectToGetResult(ReportType)
//得到测试报告,对象linka的属性值由true变为false
ReportType=″2″
call CompareObjectToGetResult(ReportType)
//得到测试报告,对象linka的index值有变化,由0变为1
ReportType=″3″
call CompareObjectToGetResult(ReportType)
上述只是以link作为测试对象来举例,当然也可以验证如:某个dropdownlistbox有多少选项,或页面中radiobox对象,check状态的变化等。对于基准表系统,生成了与某个页面相关的,任意类型对象流基准,保存到数据库中去。再通过回归测试执行,得到历史对象流,通过在页面中某个类型对象的次序,与属性值等的比较,得到与功能流相关的所有页面不同类型对象差异的测试结果的自动化输出,从而大家大大减少回归测试的时间(自动化脚本维护与测试验证的时间)。显然,从上面的举例也可以得到,如果在执行测试时,只需要执行下面的脚本,生成历史对象流就可以了,而不需要像自动化工具那样关注所有脚本涉及对象,或属性如同脚本录制或开发时对象或属性值的一致。
Browser(″Browser″).Page(″销售管理信息系统_2″).WebButton(″查询″).Click
Dim parent,object‘注释如上类似
type=″link″
set parent=Browser(″Browser″).Page(″销售管理信息系统_2″)
call generateStandardObjectByType(parent,type),
由于本发明主要基于在回归测试中,关注与功能流场景相关web页面对象流的验证测试,特别是表单中对象次序与状态变化,通过程序自动输出测试执行报告,而减少需要人工参与的测试,如不同版本web对象的比较,特别减轻测试工程师重复测试劳动。
本发明提供了一种基于页面对象流验证在回归测试中的装置,如图5所示,包括:基准表生成单元10,用于录制功能流操作的自动化测试脚本,根据主干功能流操作顺序,从不同页面生成对象基准表;历史表生成单元20,用于在新一轮回归测试执行时,生成功能流操作页面的对象历史表;比较输出单元30,用于比较基准表与对象历史表在同一功能流页面、同一对象的状态或次序是否存在差异,生成并输出测试差异报告。
所述基准表生成单元10具体包括:录制子单元11,用于根据测试场景录制某功能流的自动化脚本;生成子单元12,用于在当前页面,根据对象类型生成页面对象流基准;保存子单元13,用于按对象流生成次序和状态将对象流基准存储到基准表中。
所述历史表生成单元20具体包括:录制子单元21,用于新的回归测试开始,根据录制的自动化脚本测试执行;生成子单元22,用于在每一页面,根据对象类型生成历史页面对象表;保存子单元23,用于按对象流生成次序和状态将每一页面的对象流存储到历史表。
所述比较输出单元30具体包括:基准表访问子单元31,用于获得当前功能流测试执行对象状态基准结果集合;历史表访问子单元32,用于从历史表中获得版本回归测试执行的对象流集合;比较子单元33,用于关联两表查询,判定比较同一功能流页面、同一对象的状态或次序是否存在差异;输出子单元34,用于利用自动化脚本输出测试差异报告。
通过以上实施例的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台网络设备执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (6)

1.一种基于页面对象流验证在回归测试中的应用方法,其特征在于,包括以下步骤:
录制功能流操作的自动化测试脚本,根据主干功能流操作顺序,从不同页面生成对象基准表;
在新一轮回归测试执行时,生成功能流操作页面的对象历史表;所述生成功能流操作页面的对象历史表具体包括:新的回归测试开始,根据录制的自动化测试脚本执行;在每一页面,根据对象类型生成每一页面的对象流;按对象流生成次序和状态将每一页面的对象流存储到对象历史表;
比较所述基准表与所述对象历史表在同一功能流操作页面中的同一对象的状态或次序是否存在差异,生成并输出测试差异报告。
2.如权利要求1所述基于页面对象流验证在回归测试中的应用方法,其特征在于,所述录制功能流操作的自动化测试脚本,根据主干功能流操作顺序,从不同页面生成对象基准表具体包括:
根据测试场景录制某功能流操作的自动化测试脚本;
在当前页面,根据对象类型生成页面对象流基准;
按对象流生成次序和状态将页面对象流基准存储到对象基准表中。
3.如权利要求1所述基于页面对象流验证在回归测试中的应用方法,其特征在于,所述比较基准表与对象历史表在同一功能流页面、同一对象,状态或次序是否存在差异,生成并输出测试差异报告具体包括:
访问基准表获得当前功能流操作测试执行对象状态基准结果集合;
从历史表中获得回归测试执行的对象流集合;
关联两表进行查询,比较同一功能流页面中的同一对象的状态或次序是否存在差异;
自动化脚本生成并输出测试差异报告。
4.一种基于页面对象流验证在回归测试中的应用装置,其特征在于,包括: 
基准表生成单元,用于录制功能流操作的自动化测试脚本,根据主干功能流操作顺序,从不同页面生成对象基准表;
历史表生成单元,用于在新一轮回归测试执行时,生成功能流操作页面的对象历史表;所述历史表生成单元具体包括:录制子单元,用于新的回归测试开始,根据录制的自动化测试脚本执行;生成子单元,用于在每一页面,根据对象类型生成每一页面的对象流;保存子单元,用于按对象流生成次序和状态将每一页面的对象流存储到对象历史表;
比较输出单元,用于比较基准表与对象历史表在同一功能流操作页面中的同一对象的状态或次序是否存在差异,生成并输出测试差异报告。
5.如权利要求4所述基于页面对象流验证在回归测试中的应用装置,其特征在于,所述基准表生成单元具体包括:
录制子单元,用于根据测试场景录制某功能流操作的自动化测试脚本;
生成子单元,用于在当前页面,根据对象类型生成页面对象流基准;
保存子单元,用于按对象流生成次序和状态将页面对象流基准存储到对象基准表中。
6.如权利要求4所述基于页面对象流验证在回归测试中的应用装置,其特征在于,所述比较输出单元具体包括:
基准表访问子单元,用于获得当前功能流操作测试执行对象状态基准结果集合;
历史表访问子单元,用于从历史表中获得版本回归测试执行的对象流集合;
比较子单元,用于关联两表查询,比较同一功能流页面中的同一对象的状态或次序是否存在差异;
输出子单元,用于利用自动化脚本生成并输出测试差异报告。 
CN2008100076452A 2008-03-03 2008-03-03 基于页面对象流验证在回归测试中的应用方法及系统 Expired - Fee Related CN101526916B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100076452A CN101526916B (zh) 2008-03-03 2008-03-03 基于页面对象流验证在回归测试中的应用方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100076452A CN101526916B (zh) 2008-03-03 2008-03-03 基于页面对象流验证在回归测试中的应用方法及系统

Publications (2)

Publication Number Publication Date
CN101526916A CN101526916A (zh) 2009-09-09
CN101526916B true CN101526916B (zh) 2012-05-30

Family

ID=41094786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100076452A Expired - Fee Related CN101526916B (zh) 2008-03-03 2008-03-03 基于页面对象流验证在回归测试中的应用方法及系统

Country Status (1)

Country Link
CN (1) CN101526916B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874176A (zh) * 2015-12-14 2017-06-20 阿里巴巴集团控股有限公司 智能测试方法和装置

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902619B (zh) * 2011-07-29 2015-09-09 阿里巴巴集团控股有限公司 Web应用程序的回归测试方法和装置
CN103365643B (zh) * 2012-03-30 2017-07-21 Ge医疗系统环球技术有限公司 一种自动生成图形用户界面的测试脚本的方法及装置
CN103530222B (zh) * 2012-07-04 2018-01-09 腾讯科技(深圳)有限公司 基于情感的软件测试方法及系统
CN103577316B (zh) 2012-07-31 2016-02-10 国际商业机器公司 脚本自动修复的方法和装置
CN106502904A (zh) * 2016-11-02 2017-03-15 四川长虹电器股份有限公司 一种智能家电设备应用的ui自动化测试方法
CN106815147B (zh) * 2016-12-29 2019-10-11 东软集团股份有限公司 一种测试脚本生成方法及装置
CN107870858A (zh) * 2017-05-05 2018-04-03 平安科技(深圳)有限公司 版本对比测试方法及系统
CN107203416B (zh) * 2017-05-17 2020-08-21 维沃移动通信有限公司 一种终端操作方法及移动终端
CN107256151B (zh) * 2017-05-27 2020-09-11 北京小米移动软件有限公司 页面渲染的处理方法、装置及终端
CN109002389B (zh) * 2017-06-07 2022-03-04 北京京东尚科信息技术有限公司 页面自动化测试的方法和装置
CN107436846A (zh) * 2017-08-04 2017-12-05 网易(杭州)网络有限公司 测试方法、装置、计算可读存储介质和计算设备
CN109783341A (zh) * 2017-11-10 2019-05-21 阿里巴巴集团控股有限公司 回归测试方法和装置
CN107707433B (zh) * 2017-11-14 2020-12-11 北京思特奇信息技术股份有限公司 一种从网络平台测试业务流程的方法及计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758062A (en) * 1996-04-30 1998-05-26 Oracle Corporation Method and apparatus for regression testing of application logic
US6490696B1 (en) * 1999-12-15 2002-12-03 Electronics For Imaging, Inc. System and method for printer output regression testing using display lists
CN1752944A (zh) * 2005-10-20 2006-03-29 北京航空航天大学 基于脚本的三维建模软件自动测试方法
CN101118515A (zh) * 2007-09-11 2008-02-06 腾讯科技(深圳)有限公司 一种表单的自动测试方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758062A (en) * 1996-04-30 1998-05-26 Oracle Corporation Method and apparatus for regression testing of application logic
US6490696B1 (en) * 1999-12-15 2002-12-03 Electronics For Imaging, Inc. System and method for printer output regression testing using display lists
CN1752944A (zh) * 2005-10-20 2006-03-29 北京航空航天大学 基于脚本的三维建模软件自动测试方法
CN101118515A (zh) * 2007-09-11 2008-02-06 腾讯科技(深圳)有限公司 一种表单的自动测试方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874176A (zh) * 2015-12-14 2017-06-20 阿里巴巴集团控股有限公司 智能测试方法和装置

Also Published As

Publication number Publication date
CN101526916A (zh) 2009-09-09

Similar Documents

Publication Publication Date Title
CN101526916B (zh) 基于页面对象流验证在回归测试中的应用方法及系统
US9483648B2 (en) Security testing for software applications
US10127141B2 (en) Electronic technology resource evaluation system
Theisen et al. Approximating attack surfaces with stack traces
US9594797B2 (en) Data quality assessment
US9524525B2 (en) Method, system, and graphical user interface for presenting an interactive hierarchy and indicating entry of information therein
US9092578B2 (en) Automated end-to-end testing via multiple test tools
US20130232474A1 (en) Techniques for automated software testing
EP2778929B1 (en) Test script generation system
US9495282B2 (en) Method and systems for a dashboard testing framework in an online demand service environment
US20140013308A1 (en) Application Development Environment with Services Marketplace
US20110016452A1 (en) Method and system for identifying regression test cases for a software
CN108345532A (zh) 一种自动化测试用例生成方法和装置
US8190494B2 (en) Order processing analysis tool
Quinton et al. SALOON: a platform for selecting and configuring cloud environments
Kirbas et al. The relationship between evolutionary coupling and defects in large industrial software
US10346290B2 (en) Automatic creation of touring tests
US20060224777A1 (en) System and method for creating test data for data driven software systems
CN109710528A (zh) 一种测试脚本生成方法、装置、设备和介质
US20170147474A1 (en) Software testing coverage
Strauch et al. Decision support for the migration of the application database layer to the cloud
CN105389262A (zh) 一种针对界面测试生成测试建议的方法和装置
US20140316926A1 (en) Automated Market Maker in Monitoring Services Marketplace
US10719482B2 (en) Data comparison
Luo et al. Clustering and tailoring user session data for testing web applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120530

Termination date: 20210303