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

软件测试方法、装置及计算机存储介质

文献发布时间:2023-06-19 11:54:11


软件测试方法、装置及计算机存储介质

技术领域

本申请实施例涉及计算机测试技术领域,特别涉及一种软件测试方法、装置及计算机存储介质。

背景技术

在软件(例如活体检测软件)的开发和迭代过程中,需要保证软件的核心功能始终保持相对稳定的状态,然而,针对核心功能的验证工作大部分都是重复的。

具体地,在功能测试方面,针对每一次的版本更新都需要进行回归测试,以保证更新后的版本不会引入新的缺陷,因此,若软件的更新迭代频繁,则将导致测试时间紧迫且测试任务繁重的问题。再者,在系统兼容性方面,为保证软件能稳定地工作,需确保软件在各操作系统中,不会出现功能无法使用、软件运行崩溃等问题。另外,在模组兼容性方面,由于将软件结合至实际使用场景时,客户所使用的活体检测模组并非统一且唯一的,因此,需要测试接入不同的模组,以判别活体检测软件功是否可在不同运作环境下正常使用。此外,在稳定性方面,需测试活体检测软件在长时间地运行下是否稳定,并需实时监测系统内存、CPU等的变化情况。

由上可知,目前的活体检测软件的测试过程中存在大量重复单一的更改参数、击键等测试操作,然而,现阶段的软件测试操作主要依靠人工方式依照各测试用例进行逐一测试,存在着操作难度较低,但测试时间和人力的消耗较大,导致了严重的测试资源浪费。此外,由于人工测试存在一定的个体差异,容易出现漏测或误测,对于产品的发布存在着潜在风险。此外,传统测试模式的测试周期和测试投入较为固定,难以灵活变通。

发明内容

鉴于上述问题,本申请提供一种软件测试方法、装置及计算机存储介质,可实现自动化的软件测试操作,以降低测试成本并提升测试结果准确性。

本申请第一方面提供一种软件测试方法,其包括:根据待测软件的更新内容,确定所述待测软件的多个测试用例;根据各所述测试用例,生成各所述测试用例对应的各测试代码;执行各所述测试代码,获得各所述测试用例对应的各用例测试结果,并根据各所述用例测试结果,生成所述待测软件的软件测试结果。

本申请第二方面提供一种计算机存储介质,所述计算机存储介质中储存有用于执行上述第一方面所述的软件测试方法的各所述步骤的指令。

本申请第三方面提供一种软件测试装置,其包括:测试用例管理模块,其根据待测软件的更新内容,确定所述待测软件的多个测试用例,并根据各所述测试用例,生成各所述测试用例对应的各测试代码;软件测试模块,用于执行各所述测试代码,获得各所述测试用例对应的各用例测试结果,并根据各所述用例测试结果,生成所述待测软件的软件测试结果。

综上所述,本申请的软件测试方法、装置及计算机存储介质,可根据待测软件的更新内容确定与之对应的测试用例,并据以生成各测试用例对应的各测试代码,且遍历执行各测试代码以获得各用例测试结果,并综合分析各测试用例结果以获得待测软件的软件测试结果。据此,本申请可以实现自动化的软件测试操作,并可避免人工测试的个体差异所导致的测试结果不准确的问题。

再者,本申请的软件测试方法、装置及计算机存储介质,可根据各用例测试结果进行统计分析,以针对待测软件的缺陷、质量、风险等方面进行评估,且利用分析图表以可视化方式呈现软件测试结果,可供软件开发人员全面且直观地了解待测软件的测试情况。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1为本申请第一实施例的软件测试方法的流程示意图。

图2为本申请第二实施例的软件测试方法的流程示意图。

图3为本申请第四实施例的软件测试装置的架构示意图。

元件标号

300:软件测试装置;302:测试用例管理模块;304:软件测试模块。

具体实施方式

为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。

呈上在背景技术部分所述,目前的软件测试操作主要依照人工方式来执行,存在着测试效率低,且测试结果不稳定等问题,有鉴于此,本申请实施例提供一种软件测试方法、装置及计算机存储介质,可以改善现有技术中存在的至少部分问题。

以下将结合各附图详细描述本申请的各实施例。

第一实施例

图1示出了本申请第一实施例的软件测试方法的流程示意图。如图所示,本实施例的软件测试方法主要包括以下步骤:

步骤S102,根据待测软件的更新内容,确定待测软件的多个测试用例。

可选地,可根据待测软件的当前版本的程序代码以及待测软件的前一版本的程序代码,确定待测软件的更新内容。

可选地,待测软件可包括活体检测软件,但并不以此为限,本申请的软件测试方法亦可适用于其他任何类型的软件程序的测试操作。

可选地,可结合根据待测软件的更新内容和测试成本(例如测试时间、测试硬件配置等),确定待测软件的测试用例。

步骤S104,根据各测试用例,生成各测试用例对应的各测试代码。

可选地,可根据所确定的测试用例,并结合待测软件的需求文档和设计文档生成测试用例对应的测试代码。

可选地,测试代码可采用Phthon、Java等程序语言来实现,但并不以次为限,亦可采用其他程序语言编辑测试用例的测试代码,本申请对此不作限制。

步骤S106,执行各测试代码,获得各测试用例对应的各用例测试结果,并根据各用例测试结果,生成待测软件的软件测试结果。

可选地,可遍历执行各测试用例对应的各测试代码,并在测试执行过程中,实时提示待测软件的测试执行进度。

可选地,可利用满足预设硬件配置需求的硬件资源执行各测试代码。

具体地,可在执行测试代码之前,针对测试软件的硬件资源执行检测,以确保测试环境符合预设硬件配置需求(即预设测试要求)。

于本实施例中,针对硬件资源的检测内容包括但不限于:确保测试设备、测试系统等均处于正常状态;确保测试模块与测试设备连接正常,待测软件(例如活体检测软件)的版本及安装正常等,以排除外界因素对于软件测试操作过程的影响。

例如,当待测软件为活体检测软件时,可在执行测试操作之前,确保用于采集人脸图像的采集模块(即测试模块)与测试设备之间的连接正常,其中,采集模块可包括但不限于红外双目模块、结构光模块、TOF模块等;对应的,所采集的人脸图像可包括但不限于可见光图像、红外光图像或者深度图像等。

可选地,可在利用硬件资源执行各测试代码的过程中,采集硬件资源的硬件运行参数,并根据硬件运行参数,获得硬件资源的测试运行分析结果。

例如,可在软件测试执行过程中,自动生成并保存测试日志,以针对测试过程中的硬件资源运作状况进行实时监控。其中,测试日志中可记录有软件测试操作时间、函数调用、接口调用、算法参数等信息。

于本实施例中,硬件运行参数可包括但不限于:硬件资源的CPU使用率、内存利用率、句柄数(例如Handle增长情况)、磁盘读写速度、线程数、进程数等。

于本实施例中,可根据各用例测试结果进行统计分析,以获得待测软件的软件测试结果。

综上所述,本实施例的软件测试方法可根据待测软件的更新内容,确定与之相对应的测试用例,据以执行有针对性的软件测试操作,借此,本实施例不仅可实现自动化的软件测试操作,以降低测试成本,亦可避免人为测试操作所导致的个体化测试差异,以有效提高软件测试结果的准确性。

第二实施例

图2示出了本申请第二实施例的软件测试方法的流程示意图。本实施例为上述第一实施例的具体实施方案,如图所示,本实施例的软件测试方法主要包括:

步骤S202,根据待测软件的更新内容,确定待测软件的测试内容。

可选地,待测软件可包括活体检测软件,测试内容可包括但不限于:活体检测、人脸识别、人脸比对、底库管理等功能。

具体地,活体检测功能包括针对采集模组(例如红外双目模块、结构光模块、TOF模块)所采集的目标图像,调用相关算法以判断目标图像中的目标对象是否为活体;人脸识别功能包括分析目标图像中是否存在人脸以及针对人脸进行识别;人脸比对功能包括将目标图像中的目标对象与底库中的图片进行比对匹配,并返回目标对象的比对结果;底库管理功能包括针对底库中人脸信息执行注册以及增删改查等操作。

步骤S204,根据待测软件的测试内容,确定待测软件的测试要点。

于本实施例中,测试要点可包括至少一个测试参数。

步骤S206,根据测试要点,确定测试要点对应的多个测试用例。

可选地,可根据测试要点中的各个测试参数,新增、修改或删除对应于各测试参数的测试用例。

具体地,当测试要点包括一个测试功能对应的阈值范围时,则可确定属于阈值范围内的多个测试用例以及超出阈值范围的多个测试用例,以利用所确定的各测试用例,来分析测试功能是否在其所对应的阈值范围内正常运行。

较佳地,还可根据实际需求,设定各测试用例的测试输入、测试输出、测试优先级等参数。

步骤S208,基于相同的测试条件,执行对应于同一测试要点的各测试代码,获得各测试用例对应的各用例测试结果,并采集用于执行各测试代码的硬件资源的硬件运行参数。

于本实施例中,还可通过针对各测试用例对应的各测试代码执行初始化操作以及结束操作,来确保每一条测试用例均在相同的测试条件下进行测试,以降低各测试用例之间的耦合性,借以提高测试结果的准确性。

可选地,可通过执行各测试用例对应的各测试代码,获得各测试用例对应的各测试输出,并针对每一个测试用例,根据当前测试用例的预设输出和测试输出,获得当前测试用例通过或不通过的用例测试结果。

可选地,所采集的硬件资源的硬件运行参数可包括但不限于硬件资源的CPU使用率、内存利用率、句柄数、磁盘读写速度、线程数、进程数等。

步骤S210,根据各测试用例的各用例测试结果,获得各测试用例的用例统计结果,并根据硬件运行参数,获得硬件资源的测试运行分析结果。

可选地,用例统计结果可包括但不限于:用例执行数量、用例成功(失败)数量、用例阻塞率、用例覆盖率、用例通过率等分析结果。

此外,还可根据用例统计结果进行进一步分析,其包括但不限于:根据各测试要点对应的各测试用例的用例通过率,分析待测软件中存在缺陷的测试要点;分析失败用例的失败类型(例如,由于代码错误、设计缺陷、标准规范、界面优化、性能等因素引起的失败用例),以协助开发人员定位待测软件所存在的缺陷;分析失败用例的严重程度,获得待测软件的风险程度;根据不同版本的待测软件的测试数据,确定待测软件在迭代过程中,哪些缺陷容易重复产生以及不同阶段容易产生什么类型的缺陷等等;根据硬件资源的测试运行分析结果,获得待测软件的运行兼容性和/或稳定性的测试分析结果,例如,分析内存、CPU、句柄(Handle)等是否存在增长异常的问题。

需说明的是,本实施例由软件测试方法所生成的软件测试结果并不以上述的用例统计结果和测试运行分析结果为限,亦可包括其他类别的分析结果。

步骤S212,利用分析图表呈现用例统计结果和/或硬件运行参数。

可选地,分析图表例如为柱状图、散点图、饼状图、曲线图、折线图等。

例如,可根据上述的用例执行数量、用例成功数量、用例阻塞率、用例覆盖率、用例通过率等用例统计结果,生成相应的柱状图;例如,可根据用例统计结果生成散点图,以展示失败用例主要分布在待测软件的哪些测试要点;例如,可根据用例统计结果生成饼状图,以展示不同类型的缺陷占比情况;例如,可根据用例统计结果生成饼状图/柱状图,以展示不同程度的缺陷占比情况;例如,可根据用例统计结果生成曲线图,以展示不同阶段产生的失败用例的数量;例如,可根据测试运行分析结果生成折线图,以展示软件运行过程中的硬件资源使用情况。

综上所述,本申请实施例的软件测试方法可根据对应于待测软件的各测试要点的各测试用例的用例测试结果,生成包含用例执行数量、用例成功数量、用例阻塞率、用例覆盖率、用例通过率等的用例统计结果,据以提供软件开发人员针对待测软件的缺陷分布、风险程度等方面进行评估;并通过实时采集软件测试过程中的硬件运行参数,以获得硬件资源的测试运行分析结果,据以提供软件开发人员针对待测软件的系统稳定性、兼容性等方面进行评估。

再者,本实施例通过以分析图表方式呈现用例统计结果和/或硬件运行参数,可供软件开发人员直观且全面的掌握待测软件的测试结果。

第三实施例

本申请第三实施例提供了一种计算机存储介质,所述计算机存储介质中储存有用于执行上述第一实施例或第二实施例所述的软件测试方法的各所述步骤的指令。

第四实施例

图3示出了本申请第四实施例的软件测试装置的架构示意图。如图所示,本实施例的软件测试装置300主要包括:测试用例管理模块302、软件测试模块304。

测试用例管理模块302用于根据待测软件的更新内容,确定所述待测软件的多个测试用例,并根据各所述测试用例,生成各所述测试用例对应的各测试代码。

可选地,测试用例管理模块302还包括根据所述待测软件的当前版本的程序代码以及所述待测软件的前一版本的程序代码,确定所述待测软件的所述更新内容。

可选地,测试用例管理模块302还包括根据所述更新内容,确定所述待测软件的测试内容;根据所述测试内容,确定所述待测软件的测试要点;以及根据所述测试要点,确定所述测试要点对应的多个所述测试用例。

可选地,所述待测软件包括活体检测软件,所述测试内容至少包括活体检测、人脸识别、人脸比对、底库管理中的一个。

可选地,所述测试要点包括至少一个测试参数,测试用例管理模块302可根据所述测试要点中的各所述测试参数,新增、修改或删除对应于各所述测试参数的所述测试用例。

软件测试模块304还包括执行各所述测试代码,获得各所述测试用例对应的各用例测试结果,并根据各所述用例测试结果,生成所述待测软件的软件测试结果。

可选地,软件测试模块304还包括基于相同的测试条件,执行对应于同一所述测试要点的各所述测试代码,获得各所述测试用例对应的各所述用例测试结果。

可选地,软件测试模块304还包括执行各所述测试用例对应的各所述测试代码,获得各所述测试用例对应的各测试输出;并针对每一个所述测试用例,根据所述测试用例的预设输出和所述测试输出,获得所述测试用例通过或不通过的所述用例测试结果。

可选地,软件测试模块304还包括根据各所述测试用例的各所述用例测试结果,获得用例统计结果;其中,所述用例统计结果至少包括用例执行数量、用例成功数量、用例阻塞率、用例覆盖率、用例通过率中的一个。

可选地,软件测试模块304还包括利用满足预设硬件配置需求的硬件资源执行各所述测试代码,并在所述硬件资源执行各所述测试代码的过程中,采集所述硬件资源的硬件运行参数;并根据所述硬件运行参数,获得所述硬件资源的测试运行分析结果,其中,所述硬件运行参数至少包括所述硬件资源的CPU使用率、内存利用率、句柄数、磁盘读写速度、线程数、进程数中的一个。

可选地,软件测试模块304还包括利用分析图表呈现所述用例统计结果和/或所述硬件运行参数;其中,所述分析图表包括柱状图、散点图、饼状图、曲线图、折线图中的一个。

此外,本实施例的软件测试装置300还可用于实现前述各软件测试方法实施例中的其他步骤,并具有相应的方法步骤实施例的有益效果,在此不再赘述。

综上所述,本申请各实施例提供的软件测试方法、装置及计算机存储介质可根据待测软件的更新内容,自动生成各测试用例的各测试代码,并通过自动遍历执行各测试代码,以获得待测软件的各用例测试结果。据此,本申请不仅实现自动化的软件测试操作,以降低测试成本,并可避免因人工测试个体差异导致的测试结果不准确的问题。

再者,本申请各实施例的软件测试方法、装置及计算机存储介质还可根据各用例测试结果进行统计分析,获得用例执行数量、用例成功数量、用例阻塞率、用例覆盖率、用例通过率等分析结果,以供软件开发人员针对待测软件的缺陷、质量、风险等方面进行评估判断,且通过分析图表方式呈现软件测试结果,可利于软件开发人员直观且全面地掌握待测软件的测试情况。

最后应说明的是:以上实施例仅用以说明本申请实施例的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

相关技术
  • 软件测试方法、装置、计算机装置及计算机可读存储介质
  • 软件测试方法及装置、计算机装置及存储介质
技术分类

06120113098770