自动化界面测试系统的制作方法

文档序号:6464795阅读:253来源:国知局
专利名称:自动化界面测试系统的制作方法
技术领域
本发明关于计算机软件领域,特别关于计算机软件测试技术,具体地讲 是一种自动化界面测试系统。
龍駄
软件测试定义是为了发现程序中的错误而执行程序的过程,软件测试
主要工作内容是验证(verification)和确认(validation),验证是保证软件正确地 实现了一些特定功能的一系列活动,即保证软件做了你所期望的事情。确认 是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑 正确性。即保证软件以正确的方式来做了这个事件。
从软件开发的过程按阶段划分有A.单元测试,B.集成测试,C.确认测试, D.验收测试,E.系统测试。
目前,传统的程序界面测试具有较大的缺陷,具体表现为
1、 界面测试一般作为系统测试的一部分而存在,需要等到程序开发完成、 测试环境搭建完毕后,与业务功能测试同步进行。这样无形中推迟了界面问 题发现和修改的时机,造成修改成本的增加。
2、 因为界面测试作为系统测试的一部分,因此界面测试的案例是面向特 定的应用或系统,案例重用性不高,增加了重复劳动的成本。
3、 业界现有的自动化测试工具,对于界面的自动化测试没有好的解决方 案。从测试方法上来看,通常只是对脚本进行解析式回放,缺乏对于自动化 案例是否通过的判断,较难进行测试结果、测试质量的统计分析。
4、 从测试案例编写上来看,现有自动化测试工具缺乏对批量生成、批量
执行自动化测试案例的方法。具体表现为自动化测试案例的编写需要依靠手 工逐个录制来完成,然后逐个执行,人工判断测试结果。缺少批量生成界面 测试案例的功能, 一方面使得案例设计耗时甚多,无法降低手工劳动的比例; 另一方面也有可能导致案例对于界面功能覆盖率的降低。而缺少批量执行自 动化案例测试的功能使得测试案例的多人共用以及测试结果的自动判断分析 较难实现,客观上阻碍了界面测试效率的提高。
现有技术中提供了一种软件测试方法,该方法包括操作开始软件测试 的测试模式;输入测试目标函数;读取测试目标函数的标记信息;显示询问 关于所述标记信息的信息选择屏幕;根据所述通过信息选择屏幕输入的关于 所述标记信息的信息和测试目标函数,来生成测试信息;以及输出测试所述 测试目标函数的测试信息。但该技术并没有公开针对界面测试的内容,并且 在测试过程中需要多次由外界(用户)输入数据。
又如现有技术提供了一种基于源代码静态分析的软件安全代码分析器及 其检测方法,软件安全代码分析器包括五个功能模块代码解析器、代码分 析引擎、安全风险报告器、安全规则库和用户接口,其中代码分析引擎由数据 流分析器、控制流分析器、结构分析器、安全分析调度器及安全分析接口所 组成,负责提取程序结构并通过基于全文的语法、语义来分析代码的安全问 题;通过输入的源代码和代码的语法与语义,由该引擎分析代码的结构和关 键特征,由此获取程序的安全风险并报告给用户。但可以看出,该发明同样 没有克服现有技术中关于界面测试的缺陷。
中国专利申请200610168826.4、 200710064155.l公开的内容以引入方式
将其合并于此。

发明内容
针对上述现有技术中存在的不足,本发明的主要目的在于提供一种自动 化界面测试系统,使界面测试可以在软件界面代码完成后即大批量自动执行。
为了实现上述目的,本发明实施例提供一种自动化界面测试系统,所述 的系统包括界面代码获取单元,用于获取被测界面程序代码;界面元素信 息读取单元,用于从所述的被测界面程序代码中读取包括界面元素名、界面 元素类型和业务功能要求信息在内的界面元素信息;测试案例生成单元,用 于根据所述的业务功能要求信息生成界面测试案例;测试案例执行单元,用 于运行所述的测试案例,并对测试案例运行中的功能要求进行响应,获取功 能要求响应结果;测试结果输出单元,用于从运行的测试案例中获取该测试 案例的预期验证结果,将所述的功能要求响应结果和预期验证结果进行一致 性比较,输出一致或不一致的测试结果。
本发明实施例的有益效果在于,提出了一种自动化界面测试方法及系统, 可以在重复繁琐的界面测试中引入自动化测试的理念,测试效率相比起手工 测试而言大为提高。同时因为将界面测试与功能测试的过程相分离,可以使 界面测试无需等到程序开发完成才介入,而是提早到界面代码开发完成后马 上开始,提高了测试效率,同时方便定位问题所在。另外由于引入了自动判 断、多人协同测试的测试管理理念,解决了手工测试案例不能重用、难于进 行批量案例执行、测试结果难于统一汇总分析的缺点。本发明的实用,可以 有效地促进测试质量的提高。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部 分,并不构成对本发明的限定。在附图中
图1是本发明提供的自动化界面测试方法的流程图; 图2是本发明提供的自动化界面测试方法的详细流程图; 图3是本发明提供的自动化界面测试系统的结构图; 图4是本发明提供的自动化界面测试系统的详细结构图; 图5是本发明提供的自动化界面测试系统的整体结构图6是本发明提供的自动化界面测试系统中批量案例生成流程的详细说
明;
图7是本发明提供的自动化界面测试系统中批量案例执行流程的详细说
明;
图8是本发明提供的自动化界面测试系统中元素标签的示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式 和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其 说明用于解释本发明,但并不作为对本发明的限定。
本发明适用于采取界面设计代码与应用逻辑代码相分离的设计模式的软 件系统。该类型的系统,界面设计与功能逻辑两部分互相独立,界面设计代 码以客户端解析语言或者配置文件的方式,保存关于软件界面的外观、输入 场的控制与跳转、错误信息提示等设计,而功能逻辑代码用以指定交易的业 务功能、逻辑处理与控制、与数据库交互的工作。界面外观和功能逻辑之间 用通信的方式彼此合作,成为完整的协同的软件整体。这类型的软件系统, B/S结构以典型的三层结构(客户端html/javascript—应用层jsp/asp—数 据库层)系统为代表,而C/S结构则以一种客户端用XML展现界面,应用端 用JAVA进行逻辑控制的终端系统为典型。
本发明实施例提供一种自动化界面测试方法及系统。以下结合附图对本 发明进行详细说明。
如图1所示,是本发明提供的自动化界面测试方法的流程图。在步骤101 时,获取被测界面程序代码,读取其中的界面元素信息;然后,在步骤102 时,根据界面元素信息生成界面测试案例;在步骤103时,运行所述的测试 案例,获取功能要求响应结果;在步骤104时,获取该测试案例的预期验证 结果;在步骤105时,判断响应结果是否与预期验证结果相同或在其范围内,
如果是则判断为通过测试;如果否则判断为不通过测试。
如图2所示,是本发明提供的自动化界面测试方法的详细流程图。在步 骤201时,获取被测界面程序代码,读取包括界面元素名、界面元素类型和 业务功能要求信息在内的界面元素信息,该界面元素信息是界面测试人员根 据《软件需求说明书》等测试文档中对功能界面的设计和要求进行录入的。
然后,在步骤202时,枚举所述的业务功能要求信息可能获得的用户使 用情况;
在步骤203时,根据每类用户使用情况分别生成界面测试案例;
在步骤204时,对所述的测试案例进行合法性校验,合法性校验通过时
允许运行该测试案例,执行步骤205;当合法性校验不通过时删除不通过的测
试案例。
在步骤205时,运行所述的测试案例,获取功能要求响应结果。 在步骤206时,获取该测试案例的预期验证结果。 在步骤207时,判断响应结果是否与预期验证结果相同或在其范围内, 如果是则判断为通过测试;如果否则判断为不通过测试。
在步骤208时,对测试结果数据是否通过校验进行统计,得到测试统计
似,i,rrt数据。
如图3所示,是本发明提供的自动化界面测试系统的结构图。该系统包 括界面代码获取单元301,用于获取被测界面程序代码;
界面元素信息读取单元302,用于从所述的被测界面程序代码中读取包括 界面元素名、界面元素类型和业务功能要求信息在内的界面元素信息;
测试案例生成单元303,用于根据所述的业务功能要求信息生成界面测试 案例;
测试案例执行单元304,用于运行所述的测试案例,并对测试案例运行中 的功能要求进行响应,获取功能要求响应结果;
测试结果输出单元305,用于从运行的测试案例中获取该测试案例的预期 验证结果,将所述的功能要求响应结果和预期验证结果进行一致性比较,输 出一致或不一致的测试结果。
如图4所示,是本发明提供的自动化界面测试系统的详细结构图。该系 统包括
界面代码获取单元401,用于获取被测界面程序代码;
界面元素信息读取单元402,用于根据所述的业务功能要求信息生成界面 测试案例;
测试案例生成单元403包括业务功能枚举模块4031,用于枚举所述的 业务功能要求信息可能获得的用户使用情况;;测试案例生成模块4032,用 于根据每类用户使用情况分别生成界面测试案例;
测试案例执行单元404,用于运行所述的测试案例,并对测试案例运行中 的功能要求进行响应,获取功能要求响应结果。
测试结果输出单元405,用于从运行的测试案例中获取该测试案例的预期 验证结果,将所述的功能要求响应结果和预期验证结果进行一致性比较,输 出一致或不一致的测试结果。
测试结果统计单元406,用于对所述的测试结果输出单元输出的一致或不 一致的测试结果进行统计得到测试统计数据。
界面代码存储单元407,用于存储所述的被测界面程序代码,该被测界面 程序代码包含包括界面元素名、界面元素类型和业务功能要求信息在内的界 面元素信息。
测试信息存储单元408,用于存储所述的测试案例生成单元生成的界面测 试案例、所述的测试结果输出单元输出的测试结果。
测试案例校验单元409,用于对所述的测试案例进行合法性校验,当合法 性校验通过时允许所述的测试案例执行单元执行该通过合法性校验的测试案 例。
测试案例生成循环单元410,用于判断是否存在需要进行测试的界面元素
信息,如果是调用所述的测试案例生成单元根据该界面元素信息中的业务功
能要求信息生成界面测试案例;如果否则继续判断是否存在需要进行测试的 界面程序,如果是调用所述的界面代码获取单元获取该测界面程序代码。
测试案例执行循环单元411,用于判断是否存在需要执行的界面测试案 例,如果是则调用所述的测试案例执行单元运行该测试案例。
测试案例修改单元412,用于对所述的测试案例进行修改,所述的修改包 括设置特殊验证值和修改合法性校验值。
为本发明提供的测试方法的详细技术方案如下
本测试方法的实现原理采用界面设计与功能逻辑相独立的设计模式开 发的软件,界面元素与业务逻辑代码之间并不是紧密互联的关系,因此可以 根据系统具体的界面元素和属性的定义方法,开发专门针对界面的自动化测 试案例,屏蔽后台业务逻辑并单独面向系统中的界面代码进行静态分析测试, 验证界面的设计是否满足系统的要求。
本测试方法对测试案例的分类管理在业界现有的自动化测试方法和实 现中,自动化案例一般是针对特定系统进行归档管理,负责测试系统中某些 功能模块。随着软件工程的发展,实现某些功能的代码模块可以以构件的方 式进行封装,方便相似的功能在不同系统实现中的重用。相应地,为了方便 自动化测试案例在不同系统间重用,本测试方法将待测系统看作是由不同的 功能模块(或称构件)组成,测试案例不属于具体的系统,而是归档于特定 的功能模块下进行管理。
测试方法的实现使用本测试方法,基于一个由客户端、服务器和数据 库组成的三层C/S结构测试系统(结构图见附图5)。其中客户端面向测试人 员使用,实现批量生成测试案例、案例展现以及根据测试案例发起对待测系 统的批量自动化界面测试。服务器端实现了测试案例和测试执行过程的管理 和主控功能,服务器程序响应客户端的操作请求,负责调度测试案例在在数 据库与客户端之间互动,收集客户端上送的批量测试结果,归档到数据库中
保存,并能对测试结果进行定性定量分析。后台数据库实现数据存储模块的 功能用于保存系统的用户、应用、交易/功能模块、案例及案例执行结果信息。 服务器和后台数据库的引入,从技术上提供了测试案例多人共享、测试结果 统一汇总分析的系统功能。
使用该测试方法进行自动化界面测试,需要依次经过案例设计、案例执 行和测试结果分析等三部分步骤。测试方法使用流程的详述如下
案例设计维护应用和功能信息测试人员通过客户端,录入案例所属 的功能信息如功能编号、功能名、功能描述等,系统在服务器端对相关信息 进行合法性校验后,上送在数据库中进行保存。
案例设计批量生成界面测试案例(流程图见附图6):在本测试方法中, 批量自动生成界面测试案例的依据是待测系统的《软件需求说明书》、《系统 规格说明书》等设计文档。测试人员根据设计文档中特定功能的界面设计方 案,在客户端选定测试案例所属的功能,然后逐个录入界面设计方案中所定 义元素的类型、业务功能要求(或限制)等设计内容。录入完之后,客户端 程序调用内置的分析函数分析录入的界面元素及要求,对每个元素的每种业 务要求或限制,列举各种可能出现的正确或错误的使用情况,综合考虑边界 值等测试方法后,根据每种情况生成一个测试案例及预期的测试结果。
比如某功能模块的界面只有一个文本输入框,要求文本框必输且只能 输入10位以内(含10位)的纯数字。那么就有以下几种可能的使用情况
a、 不输入任何字符
b、 输入小于10位(如9位的字符)纯数字
c、 输入小于10位(如9位的字符)非纯数字
d、 输入等于IO位纯数字
e、 输入等于10位非纯数字
f、 输入大于10位纯数字
g、 输入大于10位非纯数字
对于上述每种使用情况,都会自动转化成一个测试案例。案例批量生成 后,测试人员可对其进行进一步的修改,如设置特殊的验证值和修改预期的 测试结果。修改完成后,客户端统一把案例上送服务器,经主控程序校验后 归档到数据库保存。
案例执行(流程图见附图7):测试人员根据功能模块查询并选择一条或 多条案例信息,然后启动测试。服务器主控程序在数据库中査询出待测系统 的环境信息及相关案例的测试内容,返回给客户端。客户端以ftp方式连接待 测系统,获取对应的界面设计代码并对其进行词法分析,逐一根据案例设置 的验证类型和验证对项目名获取对应的界面对象和属性,根据验证类型,将 案例之间的验证值与属性值进行运算比较,得到比较结果值,并根据实际比 较结果与预期结果对比,若两者相同,则将该案例的测试置成测试通过,反 之则置成测试不通过。以上的操作不断反复,直到所有的待测案例都测试完 成,即认为本次批量自动化测试成功完成,客户端将所有案例的测试结果上 送服务器,经主控程序整理后保存到数据库中。
测试结果分析测试执行完成后的任何时间,测试人员可以对数据库中 保存的测试结果进行分析,得出对于待测模块的质量分析。测试人员选择需 要分析的功能模块及统计时间范围,确定后系统自动査询数据库中测试结果 表,获取相应记录并进行计算,最后展现该时间段、该功能模块下,执行的 总案例数、通过的案例数、案例通过的百分比等分析统计信息,以便进行测 试质量分析。
以下是应用本测试方法进行输入场控制测试的的一个实施例-根据软件需求说明书中的定义,某系统数据新增功能模块的界面有一个 文本输入场,要求控制本输入场必输且只能输入不大于10位的英文。在程序
实现上,待测系统以XML文件保存系统的界面元素,其中每一个XML标签 (TAG)代表一个界面上一个元素。元素的例样如图8所示。这个ELEMENT 标签带有几个参数,分别用于设置界面元素的名字、类型和内容控制。其中
NAME="客户英文名"表明元素名字为Name, TYPE= "textfield"表明这是 一个输入场元素,Regular^ " ,-Za-z\-]+$"用于控制该输入场只能输入英文字 符,MAXLENGTHN"15"控制输入场最多只能输入15个字符,MUSTINPUT= "TRUE"则表明本输入场必输。
本实施例需要利用基于界面代码静态扫描的测试方法,对该元素进行自 动化测试,验证该输入场是否只可以输入英文字符。其基本过程和后台处理 如下
测试人员使用客户端新增该测试案例所属的功能模块为"数据新增"。数 据上送后台,经过合法性检查之后,写入数据库中保存。
测试人员根据《软件需求说明书》,在客户端中录入界面元素的类型、业 务要求及案例所属的功能模块如下
案例所属的模块数据新增
界面元素名客户英文名
界面元素类型文本输入框
界面元素业务控制必输;只能输入英文;输入长度不多于10个字符; 确认输入完成后,客户端程序调用内置分析函数,分析出对于该输入场 有以下可能的几种输入情况
a) 不输入任何字符
b) 输入英文字符 C)输入非英文字符
d) 输入小于10位的字符
e) 输入10位字符
f) 输入多于io位的字符
根据每种情况,批量生成模块自动生成一个对应的界面案例,因此生成 案例如下
案例名输入场案例测试l
案例所属的模块数据新增 自动化测试的目标环境系统测试环境A 案例待测的界面元素名客户英文名 界面测试的类型空值测试 设置案例的验证值-
案例验证的预期验证结果不能通过校验
案例名输入场案例测试2 案例所属的模块数据新增 自动化测试的目标环境系统测试环境A 案例待测的界面元素名客户英文名 界面测试的类型英文字符测试 设置案例的验证值ABCDE 案例验证的预期验证结果可以通过校验
案例名输入场案例测试3 案例所属的模块数据新增 自动化测试的目标环境系统测试环境A 案例待测的界面元素名客户英文名 界面测试的类型非英文测试 设置案例的验证值123AB789
案例验证的预期验证结果不能通过校验
案例名输入场案例测试4 案例所属的模块数据新增 自动化测试的目标环境系统测试环境A
案例待测的界面元素名客户英文名 界面测试的类型输入长长度测试
设置案例的验证值ABCDEFG
案例验证的预期验证结果可以通过校验
案例名输入场案例测试5 案例所属的模块数据新增 自动化测试的目标环境系统测试环境A 案例待测的界面元素名客户英文名 界面测试的类型输入长长度测试
设置案例的验证值ABCDEFGHIJ
案例验证的预期验证结果可以通过校验
案例名输入场案例测试6 案例所属的模块数据新增 自动化测试的目标环境系统测试环境A 案例待测的界面元素名客户英文名 界面测试的类型输入长长度测试 设置案例的验证值ABCDEFGHIJK
案例验证的预期验证结果不能通过校验
案例批量生成后,测试人员可对案例进行进一步修改,如设置特别的验 证值。处理完成后,客户端将案例内容上送服务器,主控模块将案例信息写 入数据库保存。
选择设计好的案例(以批量执行"输入场案例测试3"、"输入场案例测试 6"为例),发起批量案例执行。主控程序在数据库中查询到案例的目标测试
环境、待测元素名、界面测试类型与验证值,并将数据返回给客户端。客户
端与目标测试环境建立FTP连接,下载界面代码到客户端本地。然后,客户 端调用预设好的词法分析器,对界面代码进行词法分析,分解出各个界面元 素。
对于输入场案例测试6,程序根据案例中设置的界面元素名,查找代码中 是否存在元素名为"客户英文名"的元素,若存在该元素,则根据输入场长 度测试的要求,读取相关XML标签的MAXLENGTH属性值(15)。
使用一定的程序方法对输入场案例测试6中的验证值"ABCDEFGHIJK" 进行长度分析(如使用JAVA的String类中的lengthO函数),得出该验证值的 长度为ll个字符,然后将其与MAXLENGTH的属性值进行比较,因为验证 值长度比代码中设置的属性值小,故可以通过长度校验。这就表明程序的实 现与和基于设计文档得出的预期验证结果不符,因此这个案例是测试不通过 的。
对于输入场案例测试3,程序査找界面元素中是否存在元素名为"客户英 文名"的元素,若存在该元素,则根据"业务内容输入控制"的测试要求, 读取相关XML标签的Regular属性值(正则表达式A[A-Za-zV]+S)。
使用一定的比较函数(如Java中String类的matches函数)将案例验证 值("123AB789")与Regular属性值进行比较,判断案例验证值是否满足 Regular属性中指定的正则表达式,得到比较结果——案例验证值不满足代码 中的正则表达式,因此不能被输入到该输入场中。然后将比较结果("不能输 入")与案例设置的预期验证结果("不能输入")进行对比,两者相匹配,表 明程序实现与设计文档一致,因此该案例测试通过。
客户端整理测试结果并上送到服务器,主控程序处理后保存在数据库中。
选择统计的时间段、统计案例名,服务器端程序查找数据库中相关记录 并返回客户端,展现相关交易在统计时间段内总共执行的次数、测试通过次 数和通过百分比,以及案例执行的明细信息。
如图5所示,是本发明提供的自动化界面测试系统的整体结构图。
该系统包括数据存储装置500:本界面测试系统的数据存储装置。与服 务端主控装置501以TCP/IP方式通信,接受测试人员使用客户端装置502生 成、经服务端主控装置501做校验和整理处理后上送而来的功能信息、案例 信息及案例执行结果信息。
服务端主控装置501:本界面测试系统的服务端主控装置。实现对自动化 界面测试系统的主控调度功能。分别与数据存储装置500、客户端装置502以 TCP/IP方式连接,负责响应客户端装置502诸如的案例信息获取、测试结果 统计等数据请求,以及对客户端装置502上送的功能信息、测试案例信息、 案例执行结果信息进行校验和整理,然后上送到数据存储装置500进行保存。
客户端装置502:本界面测试系统的客户端装置。与服务端主控装置501 连接,为终端用户提供批量案例生成、批量案例执行的功能,并向服务端主 控装置501上送案例生成结果、案例执行结果。同时本装置以FTP的方式与 待测系统503进行连接获取待测系统503中保存的界面设计代码以提供给批 量案例执行功能使用。
待测系统503:是本界面测试工具的工作对象,其中存放待测系统的界面 设计代码。本装置响应客户端装置502的FTP下载请求,提供案例测试所需 功能的界面设计代码。
如图6所示,是本发明提供的自动化界面测试系统中批量案例生成流程 的详细说明-
步骤601:客户端装置接收外界录入的待测功能中包含的界面元素名、元 素类型及业务功能要求等信息,该录入信息是界面测试人员根据《软件需求 说明书》等测试文档中对功能界面的设计和要求进行录入的。
步骤602:客户端装置在步骤601中录入的界面元素信息中读取一个。 步骤603:客户端装置在步骤602中读取的界面元素信息中读取一个业务 功能要求信息。
步骤604:客户端装置调用内置的分析函数,对步骤603中读取的业务功 能要求信息进行分析,列举可能存在的用户使用情况。
步骤605:客户端装置根据步骤604中列举的每种可能情况,各自生成一 个界面测试案例。
步骤606:客户端装置判断步骤602中读取的界面元素,其业务功能要求 是否已读取完毕。如果读取完毕,则跳转到步骤607,反之则表明该界面元素 还有未分析的业务功能要求,跳转到步骤603继续读取。
步骤607:客户端装置判断步骤601中录入的界面元素是否己读取完毕。 如果读取完毕,则跳转到步骤608,反之则表明还有未分析的界面元素,跳转 到步骤602继续读取。
步骤608:客户端装置接收外界对案例的进一步修改。该修改是界面测试 人员根据界面测试案例设计和执行的需要进行录入的。
步骤609:客户端装置把经过以上步骤批量生成的测试案例,上送到服务 端主控装置进行合法性校验和信息整理,然后传送到数据库存储装置进行保 存。
如图7所示,是本发明提供的自动化界面测试系统中批量案例执行流程 的详细说明
步骤700:客户端装置主动建立与服务器端主控装置的TCP/IP连接。 步骤701:客户端装置接收外界上送的、需要批量执行的案例信息,启动
批量案例执行操作。这些待执行案例信息是界面测试人员根据测试场景执行 的需要,在客户端装置上对案例进行选择后上送的。
步骤702:客户端装置向主控装置上送待执行案例信息,主控信息往数据
库存储装置査询相关案例的详细信息,下传返回客户端装置
步骤703:客户端装置在返回的案例信息中读取一条待执行的案例,分析
该案例涉及的待测功能。
步骤704:客户端装置向待测系统发起请求建立FTP连接。
步骤705:客户端装置判断步骤704中发起的FTP连接是否成功建立, 如果成功则跳转到步骤706,否则跳转回步骤703,读取下一个待执行案例
步骤706:客户端装置根据步骤703中分析出的待测功能名,在待测系统 中获取相关的界面设计代码(如XML文件),以FTP Download的方式下载到 客户端装置的本地临时文件夹中。
步骤707:客户端装置使用客户端装置内置的分析函数,对步骤706种下 载到的界面代码文件进行词法分析,根据案例中设置的验证元素名和验证类 型,在代码中获取相应的界面对象及属性。
步骤708:客户端装置根据案例中设置的验证类型,调用对应的验证函数, 将案例的验证值与步骤707中获取的属性值进行运算比较,得到两者实际的 比较结果。
步骤709:客户端装置将步骤708种得到的实际比较结果与案例中设置的 预期结果进行比较,判断两者是否匹配。如果匹配则跳转到步骤710,反之若 不匹配则跳转到步骤711。
步骤710:客户端装置将待测案例的测试结果设置为"测试通过",然后 执行步骤712。
步骤711:客户端装置将待测案例的测试结果设置为"测试不通过",然 后执行步骤712。
步骤712:客户端装置判断是否还有待执行的案例,如仍有案例待执行则 跳转到步骤703,反之则跳转到步骤713
步骤713:客户端装置收集本次批量执行所有案例的执行结果,上送服务 器端主控装置,主控装置对每个案例进行整理,添加执行时间、测试人员等 必要信息后,上送到数据库存储装置中进行保存。
步骤714:客户端装置提示批量案例执行完成,并向测试人员展现执行结
果明细。
以上所述的具体实施方式
,对本发明的目的、技术方案和有益效果进行 了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式
而 已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做 的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1、一种自动化界面测试系统,其特征在于,所述的系统包括界面代码获取单元,用于获取被测界面程序代码;界面元素信息读取单元,用于从所述的被测界面程序代码中读取包括界面元素名、界面元素类型和业务功能要求信息在内的界面元素信息;测试案例生成单元,用于根据所述的业务功能要求信息生成界面测试案例;测试案例执行单元,用于运行所述的测试案例,并对测试案例运行中的功能要求进行响应,获取功能要求响应结果;测试结果输出单元,用于从运行的测试案例中获取该测试案例的预期验证结果,将所述的功能要求响应结果和预期验证结果进行一致性比较,输出一致或不一致的测试结果。
2、 根据权利要求l所述的自动化界面测试系统,其特征在于,所述的测 试案例生成单元包括-业务功能枚举模块,用于枚举所述的业务功能要求信息可能获得的用户 使用情况;测试案例生成模块,用于根据每个用户使用情况分别生成界面测试案例。
3、 根据权利要求l所述的自动化界面测试系统,其特征在于,所述的系 统还包括-测试结果统计单元,用于对所述的测试结果输出单元输出的一致或不一 致的测试结果进行统计得到测试统计数据。
4、 根据权利要求l所述的自动化界面测试系统,其特征在于,所述的系 统还包括界面代码存储单元,用于存储所述的被测界面程序代码,该被测界面程 序代码包含包括界面元素名、界面元素类型和业务功能要求信息在内的界面 元素信息。
5、 根据权利要求l所述的自动化界面测试系统,其特征在于,所述的系统还包括测试信息存储单元,用于存储所述的测试案例生成单元生成的界面测试 案例、所述的测试结果输出单元输出的测试结果。
6、 根据权利要求l所述的自动化界面测试系统,其特征在于,所述的系 统还包括测试案例校验单元,用于对所述的测试案例进行合法性校验,当合法性 校验通过时允许所述的测试案例执行单元执行该通过合法性校验的测试案 例。
7、 根据权利要求l所述的自动化界面测试系统,其特征在于,所述的系 统还包括测试案例生成循环单元,用于判断是否存在需要进行测试的界面元素信 息,如果是调用所述的测试案例生成单元根据该界面元素信息中的业务功能 要求信息生成界面测试案例;如果否则继续判断是否存在需要进行测试的界 面程序,如果是调用所述的界面代码获取单元获取该测界面程序代码。
8、 根据权利要求l所述的自动化界面测试系统,其特征在于,所述的系统还包括测试案例执行循环单元,用于判断是否存在需要执行的界面测试案例, 如果是则调用所述的测试案例执行单元运行该测试案例。
9、 根据权利要求l所述的自动化界面测试系统,其特征在于,所述的业 务功能要求信息包含程序界面外观数据、界面输入控制数据、界面输入跳 转数据和错误信息提示数据。
10、 根据权利要求1所述的自动化界面测试系统,其特征在于,所述的 系统还包括测试案例修改单元,用于对所述的测试案例进行修改,所述的 修改包括设置特殊验证值和修改合法性校验值。
全文摘要
本发明提供一种自动化界面测试系统,包括界面代码获取单元,用于获取被测界面程序代码;界面元素信息读取单元,用于从所述的被测界面程序代码中读取包括界面元素名、界面元素类型和业务功能要求信息在内的界面元素信息;测试案例生成单元,用于根据所述的业务功能要求信息生成界面测试案例;测试案例执行单元,用于运行所述的测试案例,并对测试案例运行中的功能要求进行响应,获取功能要求响应结果;测试结果输出单元,用于从运行的测试案例中获取该测试案例的预期验证结果,将所述的功能要求响应结果和预期验证结果进行一致性比较,输出一致或不一致的测试结果。本发明提出的自动化界面测试系统,测试效率相比起手工测试而言大为提高。
文档编号G06F11/36GK101377759SQ200810118920
公开日2009年3月4日 申请日期2008年8月26日 优先权日2008年8月26日
发明者曦 夏, 李英昌, 陈肇权 申请人:中国工商银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1