一种GUI自动化测试方法及系统与流程

文档序号:16811345发布日期:2019-02-10 13:41阅读:291来源:国知局
一种GUI自动化测试方法及系统与流程

本发明涉及一种gui自动化测试方法及系统,特别是涉及一种基于excel测试用例的gui自动化测试方法及系统。



背景技术:

gui(graphicaluserinterface,图形用户界面)已经成为交互式软件的一个最为重要的组成部分,广泛存在于各种应用软件和软件工具中。gui为用户操作带来了极大的方便,也使得gui软件更复杂、更难以测试。

目前,基于gui的测试基本以手工测试为主,按照excel测试用例执行测试是最常见的手段。随着软件技术的不断发展,软件规模日趋庞大、软件功能日趋复杂、版本迭代日渐频繁,手工测试因其固有的局限性--高成本、低效率,已经很难保证gui软件的测试质量。

当前gui自动化测试工具主要以商业化为主,基本采用“录制脚本→编辑/增强脚本→回放脚本”的方式来实现自动化,这种方式需要测试人员精通编程,也需要一个相对漫长的过程来实现自动化,加上商业化的gui自动化测试工具一般都价格昂贵,这些给想实施gui自动化测试的企业在财力、人力、物力上带来了极大的挑战。



技术实现要素:

为克服上述现有技术存在的不足,本发明之目的在于提供一种gui自动化测试方法及系统,只需通过编辑/修改excel测试用例的方式就能快速完成gui自动化测试的部署和实施,给gui自动化测试的实施带来了极大的便利,同时节约了大量的成本。

为达上述及其它目的,本发明提出一种gui自动化测试方法,包括如下步骤:

步骤一,生成测试用例;

步骤二,对生成的测试用例进行解析,从测试用例表格中解析出每个测试用例的自动化测试相关信息;

步骤三,创建/更新初始标准图片库;

步骤四,根据步骤一与步骤二进行自动化测试,获得测试图片,并将测试图片与标准图片库进行比较,得到测试结果。

于步骤一中,生成excel测试用例,其进一步包括:

步骤s11,使用excel模板编辑测试用例;

步骤s12,对关键属性内容进行自动化设置;

步骤s13,自动记录自动化设置的关键属性内容。

进一步地,步骤二包括:

步骤s21,根据测试需求,自动选取对应的excel测试用例;

步骤s22,自动读取excel表格中每一条测试用例的编号,测试用例编号是自动化测试过程中的唯一标识;

步骤s23,根据测试用例的“是否自动化”列的内容来判断测试用例是否进行自动化测,若为否,则读取下一个测试用例;若为是,则进入步骤s24;

步骤s24,根据测试用例编号解析出该测试用例对应的自动化测试关键内容。

进一步地,步骤三包括:

步骤s31,选择基准版本;

步骤s32,设置测试用例范围;

步骤s33,从步骤s22与步骤s24分别获取测试用例编号和对应的测试步骤;

步骤s34,按照步骤s33获取的测试步骤模拟人的动作来完成测试用例的自动执行,鼠标位置表示鼠标移动的最终位置,事件表示鼠标或键盘的实际动作;

步骤s35,自动截取当前屏幕图片,按测试用例编号保存图片;

步骤s36,先将步骤s35保存的测试图片,备份到标准图片库,再根据条件判断是否结束,若判断结果为不结束,则继续对下个测试用例进行步骤s33至步骤s35的操作,直到遍历完所有需要自动化测试的用例。

进一步地,步骤四包括:

步骤s41,选择待测试版本。

步骤s42,自动执行测试用例,将需要进行结果验证的gui界面以图片的形式作为测试图片b保存;

步骤s43,参照测试图片b的名称,从标准图片库中选择与之名称相同的图片,即为标准图片a;

步骤s44,从步骤s24获取比较区域的原点横坐标、纵坐标、长度以及高度;

步骤s45,按照比较区设定的矩形大小,分别从标准图片a和测试图片b上选取比较区域的内容,使用图像识别或文字识别技术对两者进行一致性比较,如果比较结果为一致,则测试通过,如果不一致则测试不通过。

步骤s46,记录测试结果,同时将测试不通过的图片进行备份。

为达到上述目的,本发明还提供一种gui自动化测试系统,包括:

测试用例生成单元,用于生成测试用例;

测试用例解析单元,用于对生成的测试用例进行解析,从测试用例表格中解析出每个测试用例的自动化测试相关信息;

标准图片库生成单元,用于创建/更新初始标准图片库;

自动化测试单元,用于进行自动化测试,获得测试图片,并将测试图片与标准图片库进行比较,得到测试结果。

进一步地,该测试用例生成单元进一步包括:

测试用例编辑单元,用于使用excel模板编辑测试用例;

自动化设置单元,用于对关键属性内容进行自动化设置;

自动化设置数据采集单元,用于自动记录自动化设置的关键属性内容。

进一步地,该测试用例解析单元进一步包括:

测试用例选取单元,用于根据测试需求,自动选取对应的excel测试用例;

测试用例编号解析单元,用于读取excel表格中每一条测试用例的编号,测试用例编号是自动化测试过程中的唯一标识;

自动化判断单元,用于根据测试用例的“是否自动化”列的内容来判断测试用例是否进行自动化测,若为否,则读取下一个测试用例;若为是,则启动测试步骤解析单元;

测试步骤解析单元,用于根据测试用例编号解析出该测试用例对应的自动化测试关键内容。

进一步地,该标准图片库生成单元进一步包括:

基准版本选择单元,用于选择基准版本;

测试用例范围设置单元,用于设置测试用例范围;

自动化信息获取单元,从该测试用例编号解析单元与测试步骤解析单元分别获取测试用例编号和对应的测试步骤;

自动执行单元,按照该自动化信息获取单元获取的测试步骤模拟人的动作来完成测试用例的自动执行,鼠标位置表示鼠标移动的最终位置,事件表示鼠标或键盘的实际动作;

图片保存单元,用于自动截取当前屏幕图片,按测试用例编号保存图片;

标准图片库生成单元,用于先将该图片保存单元保存的测试图片,备份到标准图片库,再根据条件判断是否结束,若判断结果为不结束,则继续对下个测试用例进行自动化信息获取单元、自动执行单元以及图片保存单元的操作,直到遍历完所有需要自动化测试的用例。

进一步地,该自动化测试单元进一步包括:

待测版本选择单元,用于选择待测试版本;

测试图片生成单元,用于自动执行测试用例,将需要进行结果验证的gui界面以图片的形式作为测试图片b保存,文件名为测试用例的编号;

标准图片选择单元,用于参照测试图片b的名称,从标准图片库中选择与之名称相同的图片,即为标准图片a;

比较区域获取单元,用于从该测试步骤解析单元获取比较区域的原点横坐标、纵坐标,长度,高度;

图片一致性比较单元,用于按照比较区域设定的矩形大小,分别从标准图片a和测试图片b上选取比较区中的内容,使用图像识别或文字识别技术对两者进行一致性比较,如果比较结果为一致,则测试通过,如果不一致则测试不通过。

测试结果处理单元,用于记录测试结果,同时将测试不通过的图片进行备份。

与现有技术相比,本发明一种gui自动化测试方法及系统基于excel测试用例实现了gui的完全自动化测试,采用本发明,可以帮助企业快速实现产品级gui自动化测试,而且实施和维护成本极低。企业无需从零开始实施gui自动化测试,完全可以在已有的excel测试用例基础上做适当扩展就可以快速实现自动化测试;也无需精通编程的测试人员来实施和维护gui自动化测试,测试人员只需通过编辑/修改excel测试用例的方式就可以达到gui自动化测试实施和维护。本发明给gui自动化测试的实施带来了极大的便利,同时给企业节约了大量的成本。

附图说明

图1为本发明一种gui自动化测试方法的步骤流程图;

图2为本发明具体实施例中步骤101的细部流程图;

图3为本发明具体实施例中步骤102的细部流程图;

图4为本发明具体实施例中步骤103的细部流程图;

图5为本发明具体实施例中步骤104的细部流程图;

图6为本发明一种gui自动化测试系统的系统架构图;

图7为本发明具体实施例中测试用例生成单元的细部结构图;

图8为本发明具体实施例中测试用例解析单元的细部结构图;

图9为本发明具体实施例中标准图片库生成单元的细部结构图;

图10为本发明具体实施例中自动化测试单元的细部结构图;

图11为本发明具体实施实例的操作流程示意图。

具体实施方式

以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。

图1为本发明一种gui自动化测试方法的步骤流程图。如图1所示,本发明一种gui自动化测试方法,包括如下步骤:

步骤101,生成测试用例,在本发明具体实施例中,生成excel测试用例。

具体地,用于本发明的excel测试用例有相对固定的格式(可扩展,也可在企业现有的excel测试用例基础上修改),具体地,如图2所示,步骤101进一步包括:

步骤s11,使用excel模板编辑测试用例。

这里的测试用例与常见的excel手动测试用例基本一致,主要包括:测试用例编号,测试用例名称,预置条件,测试步骤,预期结果,实际结果,测试结论等,其中“测试用例编号”和“测试结论”项必不可少。本发明涉及的自动化测试都是基于每一个测试用例的编号来进行,因此测试用例的编号必须唯一,最好是按照被测产品的功能结构和测试点来编写测试用例的编号;“测试结论”用于记录该用例执行后的结果。

步骤s12,对关键属性内容进行自动化设置。

这里的自动化设置内容主要包括是否自动化测试判断,鼠标坐标位置,事件(键盘/鼠标的操作),比较区域。具体地,

鼠标坐标位置:鼠标移动的目标位置的横坐标、纵坐标;

事件:键盘/鼠标的操作,如单击鼠标左键、键盘字符输入等;

比较区域:一个矩形,记录该矩形的原点横坐标、起点纵坐标、长度、高度。用于标记需要进行结果比较的区域。

步骤s13,自动记录自动化设置的关键属性内容。如鼠标移动目标位置、鼠标/键盘的操作,以及比较区域的设定(画矩形)。如果操作前输入正确的测试用例编号,本步骤会将采集到的数据自动填到excel表格对应的位置;

步骤102,对测试用例进行解析,从测试用例表格中解析出每个测试用例的自动化测试相关信息。具体地,以excel测试用例为例,如图3所示,步骤102进一步包括:

步骤s21,根据测试需求,自动选取对应的excel测试用例,在本发明具体实施例中,利用脚本自动选取对应的excel测试用例。

步骤s22,自动读取excel表格中每一条测试用例的编号,测试用例编号是自动化测试过程中的唯一标识;在本发明具体实施例中,利用脚本自动读取excel表格中每一条测试用例的编号

步骤s23,根据测试用例的“是否自动化”列的内容来判断测试用例是否进行自动化测,若为“否”,则读取下一个测试用例;若为“是”,则进入步骤s24;

步骤s24,根据测试用例编号解析出该测试用例对应的自动化测试关键内容:“鼠标位置”、“事件”、“比较区域”。

步骤103,创建/更新初始标准图片库。

标准图片库是进行自动化测试结果判断的依据。标准图片库是所有需要测试结果判断的图片的合集。具体地,如图4所示,步骤103进一步包括:

步骤s31,选择基准版本。标准图片库是建立在基准版本之上,基准版本一般是从基线版本中选取gui设计成熟,功能相对稳定的版本;

步骤s32,设置测试用例范围。测试用例的范围设定决定了最终的图片库的用途。通常情况下,一般将测试用例范围设定为全部,最终生成的图片库即可作为标准图片库;如果标准图片库只需更新部分图片,则设定测试用例范围为需要更新的部分,即可完成标准图片库的更新;

步骤s33,从步骤s22与步骤s24分别获取测试用例编号和对应的测试步骤,测试用例编号是自动化测试的唯一标识。

步骤s34,按照步骤s33获取的测试步骤模拟人的动作来完成测试用例的自动执行,鼠标位置表示鼠标移动的最终位置,事件(键盘/鼠标操作)表示鼠标或键盘的实际动作。一般的操作顺序是先移动鼠标再进行键盘/鼠标操作。

步骤s35,自动截取当前屏幕图片(可按照设定的尺寸进行剪裁),按测试用例编号保存图片,也可称本步骤截屏保存的图片为测试图片。

步骤s36,先将步骤s35保存的测试图片,备份到标准图片库,再根据条件判断是否结束,若判断结果为不结束,则继续对下个测试用例进行步骤s33至步骤s35的操作,直到遍历完所有需要自动化测试的用例,至此,初始标准图片库生成完成。

步骤104,根据步骤101与步骤102进行自动化测试,获得测试图片,并将测试图片与标准图片库进行比较,得到测试结果。

具体地,如图5所示,步骤104进一步包括:

步骤s41,选择待测试版本。

步骤s42,自动执行测试用例,将需要进行结果验证的gui界面以图片的形式保存(测试图片b),文件名为测试用例的编号。本步骤详细操作可参考步骤s33-步骤s35。

步骤s43,参照测试图片b的名称,从标准图片库中选择与之名称相同的图片,即为标准图片a;

步骤s44,从步骤s24获取比较区域的原点横坐标、纵坐标,长度,高度;

步骤s45,按照“比较区域”设定的矩形大小,分别从标准图片a和测试图片b上选取“比较区域”中的内容,使用图像识别或文字识别技术对两者进行一致性比较,如果比较结果为一致,则测试通过,如果不一致则测试不通过。

步骤s46,记录测试结果,同时将测试不通过的图片进行备份。

图6为本发明一种gui自动化测试系统的系统架构图。如图6所示,本发明一种gui自动化测试系统,包括:测试用例生成单元50、测试用例解析单元51、标准图片库生成单元52以及自动化测试单元53。

其中,测试用例生成单元50,用于生成测试用例,在本发明具体实施例中,测试用例生成单元50生成excel测试用例。

具体地,用于本发明的excel测试用例有相对固定的格式(可扩展,也可在企业现有的excel测试用例基础上修改),具体地,如图7所示,以excel测试用例为例,该测试用例生成单元50进一步包括:

测试用例编辑单元501,用于使用excel模板编辑测试用例。

这里的测试用例与常见的excel手动测试用例基本一致,主要包括:测试用例编号,测试用例名称,预置条件,测试步骤,预期结果,实际结果,测试结论等,其中“测试用例编号”和“测试结论”项必不可少。本发明涉及的自动化测试都是基于每一个测试用例的编号来进行,因此测试用例的编号必须唯一,最好是按照被测产品的功能结构和测试点来编写测试用例的编号;“测试结论”用于记录该用例执行后的结果。

自动化设置单元502,用于对关键属性内容进行自动化设置。

这里的自动化设置内容主要包括是否自动化测试判断,鼠标坐标位置,事件(键盘/鼠标的操作),比较区域。具体地,

鼠标坐标位置:鼠标移动的目标位置的横坐标、纵坐标;

事件:键盘/鼠标的操作,如单击鼠标左键、键盘字符输入等;

比较区域:一个矩形,记录该矩形的原点横坐标、起点纵坐标、长度、高度。用于标记需要进行结果比较的区域。

自动化设置数据采集单元503,用于自动记录自动化设置的关键属性内容。如鼠标移动目标位置、鼠标/键盘的操作,以及比较区域的设定(画矩形)。如果操作前输入正确的测试用例编号,自动化设置数据采集单元503会将采集到的数据自动填到excel表格对应的位置;

测试用例解析单元51,用于对测试用例进行解析,从测试用例表格中解析出每个测试用例的自动化测试相关信息。具体地,以excel测试用例为例,如图8所示,测试用例解析单元51进一步包括:

测试用例选取单元511,用于根据测试需求,自动选取对应的excel测试用例,在本发明具体实施例中,测试用例选取单元511利用脚本自动选取对应的excel测试用例。

测试用例编号解析单元512,用于读取excel表格中每一条测试用例的编号,测试用例编号是自动化测试过程中的唯一标识;在本发明具体实施例中,测试用例编号解析单元512利用脚本自动读取excel表格中每一条测试用例的编号

自动化判断单元513,用于根据测试用例的“是否自动化”列的内容来判断测试用例是否进行自动化测,若为“否”,则读取下一个测试用例;若为“是”,则启动测试步骤解析单元514;

测试步骤解析单元514,用于根据测试用例编号解析出该测试用例对应的自动化测试关键内容:“鼠标位置”、“事件”、“比较区域”。

标准图片库生成单元52,用于创建/更新初始标准图片库。

标准图片库是进行自动化测试结果判断的依据。标准图片库是所有需要测试结果判断的图片的合集。具体地,如图9所示,标准图片库生成单元52进一步包括:

基准版本选择单元521,用于选择基准版本。标准图片库是建立在基准版本之上,基准版本一般是从基线版本中选取gui设计成熟,功能相对稳定的版本;

测试用例范围设置单元522,用于设置测试用例范围。测试用例的范围设定决定了最终的图片库的用途。通常情况下,一般将测试用例范围设定为全部,最终生成的图片库即可作为标准图片库;如果标准图片库只需更新部分图片,则设定测试用例范围为需要更新的部分,即可完成标准图片库的更新;

自动化信息获取单元523,从测试用例编号解析单元512与测试步骤解析单元514分别获取测试用例编号和对应的测试步骤,测试用例编号是自动化测试的唯一标识。

自动执行单元524,按照自动化信息获取单元523获取的测试步骤模拟人的动作来完成测试用例的自动执行,鼠标位置表示鼠标移动的最终位置,事件(键盘/鼠标操作)表示鼠标或键盘的实际动作。一般的操作顺序是先移动鼠标再进行键盘/鼠标操作。

图片保存单元525,用于自动截取当前屏幕图片(可按照设定的尺寸进行剪裁),按测试用例编号保存图片,也可称该截屏保存的图片为测试图片。

标准图片库生成单元526,用于先将图片保存单元525保存的测试图片,备份到标准图片库,再根据条件判断是否结束,若判断结果为不结束,则继续对下个测试用例进行自动化信息获取单元523、自动执行单元524以及图片保存单元525的操作,直到遍历完所有需要自动化测试的用例,至此,初始标准图片库生成完成。

自动化测试单元53,用于进行自动化测试,获得测试图片,并将测试图片与标准图片库进行比较,得到测试结果。

具体地,如图10所示,自动化测试单元53进一步包括:

待测版本选择单元531,用于选择待测试版本。

测试图片生成单元532,用于自动执行测试用例,将需要进行结果验证的gui界面以图片的形式保存(测试图片b),文件名为测试用例的编号。详细操作可参考自动化信息获取单元523、自动执行单元524以及图片保存单元525。

标准图片选择单元533,用于参照测试图片b的名称,从标准图片库中选择与之名称相同的图片,即为标准图片a;

比较区域获取单元534,用于从测试步骤解析单元514获取比较区域的原点横坐标、纵坐标,长度,高度;

图片一致性比较单元535,用于按照“比较区域”设定的矩形大小,分别从标准图片a和测试图片b上选取“比较区域”中的内容,使用图像识别或文字识别技术对两者进行一致性比较,如果比较结果为一致,则测试通过,如果不一致则测试不通过。

测试结果处理单元536,用于记录测试结果,同时将测试不通过的图片进行备份。

图11提供了本发明具体实施实例的操作流程。具体如下:

excel测试用例编辑,excel测试用例是本发明的基础,可在已有的手工测试使用的excel测试用例基础上修改。本发明使用的excel测试用例格式比常见的测试用例表格多出一部分关于“自动化设置”的内容,用于记录鼠标移动位置,鼠标/键盘操作,比较区域等信息。

选择被测程序版本,根据需求选择被测程序的版本,使用本发明进行自动化测试产生的测试结果,反应的是选定测试版本的软件质量。

excel测试用例解析,脚本自动解析excel测试用例,提取关键信息:测试用例的编号,测试步骤涉及的鼠标位置、键盘/鼠标操作,用于结果验证的比较区域;

进行自动化测试,从前一步骤excel测试用例解析获取自动化测试相关信息,自动模拟人的动作完成测试,对需要进行结果确认的gui界面进行截图并与标准图片进行一致性比较,并记录测试结果;

结果保存,将前一步骤自动化测试的测试结果保存到excel测试用例对应位置,并将测试不通过的图片进行备份。

综上所述,本发明一种gui自动化测试方法及系统基于excel测试用例实现了gui的完全自动化测试,采用本发明,可以帮助企业快速实现产品级gui自动化测试,而且实施和维护成本极低。企业无需从零开始实施gui自动化测试,完全可以在已有的excel测试用例基础上做适当扩展就可以快速实现自动化测试;也无需精通编程的测试人员来实施和维护gui自动化测试,测试人员只需通过编辑/修改excel测试用例的方式就可以达到gui自动化测试实施和维护。本发明给gui自动化测试的实施带来了极大的便利,同时给企业节约了大量的成本。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1