一种自动化测试系统的建立方法与装置与流程

文档序号:12719325阅读:342来源:国知局
一种自动化测试系统的建立方法与装置与流程

本发明涉及软件测试技术领域,特别是涉及一种自动化测试系统的建立方法与装置。



背景技术:

当前,软件行业竞争日益激烈,对于软件项目质量的监控贯穿整个项目过程,因为手动测试需要较长时间且容易出错,自动化测试大量引入到软件测试活动中。

现在常见的自动化测试包含两种,一种是针对图形用户界面(Graphical User Interface,GUI)的系统级测试,另一种是针对接口级别的接口测试。但是这两种测试都有各自的缺陷,第一种针对GUI的系统级测试,因为项目需求的经常变化导致GUI变更频繁,造成之前录制的测试脚本在GUI变更后就无法再使用,进行测试时需要重新录制测试脚本,导致测试的工作效率下降。第二种接口测试一般会用于多系统间交互开发、或者拥有多个子系统的应用系统开发的测试。接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性,但是这种测试过于片面,单独的接口测试没有问题不能证明整个系统业务没有问题。

可见,如何准确、高效的实现对系统业务的测试,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明实施例的目的是提供一种自动化测试系统的建立方法与装置,由此建立的自动化测试系统可以准确、高效的实现对系统业务的测试。

为解决上述技术问题,本发明实施例提供一种自动化测试系统的建立方法,包括:

根据REST API列表和需求分解表的对应关系,形成业务需求;

对所述业务需求进行组合,得到业务场景;

针对所述业务场景生成自动化测试脚本,完成自动化测试系统的建立。

可选的,所述自动化测试脚本包括邮箱信息和预设时间。

可选的,还包括:

在所述预设时间内,利用所述业务场景对应的所述自动化测试脚本对所述业务场景进行自动化测试;

当到达所述预设时间后,依据所述自动化测试脚本中包括的所述邮箱信息,向所述邮箱信息中包括的邮箱账号发送测试报告。

可选的,所述自动化测试脚本的脚本开发语言采用javascript。

本发明实施例还提供一种自动化测试系统的建立装置,包括形成单元、组合单元和生成单元:

所述形成单元,用于根据REST API列表和需求分解表的对应关系,形成业务需求;

所述组合单元,用于对所述业务需求进行组合,得到业务场景;

所述生成单元,用于针对所述业务场景生成自动化测试脚本,完成自动化测试系统的建立。

可选的,所述自动化测试脚本包括邮箱信息和预设时间。

可选的,还包括测试单元和发送单元:

所述测试单元,用于在所述预设时间内,利用所述业务场景对应的所述自动化测试脚本对所述业务场景进行自动化测试;

当到达所述预设时间后触发所述发送单元,所述发送单元,用于依据所述自动化测试脚本中包括的所述邮箱信息,向所述邮箱信息中包括的邮箱账号发送测试报告。

可选的,所述自动化测试脚本的脚本开发语言采用javascript。

由上述技术方案可以看出,通过根据REST API列表和需求分解表的对应关系,形成业务需求;对所述业务需求进行组合,得到业务场景;从而将分散且不直观的REST API形成对用户来说便于理解的业务场景,并针对所述业务场景生成自动化测试脚本,完成自动化测试系统的建立。可见,自动化测试脚本用于对业务场景进行测试,而该业务场景一般不会发生变化,所以生成的自动化测试脚本可以一次编写而多次运行,避免了再次进行测试时需要重新录制测试脚本的弊端,有效提升了测试的工作效率。

附图说明

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

图1为本发明实施例提供的一种自动化测试系统的建立方法的流程图;

图2为本发明实施例提供的一种自动化测试系统的建立装置的结构示意图。

具体实施方式

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

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

接下来,详细介绍本发明实施例所提供的一种自动化测试系统的建立方法。图1为本发明实施例提供的一种自动化测试系统的建立方法的流程图,该方法包括:

S101:根据REST API列表和需求分解表的对应关系,形成业务需求。

在建立自动化测试系统之前,需要预先选定好自动化测试系统所使用的自动化测试框架以及脚本开发语言。

按照框架的定义,自动化测试框架可以是提供可重用的基础自动化测试模块,如:selenium、watir等,它们主要提供最基础的自动化测试功能。自动化测试框架也可以是提供自动化测试执行和管理功能的架构模块,如Phoenix Framework、robot、SATF等。自动化测试框架可以是由一个或多个自动化测试基础模块、自动化测试管理模块、自动化测试统计模块等组成的工具集合。在本发明实施例中,可以根据具体需求选择自动化测试框架,在此不做限定,例如,自动化测试框架可以采用Selenium+webdriver+nodejs,相应的脚本开发语言可以采用javascript。

业务需求可以是业务测试的一个基本测试项目,例如,需要对开机进行测试,则相应的业务需求即为开机测试需求。对于一个业务需求进行拆分后可以转化为更小单元的需求,可以将其称为业务单元,一个完整的业务需求可以由一个或多个业务单元组合而成,需求分解表可以用于存储业务需求进行拆分后的业务单元。

根据REST API列表和需求分解表的对应关系,可以将一个或多个REST API进行组合,形成相应的业务需求。也即一个业务需求可以有由一个或多个REST API构成。

S102:对所述业务需求进行组合,得到业务场景。

业务场景可以用于表示需要进行测试的业务,可以根据用户的测试需求对业务场景进行定义。针对一个业务场景而言,其包含的业务需求可以有一个或多个,一个业务场景的实现一般会经过几个流程,每一个流程即相当于是一个业务需求。故此,将这些相关的业务需求组合,从而得到相应的业务场景。

S103:针对所述业务场景生成自动化测试脚本,完成自动化测试系统的建立。

对业务场景进行自动化测试,需要依据于相应的自动化测试脚本来完成,在本发明实施例中,可以通过自动化测试工具生成自动化测试脚本,针对不同的业务场景,该自动化测试工具可以生成与该业务场景相对应的自动化测试脚本,也即不同的业务场景其对应的自动化测试脚本不尽相同。其中,自动化测试工具具体可以是selenium等。

由上述技术方案可以看出,通过根据REST API列表和需求分解表的对应关系,形成业务需求;对所述业务需求进行组合,得到业务场景;从而将分散且不直观的REST API形成对用户来说便于理解的业务场景,并针对所述业务场景生成自动化测试脚本,完成自动化测试系统的建立。可见,自动化测试脚本用于对业务场景进行测试,而该业务场景一般不会发生变化,所以生成的自动化测试脚本可以一次编写而多次运行,避免了再次进行测试时需要重新录制测试脚本的弊端,有效提升了测试的工作效率。

利用自动化测试工具生成自动化测试脚本后,为了检测自动化测试系统能否实现对该业务场景的测试,可以利用该自动化测试脚本对业务场景进行测试。具体的,可以在预设时间内,利用所述业务场景对应的所述自动化测试脚本对所述业务场景进行自动化测试;当到达所述预设时间后,依据所述自动化测试脚本中包括的所述邮箱信息,向所述邮箱信息中包括的邮箱账号发送测试报告。

其中,测试报告的格式可以由选定的自动化测试框架定义,测试报告可以用于表示业务场景是否通过测试的结果。

在具体实现中,可以在生成的自动化测试脚本中标注邮箱信息和预设时间。

举例说明,邮箱信息可以是负责人的邮箱账号,标注邮箱信息的目的在于可以将生成的测试报告发送到负责人的邮箱账号中,以便于负责人可以了解到该自动化测试系统的运行情况,并对于未通过测试的业务场景进行及时的处理。该邮箱信息中也可以包含有项目经理的邮箱账号,以便于项目经理可以及时了解自动化测试系统的情况,对该自动化测试系统的建立做出进一步的规划。

预设时间可以是对业务场景进行测试的计划完成时间。预设时间的长短可以根据实际需求设定,在此不再赘述。

图2为本发明实施例提供的一种自动化测试系统的建立装置的结构示意图,包括形成单元21、组合单元22和生成单元23:

所述形成单元21,用于根据REST API列表和需求分解表的对应关系,形成业务需求。

所述组合单元22,用于对所述业务需求进行组合,得到业务场景。

所述生成单元23,用于针对所述业务场景生成自动化测试脚本,完成自动化测试系统的建立。

可选的,所述自动化测试脚本包括邮箱信息和预设时间。

可选的,还包括测试单元和发送单元:

所述测试单元,用于在所述预设时间内,利用所述业务场景对应的所述自动化测试脚本对所述业务场景进行自动化测试;

当到达所述预设时间后触发所述发送单元,所述发送单元,用于依据所述自动化测试脚本中包括的所述邮箱信息,向所述邮箱信息中包括的邮箱账号发送测试报告。

可选的,所述自动化测试脚本的脚本开发语言采用javascript。

图2所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。

以上对本发明所提供的一种自动化测试系统的建立方法与装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

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