掌桥专利:专业的专利平台
掌桥专利
首页

核电DCS系统的UI界面测试方法及装置

文献发布时间:2023-06-19 18:35:48


核电DCS系统的UI界面测试方法及装置

技术领域

本申请涉及核电测试技术领域,尤其涉及一种核电DCS系统的UI界面测试方法及装置。

背景技术

核电DCS控制系统应用软件实现的功能复杂,测试阶段涵盖单元测试、确认测试、系统测试等等,行业内各个测试阶段关于核电站软件应用的自动化测试程度很低。在核电领域软件确认测试阶段,主要采用手动测试方式。由于软件版本的不断更新和软件相关使用环境的扩展,需要重复执行大量的测试,然而有限的人力远远不能在保证产品质量的同时满足紧张的项目进度。专利CN105677557A提出一种针对单元测试的核电软件测试系统和方法,先对测试进行初始化,然后对测试对象进行识别,再向测试对象的变量赋值,最后根据预先建立的规则库进行测试,可以自动对核电软件进行测试。专利CN110688299A提出一种核电厂应用软件自动化测试平台,主要用于针对某些测试项进行系统测试:如组态、通信、双机冗余、模拟机指令测试进行功能和性能测试。上述两个专利提出的技术方案,仅适用于某几项需求涉及的功能测试或者仅侧重于某个测试阶段如单元测试阶段,并未涉及UI界面方面的测试。

针对核电DCS控制系统应用软件的UI测试,目前还没有类似专利文献公开相关技术。而扩大到软件UI测试领域,关于简单控件组成的软件UI自动测试用例脚本的开发和生成有两种方法:第一种就是针对控件纯手写代码;第二种方法就是借助UI自动测试工具直接录制操作动作生成测试脚本,然后在测试时回放录制的动作,模拟鼠标和键盘对相应控件的操作动作,从而达到执行和测试的目的。但是,上述两种方法仅适用于简单控件组成的软件,测试范围小,并且第一种方法脚本开发工作量大,后期如果控件元素发生改变,则需要重新编写代码,维护成本高;第二种方法生成的代码冗余,且脚本复用性低,当软件升级界面发生变化后用例无法复用,脚本维护困难。

发明内容

本申请的目的旨在至少在一定程度上解决上述的技术问题之一。

为此,本申请的第一个目的在于提出一种核电DCS系统的UI界面测试方法,能够实现对复杂控件组成的软件UI界面的确认测试的自动化,实现了用例脚本的开发和维护工作的高度灵活性,代码复用性高。

本申请的第二个目的在于提出一种核电DCS系统的UI界面测试装置。

本申请的第三个目的在于提出一种计算机设备。

本申请的第四个目的在于提出一种非临时性计算机可读存储介质。

为了实现上述目的,本申请第一方面实施例提出一种核电DCS系统的UI界面测试方法,包括:

获取UI界面测试需求;

根据所述测试需求从预先建立的UI脚本类库中选择对应的元素,并将所述元素组合成测试用例库,其中,所述UI脚本类库包括对象库、数据库、操作库以及逻辑库;

执行所述测试用例库,以实现UI界面的测试。

可选的,方法还包括:

在UI界面测试之前,建立UI脚本类库。

可选的,执行所述测试用例库,以实现UI界面的测试,包括:

根据所述测试需求从所述测试用例库中选择测试项;

将所述测试项组合成测试用例代码块;

利用测试驱动工具执行所述测试用例代码块。

可选的,所述对象库包括测试用例的执行对象,

所述执行对象利用图像识别技术对图像元素进行识别获得;和/或

所述执行对象利用控件识别技术对控件元素进行识别获得。

可选的,所述数据库用于存储UI界面测试过程中所需的数据,所述数据的格式包括Excel格式、SQL格式、txt文本格式中的至少一种。

可选的,所述逻辑库用于存储测试项的代码逻辑。

可选的,所述操作库用于存储UI界面的操作函数。

可选的,根据所述测试需求从预先建立的UI脚本类库中选择对应的元素,并将所述元素组合成测试用例库,包括:

从所述对象库中选择执行对象;

基于被选中的执行对象从所述操作库中选择对应的操作函数,并将该操作函数关联至执行对象;

以预先设置的变量为接口,将UI界面测试过程中所需的数据与执行对象进行绑定;

利用控件识别工具将绑定后的执行对象转换为代码,并对所述代码进行编辑;

将编辑的代码中实例化所述逻辑库中的代码逻辑,以生成测试用例;

将多条测试用例组合成测试用例库。

可选的,方法还包括:

执行所述测试用例库,以实现UI界面的测试之后,生成UI界面测试报告。

本申请实施例的核电DCS系统的UI界面测试方法,能够实现对复杂控件组成的软件UI界面的确认测试的自动化,实现了用例脚本的开发和维护工作的高度灵活性,代码复用性高。

为了实现上述目的,本申请第二方面实施例提出了一种核电DCS系统的UI界面测试装置,包括:

获取模块,用于获取UI界面测试需求;

生成模块,用于根据所述测试需求从预先建立的UI脚本类库中选择对应的元素,并将所述元素组合成测试用例库,其中,所述UI脚本类库包括对象库、数据库、操作库以及逻辑库;

测试模块,用于执行所述测试用例库,以实现UI界面的测试。

可选的,装置还包括:

建立模块,用于在UI界面测试之前,建立UI脚本类库。

可选的,所述测试模块,用于:

根据所述测试需求从所述测试用例库中选择测试项;

将所述测试项组合成测试用例代码块;

利用测试驱动工具执行所述测试用例代码块。

可选的,所述对象库包括测试用例的执行对象,

所述执行对象利用图像识别技术对图像元素进行识别获得;和/或

所述执行对象利用控件识别技术对控件元素进行识别获得。

可选的,所述数据库用于存储UI界面测试过程中所需的数据,所述数据的格式包括Excel格式、SQL格式、txt文本格式中的至少一种。

可选的,所述逻辑库用于存储测试项的代码逻辑。

可选的,所述操作库用于存储UI界面的操作函数。

可选的,所述生成模块,用于:

从所述对象库中选择执行对象;

基于被选中的执行对象从所述操作库中选择对应的操作函数,并将该操作函数关联至执行对象;

以预先设置的变量为接口,将UI界面测试过程中所需的数据与执行对象进行绑定;

利用控件识别工具将绑定后的执行对象转换为代码,并对所述代码进行编辑;

将编辑的代码中实例化所述逻辑库中的代码逻辑,以生成测试用例;

将多条测试用例组合成测试用例库。

可选的,装置还包括:

报告生成模块,用于执行所述测试用例库,以实现UI界面的测试之后,生成UI界面测试报告。

本申请实施例的核电DCS系统的UI界面测试装置,能够实现对复杂控件组成的软件UI界面的确认测试的自动化,实现了用例脚本的开发和维护工作的高度灵活性,代码复用性高。

为了实现上述目的,本申请第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如第一方面实施例所述的核电DCS系统的UI界面测试方法。

为了实现上述目的,本申请第四方面实施例还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如第一方面实施例所述的核电DCS系统的UI界面测试方法。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是本申请一个实施例的核电DCS系统的UI界面测试方法的流程图;

图2是本申请一个实施例的生成测试用例库的流程图;

图3是本申请一个实施例的生成测试用例库的架构示意图;

图4是本申请另一个实施例的核电DCS系统的UI界面测试方法的流程图;

图5是本申请又一个实施例的核电DCS系统的UI界面测试方法的流程图;

图6是本申请一个实施例的核电DCS系统的UI界面测试装置的结构示意图;

图7是本申请另一个实施例的核电DCS系统的UI界面测试装置的结构示意图;

图8是本申请又一个实施例的核电DCS系统的UI界面测试装置的结构示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

以下结合具体实施例对本申请作进一步详细描述,这些实施例不能理解为限制本申请所要求保护的范围。

在软件UI测试领域,UI自动测试方法有两个关键难点,第一个是UI元素的识别,UI元素的识别是实现UI自动化测试的必要条件;第二个是自动测试脚本的开发和维护。关于UI元素的识别技术,包含控件识别技术、图像识别技术和位置识别技术。

1、位置识别技术基于屏幕的坐标进行位置识别的方式进而生成用例,但是在更换不同屏幕大小的测试机后,或者改变屏幕分辨率设置、更换软件窗口位置之后,原先的用例会执行失败,因此位置识别方式不可取。

2、通过图像识别技术对UI元素进行识别的方式,其技术不够成熟,采取图像识别方法对被测软件进行录制操作时,在回放过程中容易遗漏某项或某几项操作,导致用例失效。并且当一个界面存在多个图像时,软件容易定位错误。

3、控件识别技术比较成熟和可靠,但仅适用于简单控件组成的软件,对于复杂的非标准控件难以识别。

为解决上述问题,本申请提出了一种核电DCS系统的UI界面测试方法,基于Ranorex软件工具的图像识别技术+控件识别技术,通过创建自动化测试类库实现UI自动测试脚本的生成及维护,最后一键执行测试。

下面参考附图描述本申请实施例的核电DCS系统的UI界面测试方法及装置。

图1是本申请一个实施例的核电DCS系统的UI界面测试方法的流程图,如图1所示,该方法包括以下步骤:

S1,获取UI界面测试需求。

S2,根据测试需求从预先建立的UI脚本类库中选择对应的元素,并将元素组合成测试用例库。

UI脚本类库包括对象库、数据库、操作库以及逻辑库。

下面具体介绍一下对象库、数据库、操作库以及逻辑库。

对象库包括测试用例的执行对象。其中,执行对象可利用图像识别技术对图像元素进行识别获得,也可以利用控件识别技术对控件元素进行识别获得。也就是说,对象库中包含了一系列被测软件的UI控件元素和图像元素,UI控件元素和图像元素就是测试用例的执行对象。执行对象以控件元素和图像元素的name属性作为唯一搜索属性进行存储,以便对相应的控件元素或图像元素进行定位。通过图像识别+控件识别的方式,克服了传统只用控件识别方法导致无法对复杂控件构成的软件进行测试的难题。

数据库用于存储UI界面测试过程中所需的数据,数据的格式可包括Excel格式、SQL格式、txt文本格式等。

逻辑库用于存储测试项的代码逻辑。逻辑库用来存放某些需要经过特殊处理的测试项的代码逻辑,如创建文件名时生成带系统当前时间后缀的代码块。逻辑库是带智能处理的一种高级操作代码块的集合。逻辑库独立于操作库单独建立,降低了和操作库的业务代码的耦合。

操作库用于存储UI界面的操作函数,例如鼠标的单击左键、双击左键、单击右键等。

对象库、数据库、操作库、逻辑库独立存在的方式,大大降低了UI自动测试用例的维护难度。

针对多样化的UI界面测试需求,可从UI脚本类库中选择相应的子元素并进行组合,在此基础上生成自动测试用例库。如图2所示,具体生成测试用例库的流程如下:

S21,从对象库中选择执行对象。

从图3中可以看出,对象库中选出的执行对象包括控件1、图标2、关键字1、控件2、设备对象和控件3。

S22,基于被选中的执行对象从操作库中选择对应的操作函数,并将该操作函数关联至执行对象。

从图3中可以看出,操作库中选出的操作函数包括鼠标右击、鼠标左击、键盘输入1和键盘输入2。

将鼠标右击、键盘输入1和鼠标左击关联至控件1,从而形成单条测试动作1。

将鼠标右击、鼠标左击分别关联至图标2、关键字1、控件2,从而形成单条测试动作2。

将鼠标左击、键盘输入2关联至设备对象和控件3,从而形成单条测试动作3。

S23,以预先设置的变量为接口,将UI界面测试过程中所需的数据与执行对象进行绑定。

将单条测试动作1、单条测试动作2和单条测试动作3的逻辑代码分别与各自对应的数据进行绑定。

S24,利用控件识别工具将绑定后的执行对象转换为代码,并对代码进行编辑。

S25,将编辑的代码中实例化逻辑库中的代码逻辑,以生成测试用例。

以功能命名生成的单条测试用例。

S26,将多条测试用例组合成测试用例库。

可根据测试需求通过拖拽的形式将多条测试用例组合成测试用例库(个性化用例集)。

S3,执行测试用例库,以实现UI界面的测试。

具体地,可根据测试需求从测试用例库中选择测试项,再将测试项组合成测试用例代码块,然后利用测试驱动工具执行测试用例代码块,从而实现UI界面的测试。

本申请实施例的核电DCS系统的UI界面测试方法,能够实现对复杂控件组成的软件UI界面的确认测试的自动化,实现了用例脚本的开发和维护工作的高度灵活性,代码复用性高。

在本申请的另一个实施例中,如图4所示,核电DCS系统的UI界面测试方法还包括:

S4,在UI界面测试之前,建立UI脚本类库。

在建立用例UI脚本类库时,可将测试动作分解为操作对象、操作动作、操作逻辑和操作数据四部分,将上述四部分进行分类,创建四类脚本类库,即对象库、数据库、操作库和逻辑库。

在本申请的又一个实施例中,如图5所示,核电DCS系统的UI界面测试方法还包括:

S5,生成UI界面测试报告。

在执行测试用例库,以实现UI界面的测试之后,可以生成UI界面测试报告。

具体地,在测试驱动工具上一键执行测试用例之后,测试完毕便可生成测试报告。

为了实现上述实施例,本申请还提出了一种核电DCS系统的UI界面测试装置。

图6是本申请一个实施例的核电DCS系统的UI界面测试装置的结构示意图。

如图6所示,该装置包括获取模块61、生成模块62和测试模块63。

获取模块61,用于获取UI界面测试需求。

生成模块62,用于根据测试需求从预先建立的UI脚本类库中选择对应的元素,并将元素组合成测试用例库。

其中,UI脚本类库包括对象库、数据库、操作库以及逻辑库。对象库包括测试用例的执行对象,执行对象利用图像识别技术对图像元素进行识别获得;和/或执行对象利用控件识别技术对控件元素进行识别获得。数据库用于存储UI界面测试过程中所需的数据,数据的格式包括Excel格式、SQL格式、txt文本格式中的至少一种。逻辑库用于存储测试项的代码逻辑。操作库用于存储UI界面的操作函数。

生成模块62,具体用于从对象库中选择执行对象;基于被选中的执行对象从操作库中选择对应的操作函数,并将该操作函数关联至执行对象;以预先设置的变量为接口,将UI界面测试过程中所需的数据与执行对象进行绑定;利用控件识别工具将绑定后的执行对象转换为代码,并对代码进行编辑;将编辑的代码中实例化逻辑库中的代码逻辑,以生成测试用例;将多条测试用例组合成测试用例库。

测试模块63,用于执行测试用例库,以实现UI界面的测试。

测试模块63,具体用于根据测试需求从测试用例库中选择测试项;将测试项组合成测试用例代码块;利用测试驱动工具执行测试用例代码块。

在本申请的另一个实施例中,如图7所示,装置还包括建立模块64。

建立模块64,用于在UI界面测试之前,建立UI脚本类库。

在本申请的又一个实施例中,如图8所示,装置还包括报告生成模块65。

报告生成模块65,用于执行测试用例库,以实现UI界面的测试之后,生成UI界面测试报告。

应当理解的是,本实施例的核电DCS系统的UI界面测试装置与第一方面实施例的核电DCS系统的UI界面测试方法的描述一致,此处不再赘述。

本申请实施例的核电DCS系统的UI界面测试装置,能够实现对复杂控件组成的软件UI界面的确认测试的自动化,实现了用例脚本的开发和维护工作的高度灵活性,代码复用性高。

为了实现上述实施例,本申请还提出了一种计算机设备。

该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现如第一方面实施例的核电DCS系统的UI界面测试方法。

为了实现上述实施例,本申请还提出了一种非临时性计算机可读存储介质。

该非临时性计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如第一方面实施例的核电DCS系统的UI界面测试方法。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

需要说明的是,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

相关技术
  • 一种DCS控制系统共模与串模抑制比测试装置及测试方法
  • 一种基于仿真系统的核电DCS平台测试装置及测试方法
  • 一种基于仿真系统的核电DCS平台测试装置及测试方法
技术分类

06120115627649