CN115757090A - 软件测试系统、方法、设备及介质 - Google Patents
软件测试系统、方法、设备及介质 Download PDFInfo
- Publication number
- CN115757090A CN115757090A CN202211282938.8A CN202211282938A CN115757090A CN 115757090 A CN115757090 A CN 115757090A CN 202211282938 A CN202211282938 A CN 202211282938A CN 115757090 A CN115757090 A CN 115757090A
- Authority
- CN
- China
- Prior art keywords
- test
- data
- case
- software
- management module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种软件测试系统、方法、设备及介质,其中,软件测试方法包括根据测试用例获取若干个第一数据或若干个第二数据,将若干个第一数据或若干个第二数据合并以得到测试数据;配置关键字;确定测试用例模板以对用例信息、用例步骤进行导入,并将所述用例步骤与所述关键字关联;根据预设排序规则选择所述测试用例并生成执行计划表,基于所述执行计划表、预设执行方式和所述测试脚本自动利用所述测试数据对所述待测软件进行测试,进而实现了测试过程自动化,减少人工干预,且经过多轮迭代,最终能覆盖所有测试用例,减少漏测率,避免软件功能存在测试盲区,从而提高了功能测试的全面性为智能化测试、精准测试提供了基础。
Description
技术领域
本发明涉及测试技术领域,具体涉及一种软件测试系统、方法、设备及介质。
背景技术
软件测试是一种通过对比实际输出与预期输出之间的差异,来鉴定软件的正确性、完整性、安全性和质量的过程,该过程通常是在规定的使用条件下对软件进行操作,从而确定该软件是否满足设计要求,从而可以对软件的质量进行评估。
随着业务复杂度的不断扩展,程序软件的规模不断增大,对于软件测试的难度也在不断提高,而对于非功能软件测试用例多数以文档方式进行维护,但由于系统架构、功能升级、需求变更引起的一系列变化,原有大量用例的修订变得非常复杂,既需要花费大量人力进行用例的修订,且也不便于新人员的测试学习、执行,因此,对于非功能测试仅仅使用人工去批量构造数据、监测测试对象性能、检查容错能力以及维护非功能测试用例,是非常不便利的。
发明内容
本发明要解决的技术问题是为了克服现有技术中上述缺陷,提供一种软件测试系统、方法、设备及介质。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供一种软件测试系统,所述软件测试系统用于测试待测软件,所述软件测试系统包括测试数据管理模块、测试关键字管理模块、测试用例管理模块、测试执行管理模块;
所述测试数据管理模块,用于根据测试用例获取若干个第一数据或若干个第二数据,将所述若干个第一数据或所述若干个第二数据合并以得到测试数据;其中,所述若干个第一数据为来自不同环境源的数据,所述若干个第二数据为设计生成的且覆盖所有测试属性的数据;
所述测试关键字管理模块,用于配置关键字;其中,所述关键字包括关键字信息、测试脚本、参数中至少一种;
所述测试用例管理模块,用于确定测试用例模板以对用例信息、用例步骤进行导入,并将所述用例步骤与所述关键字关联;
所述测试执行管理模块,用于根据预设排序规则选择所述测试用例并生成执行计划表,基于所述执行计划表、预设执行方式和所述测试脚本自动利用所述测试数据对所述待测软件进行测试。
较佳地,所述软件测试系统还包括测试报告管理模块;
所述测试报告管理模块,用于汇总所述待测软件的测试结果,并根据指标数据对所述测试结果进行对比,以生成并展示对比结果。
较佳地,所述软件测试系统还包括用户管理模块;
所述用户管理模块,用于配置登录用户及用户组的测试权限。
较佳地,所述测试数据管理模块还用于对所述第一数据和/或所述第二数据进行去重,并根据所述测试用例从去重后的所述第一数据和/或所述第二数据中动态挑选对应目标数据,将所述目标数据进行合并以得到所述测试数据。
本发明还提供一种软件测试方法,所述软件测试方法用于测试待测软件,所述软件测试方法包括:
根据测试用例获取若干个第一数据或若干个第二数据,将所述若干个第一数据或所述若干个第二数据合并以得到测试数据;其中,所述若干个第一数据为来自不同环境源的数据,所述若干个第二数据为设计生成的且覆盖所有测试属性的数据;
配置关键字;其中,所述关键字包括关键字信息、测试脚本、参数中至少一种;
确定测试用例模板以对用例信息、用例步骤进行导入,并将所述用例步骤与所述关键字关联;
根据预设排序规则选择所述测试用例并生成执行计划表,基于所述执行计划表、预设执行方式和所述测试脚本自动利用所述测试数据对所述待测软件进行测试。
较佳地,所述软件测试方法还包括:
汇总所述待测软件的测试结果,并根据指标数据对所述测试结果进行对比,以生成并展示对比结果。
较佳地,所述软件测试方法还包括:
配置登录用户及用户组的测试权限。
较佳地,所述合并不同环境源的第一数据和/或设计生成的第二数据以得到测试数据包括:
对所述第一数据和/或所述第二数据进行去重,并根据所述测试用例从去重后的所述第一数据和/或所述第二数据中动态挑选对应目标数据,将所述目标数据进行合并以得到所述测试数据。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时实现如上所述的软件测试方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的软件测试方法。
本发明的积极进步效果在于:通过根据测试用例获取若干个第一数据或若干个第二数据,将所述若干个第一数据或所述若干个第二数据合并以得到测试数据;配置关键字;确定测试用例模板以对用例信息、用例步骤进行导入,并将用例步骤与关键字关联;根据预设排序规则选择测试用例并生成执行计划表,基于执行计划表、预设执行方式和测试脚本自动利用测试数据对待测软件进行测试,进而实现了测试过程自动化,减少人工干预,且经过多轮迭代,最终能覆盖所有测试用例,减少漏测率,避免软件功能存在测试盲区,从而提高了功能测试的全面性为智能化测试、精准测试提供了基础。
附图说明
图1为本发明实施例1提供的软件测试系统的模块示意图。
图2为本发明实施例2的软件测试方法的第一流程示意图。
图3为本发明实施例3的实现软件测试方法的电子设备的结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
为了克服目前存在的上述缺陷,如图1所示,作为一实施例,本实施例提供一种软件测试系统,该软件测试系统用于测试待测软件,可选地,软件测试系统包括测试数据管理模块1、测试关键字管理模块2、测试用例管理模块3、测试执行管理模块4。
测试数据管理模块1,用于根据测试用例获取若干个第一数据或若干个第二数据,将若干个第一数据或若干个第二数据合并以得到测试数据;其中,若干个第一数据为来自不同环境源的数据,若干个第二数据为设计生成的且覆盖所有测试属性的数据。
换言之,本实施例的测试数据管理模块1可以用于获取测试用例并根据测试用例生成对应的测试数据。
在一种可选地实施方式中,测试数据管理模块1还用于对第一数据和/或第二数据进行去重,并根据测试用例从去重后的第一数据和/或第二数据中动态挑选对应目标数据,将目标数据进行合并以得到测试数据。
从而,可以保证不同的测试用例间的数据不会重复,确保数据隔离,进而不会对测试结果产生干扰。
需要说明的是,作为举例,测试数据管理模块1可以使用Python(一种程序语言)作为基础语言,并不以此限定本实施例的测试数据管理模块1具体程序语言。
作为本实施例的一实施方式,在测试数据管理模块1中可以进行下述操作:第1步,合并去重:合并不同环境源的数据或设计生成覆盖所有测试属性的完整数据文件A并做去重。
第2步,拆分:根据不同的测试用例,从数据文件A动态挑选对应的数据,测试用例之间的数据相互隔离。
第3步,合并:重新合并形成最终的参考数据即测试数据。
优选地,本实施例的测试数据管理模块1在进入数据源配置界面,可以对数据源、数据对象进行管理。数据源管理可以灵活配置数据库、文件等各类输入源,其中数据库的配置依托于系统管理中的测试数据库配置,可快速选取对应数据库配置,而后配置数据库名即可,其中,文件源支持本地文件、远程文件等。数据对象配置可以由数据源中各个数据表、数据文件进行更进一步的数据筛选,通过sql(Structured Query Language,结构化查询语言)、文本关键字过滤以及关联数据处理脚本对数据进行拆分,得到各类数据对象。在数据拆分完成后,可以对各数据对象进行合并、格式处理等数据处理操作,将整合处理完成后的数据作为数据单元供后续测试执行选取使用。
进而,本实施例的测试数据动态生成,避免冲突,且每轮测试数据均不相同,数据覆盖率高。
测试关键字管理模块2,用于配置关键字;其中,关键字包括关键字信息、测试脚本、参数中至少一种。
本实施例的测试关键字管理模块2还可以用于集中线下脚本,结合参数来辅助测试执行步骤的自动执行。
作为本实施例的一实施方式,测试关键字管理模块2中可以进行下述操作:第1步,将线下的各类python脚本上传到线上脚本仓库。
第2步,通过配置关键字属性,将脚本仓库中的各个脚本与系统进行关联管理,同时可以配置关键字是否组内私有。
第3步,通过配置关键字参数,使得实际使用的参数能够传入脚本中执行。
需要说明的是,作为举例,测试关键字管理模块2可以使用JAVA(一种程序语言)作为基础语言,管理各类Python执行脚本(即关键字),并不以此限定本实施例的测试关键字管理模块2具体语言。
优选地,本实施例的测试关键字管理模块2可以在关键字总览中,对关键字信息进行配置;通过关键字使用统计界面,可以查看到使用率高的关键字信息,对优质关键字进行排序便于测试人员进行参考学习。关键字是由关键字信息、脚本、参数组成的,用户首先需要上传测试脚本,脚本的调度执行由上层执行器控制,因此脚本的编写需要符合特定的规范。关键字配置主要是关键字名称、对应脚本路径、脚本别名(唯一键)、关键字标签、关键字说明,在测试执行选取关键字时,可以快速定位和查看功能描述。参数配置提高了关键字使用灵活性,可以由用户在测试执行时配置具体的参数而不再是代码写死参数,参数配置中的参数定义需与脚本中的参数入口定义匹配。
测试用例管理模块3,用于确定测试用例模板以对用例信息、用例步骤进行导入,并将用例步骤与关键字关联。
本实施例的测试用例管理模块3还可以基于测试数据对测试步骤进行管理。
作为本实施例的一实施方式,测试用例管理模块3中可以进行下述操作:
第1步,可通过线下标准用例模板,将用例总览信息、用例步骤信息导入,同时也支持线上导出,用于用例归档保存。
第2步,线上管理模块支持按照业务标签、优先级、用例有效状态等进行筛选,便于测试人员更快速的定位各类测试所涉及的用例。
第3步,每一次用例测试执行的结果都会以报表形式存储,通过执行历史,可对各次执行情况进行明细展示,同时也支持自定义指标多次结果间的横向比对展示。
优选地,本实施例的测试用例管理模块3可以在用例总览中,通过指定用例模板进行用例信息、用例步骤的导入,也可以使用导出功能将用例信息及步骤导出excel文档存档使用;同时总览界面提供用例执行状态、用例选取条件、优先级、负责人、版本、业务标签等丰富的筛选功能,方便测试人员进行快速定位。在用例管理中,可以对用例的基本信息进行编辑修改,可以对用例的步骤进行组装,通过关联关键字的方式使步骤可以自动化执行测试。对步骤进行标签化配置,通过选取特定标签的方式,可以局部批量执行测试步骤。当测试执行完成后,由系统自动生成当次执行简报,用户可通过执行历史界面,选择指定历史执行情况进入简报查看,该简报展示测试时间、总体耗时、成功百分比情况、各步骤的执行结果、耗时情况等信息。执行简报与测试报告不同,仅在用户手动点击报告生成时,才会生成详尽的测试报告。
测试执行管理模块4,用于根据预设排序规则选择测试用例并生成执行计划表,基于执行计划表、预设执行方式和测试脚本自动利用测试数据对待测软件进行测试。
本实施例的测试执行管理模块4可以用于根据配置完成的测试用例,进行多样化的测试执行。
可选地,测试执行管理模块4包括测试计划管理单元41和调度执行单元42。
作为本实施例的一实施方式,测试计划管理单元41可以进行下述操作:
第1步,读取用例总表与用例执行结果表。
第2步,根据测试用例优先级降序排序,用例执行次数升序排序选择用例,同时根据输入的计划执行时间以及用例执行耗时(源于用例执行结果表)自动计算排入用例个数。
第3步,生成执行计划表同时插入数据库用于前端展示。
作为本实施例的另一实施方式,调度执行单元42可以进行下述操作:
第1步,调度:选择不同的执行方式(定时、实时、连续)进行不限次数(可配置)的自动化执行,各测试步骤通过总控页面调度执行,支持选择执行,同时会将测试步骤执行情况(成功/不成功、执行耗时)落入数据库,用于事后的查看与统计,并支持前端的监控展示。
第2步,监控:过程中实时监控应用状态,日志状态以及主机资源占用情况,一旦超出设定的阀值则进行预警,同时把监控数据写入数据库做持久化保存,并支持前端的监控展示。
第3步,检查:调用测试结果检查脚本,将所有检查结果获取到后统一存放到测试结果目录。
优选地,本实施例的测试执行管理模块4可以在测试执行界面,按标签选择特定用例编组进行测试执行。测试执行可以通过手动触发立即执行、单次定时执行、连续定时执行,执行视图界面中可以对整个测试执行进行控制,也可对单步进行控制。当配置执行监控器时,系统会自动记录对应监控对象的数据,可在测试完成后的执行视图中查看,或者在监控视图中实时查看。测试执行完成后,系统会自动根据测试情况生成执行简报,供用户查看当此执行情况;在用户点击生成测试报告后,由系统将步骤情况、监控数据、指标结果等汇总以详尽的图表方式呈现。
在一种可选地实施方式中,本实施例的软件测试系统还包括测试报告管理模块5。
测试报告管理模块5,用于汇总待测软件的测试结果,并根据指标数据对测试结果进行对比,以生成并展示对比结果。
作为本实施例的另一实施方式,测试报告管理模块5可以进行下述操作:
第1步,将线下的各类python脚本上传到线上脚本仓库。
第2步,通过配置关键字属性,将脚本仓库中的各个脚本与系统进行关联管理,同时可以配置关键字是否组内私有。
第3步,通过配置关键字参数,使得实际使用的参数能够传入脚本中执行。
优选地,本实施例的测试报告管理模块5可以在报告总览中可以看到历次生成的测试报告,对测试报告可以进行查看、删除、归档等操作。进入指定测试报告可以通过测试视图查看测试总览信息、步骤预期及结果、执行日志、指标结果。进入监控视图,可查看到对应报告的监控数据,包括错误日志监控数据、测试主机系统资源监控数据、进程情况等信息。通过比对视图,可以选取多个测试报告,将对应指标、监控数据对比展示,提供丰富的图表内容进行展示。报告存档可以将线上的报告内容生成到html静态页面,用于线下归档使用。
在一种可选地实施方式中,本实施例的软件测试系统还包括用户管理模块6。
用户管理模块6,用于配置登录用户及用户组的测试权限。
作为本实施例的另一实施方式,用户管理模块6可以进行下述操作:
第1步,用户及用户组管理,配置登录用户及用户组,各用户组间数据隔离,同用户组内可共享用例、测试执行情况、测试报告数据。
第2步,账密参数管理,可存储标准化的测试主机、测试数据库配置,主要属性有主机名、主机类型、ip、账密等,可快速适配到指定执行用例对应参数中。
第3步,自定义参数组管理,用户组内共享的参数集合,可快速在用例执行中切换不同的参数组进行测试执行。
本实施例通过测试数据管理模块、测试关键字管理模块、测试用例管理模块、测试执行管理模块的相互配合,进而实现了测试过程自动化,减少人工干预,且经过多轮迭代,最终能覆盖所有测试用例,减少漏测率,避免软件功能存在测试盲区,从而提高了功能测试的全面性为智能化测试、精准测试提供了基础。
需要说明的是,本实施例的软件测试系统例如可以是:单独的芯片、芯片模组或电子设备,也可以是集成于电子设备内的芯片或者芯片模组。关于上述实施例中描述的各个装置、产品包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
实施例2
为了克服目前存在的上述缺陷,如图2所示,作为一实施例,本实施例提供一种软件测试方法,该软件测试方法用于测试待测软件,软件测试方法包括:
S101、合并不同环境源的第一数据和/或设计生成的第二数据以得到测试数据;其中,第二数据为覆盖所有测试属性的数据。
在一种可选地实施方式中,步骤S101包括:
S1011、对第一数据和/或第二数据进行去重,并根据测试用例从去重后的第一数据和/或第二数据中动态挑选对应目标数据,将目标数据进行合并以得到测试数据。
作为本实施例的一实施方式,在步骤S101中,可以进行下述操作:
第1步,合并去重:合并不同环境源的数据或设计生成覆盖所有测试属性的完整数据文件A并做去重。
第2步,拆分:根据不同的测试用例,从数据文件A动态挑选对应的数据,测试用例之间的数据相互隔离。
第3步,合并:重新合并形成最终的参考数据即测试数据。
优选地,本实施例的测试数据管理模块1在进入数据源配置界面,可以对数据源、数据对象进行管理。数据源管理可以灵活配置数据库、文件等各类输入源,其中数据库的配置依托于系统管理中的测试数据库配置,可快速选取对应数据库配置,而后配置数据库名即可,其中,文件源支持本地文件、远程文件等。数据对象配置可以由数据源中各个数据表、数据文件进行更进一步的数据筛选,通过sql、文本关键字过滤以及关联数据处理脚本对数据进行拆分,得到各类数据对象。在数据拆分完成后,可以对各数据对象进行合并、格式处理等数据处理操作,将整合处理完成后的数据作为数据单元供后续测试执行选取使用。
进而,本实施例的测试数据动态生成,避免冲突,且每轮测试数据均不相同,数据覆盖率高。
S102、配置关键字;其中,关键字包括关键字信息、测试脚本、参数中至少一种。
作为本实施例的一实施方式,步骤S102中可以进行下述操作:第1步,将线下的各类python脚本上传到线上脚本仓库。
第2步,通过配置关键字属性,将脚本仓库中的各个脚本与系统进行关联管理,同时可以配置关键字是否组内私有。
第3步,通过配置关键字参数,使得实际使用的参数能够传入脚本中执行。
优选地,可以在关键字总览中,对关键字信息进行配置;通过关键字使用统计界面,可以查看到使用率高的关键字信息,对优质关键字进行排序便于测试人员进行参考学习。关键字是由关键字信息、脚本、参数组成的,用户首先需要上传测试脚本,脚本的调度执行由上层执行器控制,因此脚本的编写需要符合特定的规范。关键字配置主要是关键字名称、对应脚本路径、脚本别名(唯一键)、关键字标签、关键字说明,在测试执行选取关键字时,可以快速定位和查看功能描述。参数配置提高了关键字使用灵活性,可以由用户在测试执行时配置具体的参数而不再是代码写死参数,参数配置中的参数定义需与脚本中的参数入口定义匹配。
S103、确定测试用例模板以对用例信息、用例步骤进行导入,并将用例步骤与关键字关联。
作为本实施例的一实施方式,步骤S103中可以进行下述操作:
第1步,可通过线下标准用例模板,将用例总览信息、用例步骤信息导入,同时也支持线上导出,用于用例归档保存。
第2步,线上管理模块支持按照业务标签、优先级、用例有效状态等进行筛选,便于测试人员更快速的定位各类测试所涉及的用例。
第3步,每一次用例测试执行的结果都会以报表形式存储,通过执行历史,可对各次执行情况进行明细展示,同时也支持自定义指标多次结果间的横向比对展示。
优选地,可以在用例总览中,通过指定用例模板进行用例信息、用例步骤的导入,也可以使用导出功能将用例信息及步骤导出excel文档存档使用;同时总览界面提供用例执行状态、用例选取条件、优先级、负责人、版本、业务标签等丰富的筛选功能,方便测试人员进行快速定位。在用例管理中,可以对用例的基本信息进行编辑修改,可以对用例的步骤进行组装,通过关联关键字的方式使步骤可以自动化执行测试。对步骤进行标签化配置,通过选取特定标签的方式,可以局部批量执行测试步骤。当测试执行完成后,由系统自动生成当次执行简报,用户可通过执行历史界面,选择指定历史执行情况进入简报查看,该简报展示测试时间、总体耗时、成功百分比情况、各步骤的执行结果、耗时情况等信息。执行简报与测试报告不同,仅在用户手动点击报告生成时,才会生成详尽的测试报告。
S104、根据预设排序规则选择测试用例并生成执行计划表,基于执行计划表、预设执行方式和测试脚本自动利用测试数据对待测软件进行测试。
作为本实施例的一实施方式,步骤S104可以进行下述操作:
第1步,读取用例总表与用例执行结果表。
第2步,根据测试用例优先级降序排序,用例执行次数升序排序选择用例,同时根据输入的计划执行时间以及用例执行耗时(源于用例执行结果表)自动计算排入用例个数。
第3步,并生成执行计划表同时插入数据库用于前端展示。
作为本实施例的另一实施方式,步骤S104还可以进行下述操作:
第1步,调度:选择不同的执行方式(定时、实时、连续)进行不限次数(可配置)的自动化执行,各测试步骤通过总控页面调度执行,支持选择执行,同时会将测试步骤执行情况(成功/不成功、执行耗时)落入数据库,用于事后的查看与统计,并支持前端的监控展示。
第2步,监控:过程中实时监控应用状态,日志状态以及主机资源占用情况,一旦超出设定的阀值则进行预警,同时把监控数据写入数据库做持久化保存,并支持前端的监控展示。
第3步,检查:调用测试结果检查脚本,将所有检查结果获取到后统一存放到测试结果目录。
优选地,可以在测试执行界面,按标签选择特定用例编组进行测试执行。测试执行可以通过手动触发立即执行、单次定时执行、连续定时执行,执行视图界面中可以对整个测试执行进行控制,也可对单步进行控制。当配置执行监控器时,系统会自动记录对应监控对象的数据,可在测试完成后的执行视图中查看,或者在监控视图中实时查看。测试执行完成后,系统会自动根据测试情况生成执行简报,供用户查看当此执行情况;在用户点击生成测试报告后,由系统将步骤情况、监控数据、指标结果等汇总以详尽的图表方式呈现。
在一种可选地实施方式中,本实施例的软件测试方法还包括:
S201、汇总待测软件的测试结果,并根据指标数据对测试结果进行对比,以生成并展示对比结果。
作为本实施例的另一实施方式,步骤S201可以进行下述操作:
第1步,将线下的各类python脚本上传到线上脚本仓库。
第2步,通过配置关键字属性,将脚本仓库中的各个脚本与系统进行关联管理,同时可以配置关键字是否组内私有。
第3步,通过配置关键字参数,使得实际使用的参数能够传入脚本中执行。
优选地,可以在报告总览中可以看到历次生成的测试报告,对测试报告可以进行查看、删除、归档等操作。进入指定测试报告可以通过测试视图查看测试总览信息、步骤预期及结果、执行日志、指标结果。进入监控视图,可查看到对应报告的监控数据,包括错误日志监控数据、测试主机系统资源监控数据、进程情况等信息。通过比对视图,可以选取多个测试报告,将对应指标、监控数据对比展示,提供丰富的图表内容进行展示。报告存档可以将线上的报告内容生成到html静态页面,用于线下归档使用。
在一种可选地实施方式中,本实施例的软件测试方法还包括:
S301、配置登录用户及用户组的测试权限。
为本实施例的另一实施方式,步骤S301可以进行下述操作:
第1步,用户及用户组管理,配置登录用户及用户组,各用户组间数据隔离,同用户组内可共享用例、测试执行情况、测试报告数据。
第2步,账密参数管理,可存储标准化的测试主机、测试数据库配置,主要属性有主机名、主机类型、ip、账密等,可快速适配到指定执行用例对应参数中。
第3步,自定义参数组管理,用户组内共享的参数集合,可快速在用例执行中切换不同的参数组进行测试执行。
本实施例通过合并不同环境源的第一数据和/或设计生成的第二数据以得到测试数据,再配置关键字,从而确定测试用例模板以对用例信息、用例步骤进行导入,并将用例步骤与关键字关联,最后根据预设排序规则选择测试用例并生成执行计划表,基于执行计划表、预设执行方式和测试脚本自动利用测试数据对待测软件进行测试,进而实现了测试过程自动化,减少人工干预,且经过多轮迭代,最终能覆盖所有测试用例,减少漏测率,避免软件功能存在测试盲区,从而提高了功能测试的全面性为智能化测试、精准测试提供了基础。
本实施例所提供的软件测试方法可以在智能终端、计算机终端、网络设备、芯片、芯片模组或者类似的运算装置中执行。
实施例3
图3为本发明实施例3提供的一种电子设备的结构示意图。电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现实施例2的软件测试方法。图3显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图3所示,电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同系统组件(包括存储器32和处理器31)的总线33。
总线33包括数据总线、地址总线和控制总线。
存储器32可以包括易失性存储器,例如随机存取存储器(RAM)321和/或高速缓存存储器322,还可以进一步包括只读存储器(ROM)323。
存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例2的软件测试方法。
电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图3所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例4
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现实施例2的软件测试方法中的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行实现实施例2的软件测试方法中的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (10)
1.一种软件测试系统,其特征在于,所述软件测试系统用于测试待测软件,所述软件测试系统包括测试数据管理模块、测试关键字管理模块、测试用例管理模块、测试执行管理模块;
所述测试数据管理模块,用于根据测试用例获取若干个第一数据或若干个第二数据,将所述若干个第一数据或所述若干个第二数据合并以得到测试数据;其中,所述若干个第一数据为来自不同环境源的数据,所述若干个第二数据为设计生成的且覆盖所有测试属性的数据;
所述测试关键字管理模块,用于配置关键字;其中,所述关键字包括关键字信息、测试脚本、参数中至少一种;
所述测试用例管理模块,用于确定测试用例模板以对用例信息、用例步骤进行导入,并将所述用例步骤与所述关键字关联;
所述测试执行管理模块,用于根据预设排序规则选择所述测试用例并生成执行计划表,基于所述执行计划表、预设执行方式和所述测试脚本自动利用所述测试数据对所述待测软件进行测试。
2.如权利要求1所述的软件测试系统,其特征在于,所述软件测试系统还包括测试报告管理模块;
所述测试报告管理模块,用于汇总所述待测软件的测试结果,并根据指标数据对所述测试结果进行对比,以生成并展示对比结果。
3.如权利要求1所述的软件测试系统,其特征在于,所述软件测试系统还包括用户管理模块;
所述用户管理模块,用于配置登录用户及用户组的测试权限。
4.如权利要求1所述的软件测试系统,其特征在于,所述测试数据管理模块还用于对所述第一数据或所述第二数据进行去重,并根据所述测试用例从去重后的所述第一数据或所述第二数据中动态挑选对应目标数据,将所述目标数据进行合并以得到所述测试数据。
5.一种软件测试方法,其特征在于,所述软件测试方法用于测试待测软件,所述软件测试方法包括:
根据测试用例获取若干个第一数据或若干个第二数据,将所述若干个第一数据或所述若干个第二数据合并以得到测试数据;其中,所述若干个第一数据为来自不同环境源的数据,所述若干个第二数据为设计生成的且覆盖所有测试属性的数据;
配置关键字;其中,所述关键字包括关键字信息、测试脚本、参数中至少一种;
确定测试用例模板以对用例信息、用例步骤进行导入,并将所述用例步骤与所述关键字关联;
根据预设排序规则选择所述测试用例并生成执行计划表,基于所述执行计划表、预设执行方式和所述测试脚本自动利用所述测试数据对所述待测软件进行测试。
6.如权利要求5所述的软件测试方法,其特征在于,所述软件测试方法还包括:
汇总所述待测软件的测试结果,并根据指标数据对所述测试结果进行对比,以生成并展示对比结果。
7.如权利要求5所述的软件测试方法,其特征在于,所述软件测试方法还包括:
配置登录用户及用户组的测试权限。
8.如权利要求5所述的软件测试方法,其特征在于,所述合并不同环境源的第一数据和/或设计生成的第二数据以得到测试数据包括:
对所述第一数据和/或所述第二数据进行去重,并根据所述测试用例从去重后的所述第一数据和/或所述第二数据中动态挑选对应目标数据,将所述目标数据进行合并以得到所述测试数据。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行计算机程序时实现如权利要求5-8中任一项所述的软件测试方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求5-8中任一项所述的软件测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211282938.8A CN115757090A (zh) | 2022-10-19 | 2022-10-19 | 软件测试系统、方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211282938.8A CN115757090A (zh) | 2022-10-19 | 2022-10-19 | 软件测试系统、方法、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115757090A true CN115757090A (zh) | 2023-03-07 |
Family
ID=85353992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211282938.8A Pending CN115757090A (zh) | 2022-10-19 | 2022-10-19 | 软件测试系统、方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115757090A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117573533A (zh) * | 2023-11-20 | 2024-02-20 | 北京国科天迅科技股份有限公司 | 测试用例设计方法、装置、电子设备及存储介质 |
-
2022
- 2022-10-19 CN CN202211282938.8A patent/CN115757090A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117573533A (zh) * | 2023-11-20 | 2024-02-20 | 北京国科天迅科技股份有限公司 | 测试用例设计方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108959564B (zh) | 数据仓库元数据管理方法、可读存储介质和计算机设备 | |
US20190317944A1 (en) | Methods and apparatus for integrated management of structured data from various sources and having various formats | |
CN102323945B (zh) | 一种基于sql的数据库管理方法和装置 | |
CN101876943B (zh) | 识别大型机环境中多个相关应用之间的关系的系统和方法 | |
US20230129123A1 (en) | Monitoring and Management System for Automatically Generating an Issue Prediction for a Trouble Ticket | |
CN110807067A (zh) | 关系型数据库和数据仓库的数据同步方法、装置及设备 | |
EP2779044A1 (en) | System and method to provide management of test data at various lifecycle stages | |
CN113326247B (zh) | 云端数据的迁移方法、装置及电子设备 | |
CN115757090A (zh) | 软件测试系统、方法、设备及介质 | |
CN115408367A (zh) | 数据测试方法、存储介质和电子设备 | |
CN113010208B (zh) | 一种版本信息的生成方法、装置、设备及存储介质 | |
CN113742227A (zh) | 一种软件测试过程的控制方法、装置、设备和介质 | |
Kusuma et al. | Development of Web-Based Goods Inventory Information System to Improve Efficiency and Effectiveness of Inventory Management at Batam Cable Vision Company | |
CN111444099A (zh) | 数据不一致的分析方法、系统、电子设备和存储介质 | |
CN115438026A (zh) | 一种数据库扫描方法、装置、设备、存储介质及产品 | |
CN114021756A (zh) | 故障分析方法、装置和电子设备 | |
CN115168297A (zh) | 绕行日志审计方法及装置 | |
CN112559641A (zh) | 拉链表的处理方法及装置、可读存储介质及电子设备 | |
Tadano et al. | Automatic synthesis of SRN models from system operation templates for availability analysis | |
Fisher et al. | Monitoring of the National Ignition Facility Integrated Computer Control System | |
CN116577845B (zh) | 一种数值天气预报程序的交互式试验管理系统 | |
CN113641572B (zh) | 一种基于sql的海量大数据计算开发的调试方法 | |
CN115914379B (zh) | 一种数据交换装置及数据交换系统 | |
CN110704230B (zh) | 分布式多模块系统的诊断方法、系统、电子设备和介质 | |
CN116628518A (zh) | 一种数据一致性核验方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |