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

软件功能测试系统、方法及服务器

文献发布时间:2023-06-19 12:13:22


软件功能测试系统、方法及服务器

技术领域

本发明涉及软件测试技术领域,尤其是涉及一种软件功能测试系统、方法及服务器。

背景技术

为使软件应用可以更好地为用户提供相关软件功能,需要对软件应用进行功能测试,并在通过功能测试之后再将软件应用投入使用。目前,对于基于GUI(Graphical UserInterface,图形用户界面)的软件应用,相关技术中提供了一些测试用例设计方法,诸如边界值、等价类、因果图、判定表、场景法等,结合上述测试用例可以形成一些常见的功能测试用例设计框架,但是此功能测试用例存在如下潜在问题:(1)由于软件应用的功能点和业务紧密相连,而上述方法强调单功能点用例设计,易使业务功能的验证产生断层,从而降低业务流覆盖度;(2)对于重复性的功能需要重复验证,导致用例冗余比例较大。综上所述,现有的软件功能测试方法得到的测试效果较差。

发明内容

有鉴于此,本发明的目的在于提供一种软件功能测试系统、方法及服务器,可以有效改善软件功能测试效果。

第一方面,本发明实施例提供了一种软件功能测试系统,包括:至少一个功能测试模块,所述功能测试模块包括主功能验证子模块和至少一个页面验证子模块,所述主功能验证子模块对应第一优先级,各个所述页面验证子模块分别对应第二优先级;其中,所述主功能验证子模块用于基于被测软件的业务流程对所述被测软件进行软件功能验证;所述页面验证子模块用于对所述被测软件进行页面功能验证。

在一种实施方式中,所述主功能验证子模块包括至少一个功能测试点;所述功能测试点被添加至所述被测软件的业务流程中,以利用所述功能测试点对所述被测软件进行软件功能验证。

在一种实施方式中,所述被测软件的UI界面的数量为至少一个,所述页面验证子模块与所述UI界面一一对应。

在一种实施方式中,所述页面验证子模块包括UI验证单元、字段验证单元、页面交互验证单元中的一种或多种;其中,所述UI验证单元用于根据预设UI标准对所述被测软件的UI界面进行验证;所述字段验证单元用于响应针对所述UI界面的字符设置操作,并对所述字符设置操作对应的字符进行验证;所述页面交互验证单元用于响应针对所述UI界面的交互操作,并对所述交互操作进行验证;其中,所述交互操作至少包括查询操作和排序操作。

在一种实施方式中,所述第一优先级高于所述第二优先级。

第二方面,本发明实施例还提供一种软件功能测试方法,所述方法应用于第一方面提供的任一项所述的软件功能测试系统,所述方法包括:获取被测软件中的业务流程,并确定所述软件功能对应的功能测试模块;通过所述功能测试模块内的主功能验证子模块基于所述业务流程对所述被测软件进行软件功能验证;通过所述功能测试模块内的页面验证子模块对所述被测软件进行页面功能验证。

在一种实施方式中,所述通过所述功能测试模块内的主功能验证子模块基于所述业务流程对所述被测软件进行软件功能验证的步骤,包括:通过所述功能测试模块内的主功能验证子模块将至少一个功能测试点添加至所述被测软件的业务流程,并利用各个所述功能测试点对所述被测软件进行软件功能验证。

在一种实施方式中,所述页面验证模块包括UI验证单元、字段验证单元、页面交互验证单元中的一种或多种;所述通过所述功能测试模块内的页面验证子模块对所述被测软件进行页面功能验证的步骤,包括:通过所述UI验证单元根据预设UI标准对所述被测软件的UI界面进行验证;通过所述字段验证单元响应针对所述UI界面的字符设置操作,并对所述字符设置操作对应的字符进行验证;通过所述页面交互验证单元响应针对所述UI界面的交互操作,并对所述交互操作进行验证。

第三方面,本发明实施例还提供一种服务器,包括处理器和存储器;所述存储器上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如第二方面提供的任一项所述的方法。

第四方面,本发明实施例还提供一种计算机存储介质,用于储存为第二方面提供的任一项所述方法所用的计算机软件指令。

本发明实施例提供的软件功能测试系统、方法及服务器,包括:至少一个功能测试模块,功能测试模块包括主功能验证子模块和至少一个页面验证子模块,主功能验证子模块对应第一优先级,各个页面验证子模块分别对应第二优先级,上述主功能验证子模块用于基于被测软件的业务流程对被测软件进行软件功能验证,页面验证子模块用于对被测软件进行页面功能验证。上述软件功能测试系统将软件测试从两大方向解耦(主功能验证和页面验证),并基于被测软件的业务流程进行软件功能验证,从而可以较好地提高业务流覆盖度,此外,对于重复性的软件功能,可通过主功能验证子模块对该软件功能进行验证即可,无需多次重复验证,从而有效改善了用例冗余问题,因此,本发明实施例综合改善了软件功能测试效果。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种功能测试用例设计框架的结构示意图;

图2为本发明实施例提供的一种软件功能测试系统的结构示意图;

图3为本发明实施例提供的另一种软件功能测试系统的结构示意图;

图4为本发明实施例提供的一种软件功能测试方法的流程示意图;

图5为本发明实施例提供的一种服务器的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前,现有的功能测试用例设计框架无法较好地对软件功能进行测试,为便于理解,以图1所示的一种功能测试用例设计框架为例,首先把被测软件按照功能模块、页面、功能点逐级分解,诸如图1中将被测软件划分为功能模块1至功能模块X,对于功能模块1又划分为页面1和页面2,对于页面1又划分为功能点1、功能点2、功能点3,例如可以对功能点1进行增删改查等业务操作进行测试用例设计,然而该功能测试用例设计框架存在业务流覆盖不足和用例冗余比例较大等问题。基于此,本发明实施提供了一种软件功能测试系统、方法及服务器,可以有效改善软件功能测试效果。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种软件功能测试系统进行详细介绍,参见图2所示的一种软件功能测试系统的结构示意图,该软件功能测试系统包括:至少一个功能测试模块202,功能测试模块202包括主功能验证子模块204和至少一个页面验证子模块206。主功能验证子模块204用于基于被测软件的业务流程对被测软件进行软件功能验证,页面验证子模块206用于对被测软件进行页面功能验证。其中,软件功能验证可以理解为对被测软件可实现的功能进行验证,在一种实施方式中,可以将功能测试点添加至业务流程中,从而利用该功能测试点对被测软件进行软件功能验证。页面功能验证可以理解为对被测软件的页面进行验证,诸如UI(User Interface,用户界面)验证、字符验证、页面交互验证等。

另外,主功能验证子模块204对应第一优先级,各个页面验证子模块206分别对应第二优先级,在一种可选的实施方式中,第一优先级可以高于第二优先级,也即在软件测试中,可以先利用主功能验证子模块204对被测软件进行软件功能验证,再利用页面验证子模块206对被测软件进行页面功能测试。

本发明实施例提供的软件功能测试系统,将软件测试从两大方向解耦(主功能验证和页面验证),并基于被测软件的业务流程进行软件功能验证,从而可以较好地提高业务流覆盖度,此外,对于重复性的软件功能,可通过主功能验证子模块对该软件功能进行验证即可,无需多次重复验证,从而有效改善了用例冗余问题,因此,本发明实施例综合改善了软件功能测试效果。

为便于对上述实施例提供的软件功能测试系统进行理解,本发明实施例还提供了另一种软件功能测试系统,参见图3所示的另一种软件功能测试系统的结构示意图,软件功能测试系统包括多个功能测试模块,对于每个功能测试模块,该功能测试模块又包括一个主功能验证子模块和多个页面验证子模块,其中,主功能验证子模块用于验证多个业务功能,诸如增删改查以及各种业务类操作的验证,对于每个页面验证子模块,该页面验证子模块又包括UI验证单元、字段验证单元、页面交互验证单元,页面交互验证单元又可以包括查询验证子单元、排序验证子单元、交互验证子单元。

对于本发明实施例提供的上述主功能验证子模块,主功能验证子模块的用例优先级为P1,该主功能验证子模块包括至少一个功能测试点,其中,功能测试点被添加至被测软件的业务流程中,以利用功能测试点对被测软件进行软件功能验证。主功能验证子模块的主要思想为在“业务流”中验证功能,即各种用户操作。

对于本发明实施例提供的上述页面验证子模块,页面验证子模块的用例优先级为P2。在实际应用中,被测软件的UI界面的数量为至少一个,可选的,页面验证子模块与UI界面一一对应。诸如,被测软件配置有两个UI界面,则需要两个页面验证子模块分别对两个UI界面进行页面功能验证。对于每个页面验证子模块,页面验证子模块包括UI验证单元、字段验证单元、页面交互验证单元中的一种或多种。

UI验证单元用于根据预设UI标准对被测软件的UI界面进行验证。在一种实施方式中,UI验证单元可以对UI界面的字体、颜色、样式等内容进行验证,如果软件开放方有前端UI统一标准文档(也即,上述预设UI标准),也可以抽取出一些共性的公共用例。

字段验证单元用于响应针对UI界面的字符设置操作,并对字符设置操作对应的字符进行验证。其中,字符设置操作可以包括字符输入操作和/或字符选择操作。在一种实施方式中,可以用列表的方式组织各个字段的输入或选择,包含边界验证、非法/合法验证、枚举值、其他模块引入参数值等等。

页面交互验证单元用于响应针对UI界面的交互操作,并对交互操作进行验证。其中,交互操作至少包括查询(过滤)操作和排序操作,也可以包括其他交互性操作。可选的,查询验证和排序验证在前端封装成熟的前提下,也可以抽取出共性的公共用例。

在前述软件功能测试系统的基础上,本发明实施例还提供了一种软件功能测试方法,该方法应用于前述实施例提供的软件功能测试系统,参见图4所示的一种软件功能测试方法的流程示意图,该方法主要包括以下步骤S402至步骤S406:

步骤S402,获取被测软件中的业务流程,并确定软件功能对应的功能测试模块。在一种实施方式中,软件功能测试系统中配置有至少一个功能测试模块,在实际应用中,需要从软件功能测试系统配置的各个功能测试模块中选择所需的功能测试模块对其进行软件功能测试。

步骤S404,通过功能测试模块内的主功能验证子模块基于业务流程对被测软件进行软件功能验证。在一种实施方式中,可以将至少一个功能测试点添加至业务流程中,从而利用功能测试节点对被测软件进行软件功能验证。

步骤S406,通过功能测试模块内的页面验证子模块对被测软件进行页面功能验证。在一种实施方式中,可以对被测软件的页面分别进行UI验证、字符验证和页面交互验证等。

本发明实施例提供的上述软件功能测试方法,将软件测试从两大方向解耦(主功能验证和页面验证),并基于被测软件的业务流程进行软件功能验证,从而可以较好地提高业务流覆盖度,此外,对于重复性的软件功能,可通过主功能验证子模块对该软件功能进行验证即可,无需多次重复验证,从而有效改善了用例冗余问题,因此,本发明实施例综合改善了软件功能测试效果。

对于前述步骤S404,本发明实施例提供了一种通过主功能验证子模块对被测软件进行软件功能验证的实施方式,可以通过主功能验证子模块将至少一个功能测试点添加至被测软件的业务流程,并利用各个功能测试点对被测软件进行软件功能验证。为便于理解,本发明实施例提供了一种软件功能测试方法的应用示例,开发迭代过程中提测一个模块:用户管理。测试人员编写测试用例前,需要做以下确认工作,进而编写用例。在实际应用中,需要确认出“用户管理”包含哪些业务流程,诸如a)功能点:用户的增删改查和密码设定;b)业务流:建立用户和设置密码。在此基础上,编写思想可以为:在业务流中加入功能测试点,例如:新增用户-设置密码-查询用户-修改用户-删除用户。这里需要注意的是:此用例中无需包含字段的验证,比如超长,必填项,因为这些用例会在字段验证用例中体现,此用例只聚焦于业务流走向。另外,此过程涉及的用例为主功能验证。

对于前述步骤S406,本发明实施例还提供了一种通过页面验证子模块对被测软件进行页面功能测试的实施方式,可以包括如下步骤1至步骤3:

步骤1,通过UI验证单元根据预设UI标准对被测软件的UI界面进行验证。在执行步骤1之前,还可以预先确定用户管理包括哪些页面,诸如,表1中示例性提供的用户管理可以包括页面,诸如新建用户页面、修改用户页面、设置密码页面和用户列表页面等。在此基础上,可以确认每一个页面上UI元素,例如新建用户页面中的字段颜色、字体种类、字体大小、下拉选择框控件、页面布局等,编写思想可以为:验证上述页面元素是否和期待一致,期待结果可以参考前端UI设计标准。另外,此过程涉及的用例为UI验证。

步骤2,通过字段验证单元响应针对UI界面的字符设置操作,并对字符设置操作对应的字符进行验证。在实际应用中,可以确认每个页面上的输入或选择操作,例如新建用户页面需要输入用户ID(Identity document,身份证标识号)、用户名、电话、邮箱、选择岗位信息等。编写思想可以为:从需求文档确认输入字段的特征,例如长度限制、是否必填等,此时可以用边界值、等价类划分等测试方法编写测试用例。另外,此过程涉及的用例为字段验证。

步骤3,通过页面交互验证单元响应针对UI界面的交互操作,并对交互操作进行验证。在实际应用中,可以确认哪些页面上有查询、排序等操作,例如用户列表页面可能存在查询操作和/或排序操作。编写思想可以为:查询的测试用例可以组合的方式,或选择合适的测试方法编写测试用例。此过程涉及的用例为页面交互验证:查询验证、排序验证。

目前,很多测试人员只是了解测试用例的设计方法,但是在获取到产品或项目时对测试用例进行设计,可能察觉业务流覆盖不全,或者无设计思想。针对这一问题,本发明实施例提供的上述软件功能测试方法,通过对用例进行多维度解耦,极大程度上解决了设计思路匮乏和用例覆盖不足的问题。

此外,本发明实施例还可以通过划分优先级实现区分第一轮测试和回归测试,其中第一轮测试包括软件功能测试和页面功能测试,回归测试包括软件功能测试。另外,还从主功能验证子模块中抽取出部分业务流验证,组合成产品业务流程验证用例,此用例还可以作为“功能自动化测试用例”的参考。

综上所述,本发明实施例至少具有以下特点:(1)多维解耦的软件功能测试系统;(2)实用性极强的软件功能测试系统,对绝大多数软件应用的功能测试用例设计均可使用。

本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

本发明实施例提供了一种服务器,具体的,该服务器包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被所述处理器运行时执行如上所述实施方式的任一项所述的方法。

图5为本发明实施例提供的一种服务器的结构示意图,该服务器100包括:处理器50,存储器51,总线52和通信接口53,所述处理器50、通信接口53和存储器51通过总线52连接;处理器50用于执行存储器51中存储的可执行模块,例如计算机程序。

其中,存储器51可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口53(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。

总线52可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

其中,存储器51用于存储程序,所述处理器50在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器50中,或者由处理器50实现。

处理器50可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器50中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器50可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器51,处理器50读取存储器51中的信息,结合其硬件完成上述方法的步骤。

本发明实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见前述方法实施例,在此不再赘述。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 软件功能测试系统、方法及服务器
  • 空调控制器软件功能测试系统及其测试方法
技术分类

06120113212792