一种软件测试方法及软件测试系统与流程

文档序号:12963458阅读:227来源:国知局
一种软件测试方法及软件测试系统与流程

本申请涉及计算机技术领域,特别涉及一种软件测试方法及软件测试系统。



背景技术:

随着互联网金融行业的发展,金融软件系统的功能迭代发布速度越来越快,版本发布的周期越来越短,就需要配合自动化测试工具完成测试过程。一般的,使用自动化工具可以全天进行测试,无需消耗人力实施,可以极大的加快软件的测试过程,但是在金融软件中,由于其应用领域的特殊性,需要保证软件在运行中出错率接近于零,因此需要用大量的数据测试统一环节,保证测试过程的准确性。

但是一般的软件测试过程如果要增加大量的测试数据就需要增加大量的重复测试的过程,降低了测试速度,并且占用大量储存资源,降低测试效率。

因此,如何增加金融软件的测试速度是本领域技术人员关注的热点问题。



技术实现要素:

本申请的目的是提供一种软件测试方法及软件测试系统,通过将测试的场景测试过程和数据准备过程分离,得到两个测试过程的自动化用例,在测试时,先通过数准备用力生成多组场景数据,将测试场景自动化用例对应数个场景数据进行测试,达到场景复用的效果,加速测试过程,使测试效率大大提高,可以更好的应对快速变化的功能迭代。

为解决上述技术问题,本申请提供一种软件测试方法,包括:

自动化测试工具执行数据生成自动化用例得到交易场景数据;其中,所述数据生成自动化用例由自动化工具根据交易场景的数据编写得到;

使用预设数量的自动化用例和所述交易场景数据执行测试,得到测试输出;其中,所述自动化用例为通过自动化工具将测试过程编写得到;

将所述测试输出与预期输出进行比较,得到测试结果。

可选的,所述自动化测试工具执行数据生成自动化用例之前,还包括:

设置所述自动化测试工具的测试触发条件;

当到达所述触发条件时,所述自动化测试工具执行测试。

可选的,所述通过自动化工具将测试过程编写得到自动化用例,包括:

采集所述测试过程的测试用例;

将所述测试用例利用所述自动化工具进行编写处理,得到所述自动化用例。

可选的,还包括:

判断所述测试结果是否在预期范围内;

若是,则判定软件功能符合预期设计。

本申请还提供一种软件测试系统,其特征在于,包括:

交易场景数据生成模块,用于执行数据生成自动化用例得到交易场景数据;其中,所述数据生成自动化用例由自动化工具根据交易场景的数据编写得到;

自动化测试模块,用于使用预设数量的自动化用例和所述交易场景数据执行测试,得到测试输出;其中,所述自动化用例为通过自动化工具将测试过程编写得到;

测试结果获取模块,将所述测试输出与预期输出进行比较,得到测试结果。

可选的,还包括:

触发条件设置模块,设置所述自动化测试工具的测试触发条件;

触发测试模块,当到达所述触发条件时,所述自动化测试工具执行测试。

可选的,还包括:

测试过程采集单元,采集所述测试过程的测试用例;

自动化用例编写单元,将所述测试用例利用所述自动化工具进行编写处理,得到所述自动化用例。

可选的,还包括:

测试结果判断模块,判断所述测试结果是否在预期范围内;

测试结果判定模块,判定软件功能符合预期设计。

本申请所提供的一种软件测试方法,包括:自动化测试工具执行数据生成自动化用例得到交易场景数据;其中,所述数据生成自动化用例由自动化工具根据交易场景的数据编写得到;使用预设数量的自动化用例和所述交易场景数据执行测试,得到测试输出;其中,所述自动化用例为通过自动化工具将测试过程编写得到;将所述测试输出与预期输出进行比较,得到测试结果。

通过将测试的场景测试过程和数据准备过程分离,得到两个测试过程的自动化用例,在测试时,先通过数准备用力生成多组场景数据,将测试场景自动化用例对应数个场景数据进行测试,达到场景复用的效果,加速测试过程,使测试效率大大提高,可以更好的应对快速变化的功能迭代。

附图说明

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

图1为本申请实施例提供的一种软件测试方法的流程图;

图2为本申请实施例提供的一种软件测试方法的自动测试工具设置的流程图;

图3为本申请实施例提供的一种软件测试方法的获取自动化用例的流程图;

图4为本申请实施例提供的一种软件测试方法的整体测试的结构示意图;

图5为本申请实施例提供的一种软件测试系统的结构示意图。

具体实施方式

本申请的核心是提供一种软件测试方法及软件测试系统,通过将测试的场景测试过程和数据准备过程分离,得到两个测试过程的自动化用例,在测试时,先通过数准备用力生成多组场景数据,将测试场景自动化用例对应数个场景数据进行测试,达到场景复用的效果,加速测试过程,使测试效率大大提高,可以更好的应对快速变化的功能迭代。

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

请参考图1,图1为本申请实施例提供的一种软件测试方法的流程图。

本实施例提供一种软件测试方法,可以包括:

s101,自动化测试工具执行数据生成自动化用例得到交易场景数据;

其中,数据生成自动化用例由自动化工具根据交易场景的数据编写得到;

本步骤旨在使自动化测试工具执行数据生成自动化用例得到交易场景数据。在对金融软件进行测试的过程中,将同一操作用不同数据的进行大量的测试操作,并且由于金融类软件的操作特性,不同的测试过程可以使用同一场景数据,因此需要在测试过程中,先根据生成数据的自动化用例生成交易场景数据,也就是进行数据准备。

其中,自动化测试工具是为了执行自动化用例的测试工具,可以根据不同的需求对该自动化测试工具设置触发条件。自动化测试工具可以是jenkins持续集成工具,也可以是其他工具,在此不再做赘述。

其中,数据生成自动化用例由自动化工具根据交易场景的数据编写得到。也就是说分析交易场景的数据特点,采集一定的交易场景数据用例,此用例可以表示交易数据的生成过程。将该用例通过自动化工具进行编写就可以得到数据生成自动化用例。

一般的,自动化测试工具执行用例的过程还包括,自动化测试工具创建对应的测试作业,将该自动化用例添加到对应的测试作业中,并设置测试作业的触发条件,就可以使自动化测试工具自动使用自动化用例进行测试,得到相应的测试结果。

s102,使用预设数量的自动化用例和交易场景数据执行测试,得到测试输出;其中,自动化用例为通过自动化工具将测试过程编写得到;

在步骤s101的基础上,本步骤旨在使用得到的交易场景和自动化用例进行测试。

其中,测试过程可以使例如开卡过程和取钱过程,为了确保开卡过程和取钱过程中不出错,就需要将开卡过程和取钱过程重复多次,并且每次的数据都不相同,以遍历多种情况,但是一般的测试方法如果需要执行多次不同的测试,就需要建造许多不同的自动化测试用例,浪费存储资源的同时测试速度也得不到保证。因此将测试的数据和测试过程分离开来,建造不同的场景数据使用在同一操作过程中。场景数据相当于开卡过程中的个人信息,取钱过程中的余额信息和所要取钱的信息。

并且由于金融软件的不同的功能场景和不同的功能操作的数据在一定范围都具有重复的地方,也就是,在开卡过程中的个人信息还需要在其他功能操作中作为验证信息使用,因此多组的场景数据可以用在不同的测试场景中。

需要说明的是,在一个测试环节中对应测试要求需要选取不同测试过程的自动化用例进行测试,例如,在冒烟测试中需选取主干流程的测试自动化用例进行测试,在系统测试中则需要将所有功能的测试自动化用例进行测试,因此,应视具体的测试情况选择不同数量、不同测试过程的测试自动化用例进行测试,具体在此不再做限定。

其中,测试输出在此是作为测试结果的评判依据,用作与预期的输出进行比较,因此可以是测试在功能测试结束后的输出结果,也可以是系统在测试中的稳定性和出错率,也可以视具体的使用环境以及情况做选择,在此不做赘述。

s103,将测试输出与预期输出进行比较,得到测试结果。

在步骤s102的基础上,本步骤旨在将测试输出与预测的输出作比较,得到测试结果。

其中,测试结果根据测试输出与预期输出的不同而改变,例如测试输出是许多功能测试的输出结果,那么测试结果就可以是结果与结果比较的出错率。如果,测试输出是错误率,那么测试结果就是与预期错误率的差值。测试结果可以视不同的输出做改变,无论选择何种测试结果,其都可以作为判断软件设计的标准,具体的在此不再做赘述。

综上,在本实施例中提供的软件测试方法,通过将测试的场景测试过程和数据准备过程分离,得到两个测试过程的自动化用例,在测试时,先通过数准备用力生成多组场景数据,将测试场景自动化用例对应数个场景数据进行测试,达到场景复用的效果,加速测试过程,使测试效率大大提高,可以更好的应对快速变化的功能迭代。

请参考图2,图2为本申请实施例提供的一种软件测试方法的自动测试工具设置的流程图。

结合上一实施例,本实施例主要针对上一实施例中如何对自动测试工具进行设置触发条件做一个解释,其他部分与上一实施例大体相同,相同部分可参考上一实施例,在此不再做赘述。

本实施例可以包括:

s201,设置自动化测试工具的测试触发条件;

本步骤旨在对自动化测试工具设置测试触发条件。

需要说明的是,对于不同的测试,其测试的触发条件要求也不相同。例如对于冒烟测试应设置为每日定时触发,对于回归测试设置为手动触发。其具体应视应用测试的环境选测不同的测试触发条件,具体的在此不做赘述。

s202,当到达触发条件时,自动化测试工具执行测试。

在步骤s201的基础上,本步骤旨在根据设置的触发条件执行测试操作。在自动测试环境下,自动化测试工具应根据设置的触发条件进行测试,达到自动化测试的效果,提高测试执行的效率。

请参考图3,图3为本申请实施例提供的一种软件测试方法的获取自动化用例的流程图。

结合上一实施例,本实施例主要针对上一实施例中如何获取自动化用例做一个解释,其他部分与上一实施例大体相同,相同部分可参考上一实施例,在此不再做赘述。

本实施例可以包括:

s301,采集测试过程的测试用例;

本步骤旨在,采集测试中的测试用例,其中测试用例用在自动化工具中形成自动化用例的。测试用例反映的是实际情况中的测试过程、测试场景以及交易数据,因此可以作为自动化用例的编写条件。

当然,在如何获取和采集测试用例的过程中,可能还存在一些其他操作,例如使用什么逻辑描述测试用例,测试用例的采集范围等,应视具体的应用环境选择不同的处理操作,在此不做赘述。

s302,将测试用例利用自动化工具进行编写处理,得到自动化用例。

在步骤s301的基础上,本步骤旨在将采集得到的测试用例通过自动化工具进行编写得到自动化用例。

其中,自动化工具是可以将测试用例封装为自动完成的用例程序的工具,可以是fitnesse自动化工具,还可以是jemter工具,具体的在此不做赘述。

结合上一实施例,本实施例主要针对上一实施例中如何判定测试结果做一个解释,其他部分与上一实施例大体相同,相同部分可参考上一实施例,在此不再做赘述。

本实施例可以包括:

s401,判断测试结果是否在预期范围内;

s402,若是,则判定软件功能符合预期设计。

本实施例旨在,当测试结果满足在一定范围内,则该设计满足预期的设计。其中,预期范围可以根据不同的情况进行设定,在此不做赘述。

请参考图4,图4为本申请实施例提供的一种软件测试方法的整体测试的结构示意图。

结合上一实施例,本实施例主要针对上一实施例中如何进行整体测试做一个解释,其他部分与上一实施例大体相同,相同部分可参考上一实施例,在此不再做赘述。

本实施例中,对软件的进行了冒烟测试,系统测试以及回归测试,选择fitnesse工具作为自动化工具,jenkins作为自动化测试工具。

本实施例可以包括:

步骤一,基于虚拟卡业务场景,采集核心业务用例、冒烟测试用例、交易场景数据用例;

步骤二,将采集的用例在fitnesse中进行自动化实现,并归集为一套虚拟卡账务用例库;

步骤三,fitnesse创建冒烟测试集、交易场景数据测试集、核心回归测试集,并从用例库中筛选符合三个测试过程的用例,加入到对应的测试集中;

步骤四,在jenkins中创建冒烟测试job、核心回归测试job,并修改job配置,与对应的用例集关联;

步骤五,冒烟测试job设置为日构建,即每日定时触发;核心回归job设置为手动触发,当完成系统测试时,手工触发核心回归测试,进行核心交易自动化回归;

步骤六,利用交易场景数据测试集中,执行对应的用例完成数据的制作。

步骤七,当条件触发时,执行相应的测试操作。

本申请实施例提供了一种软件测试方法,通过将测试的场景测试过程和数据准备过程分离,得到两个测试过程的自动化用例,在测试时,先通过数准备用力生成多组场景数据,将测试场景自动化用例对应数个场景数据进行测试,达到场景复用的效果,加速测试过程,使测试效率大大提高,可以更好的应对快速变化的功能迭代。

下面对本申请实施例提供的一种软件测试系统进行介绍,下文描述的一种软件测试系统与上文描述的一种软件测试方法可相互对应参照。

请参考图5,图5为本申请实施例提供的一种软件测试系统的结构示意图。

本实施例可以包括:

交易场景数据生成模块100,用于执行数据生成自动化用例得到交易场景数据;其中,数据生成自动化用例由自动化工具根据交易场景的数据编写得到;

自动化测试模块200,用于使用预设数量的自动化用例和交易场景数据执行测试,得到测试输出;其中,自动化用例为通过自动化工具将测试过程编写得到;

测试结果获取模块300,将测试输出与预期输出进行比较,得到测试结果。

可选的,还可以包括:

触发条件设置模块,设置自动化测试工具的测试触发条件;

触发测试模块,当到达触发条件时,自动化测试工具执行测试。

可选的,还可以包括:

测试过程采集单元,采集测试过程的测试用例;

自动化用例编写单元,将测试用例利用自动化工具进行编写处理,得到自动化用例。

可选的,还可以包括:

测试过程采集单元,采集测试过程的测试用例;

自动化用例编写单元,将测试用例利用自动化工具进行编写处理,得到自动化用例。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

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

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

以上对本申请所提供的一种软件测试方法及软件测试系统进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

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