CN111008149B - 软件测试方法、软件测试装置及介质 - Google Patents

软件测试方法、软件测试装置及介质 Download PDF

Info

Publication number
CN111008149B
CN111008149B CN201911335715.1A CN201911335715A CN111008149B CN 111008149 B CN111008149 B CN 111008149B CN 201911335715 A CN201911335715 A CN 201911335715A CN 111008149 B CN111008149 B CN 111008149B
Authority
CN
China
Prior art keywords
software
tested
test
cache
result
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.)
Active
Application number
CN201911335715.1A
Other languages
English (en)
Other versions
CN111008149A (zh
Inventor
吴太振
黄兹檀
彭笑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Pinwei Software Co Ltd
Original Assignee
Guangzhou Pinwei Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Pinwei Software Co Ltd filed Critical Guangzhou Pinwei Software Co Ltd
Priority to CN201911335715.1A priority Critical patent/CN111008149B/zh
Publication of CN111008149A publication Critical patent/CN111008149A/zh
Application granted granted Critical
Publication of CN111008149B publication Critical patent/CN111008149B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种软件测试方法,包括以下步骤:获取待测软件的缓存参数,并基于预设规则修改所述缓存参数,以使所述待测软件出现缓存故障;获取所述待测软件在出现所述缓存故障时的响应结果;基于所述响应结果确定所述待测软件的测试结果。本发明还公开了一种软件测试装置及计算机可读存储介质,达成了简化软件健壮性测试的测试步骤的效果。

Description

软件测试方法、软件测试装置及介质
技术领域
本发明涉及软件测试技术领域,尤其涉及软件测试方法、软件测试装置及计算机可读存储介质。
背景技术
软件测试是一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。即一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
在传统的软件自动化测试过程中,只能控制软件正常执行,以确定软件在正常执行过程中,是否会出现错误。当需要测试软件的健壮性时,需要人工修改测试参数,并记录测试结果。这样存在软件健壮性测试的步骤繁琐的缺陷。
发明内容
本发明的主要目的在于提供一种软件测试方法、软件测试装置及计算机可读存储介质,旨在达成简化软件健壮性测试的测试步骤的效果。
为实现上述目的,本发明提供一种软件测试方法,所述软件测试方法包括以下步骤:
获取待测软件的缓存参数,并基于预设规则修改所述缓存参数,以使所述待测软件出现缓存故障;
获取所述待测软件在出现所述缓存故障时的响应结果;
基于所述响应结果确定所述待测软件的测试结果。
可选地,所述缓存参数包括端口号、端口IP和/或连接时长阈值。
可选地,所述预设规则包括以下至少一个:
将所述端口号修改为目标端口号;
将所述端口IP修改为目标端口IP;
将所述连接时长阈值修改为目标数值。
可选地,所述基于所述响应结果确定所述待测软件的测试结果的步骤包括:
在所述响应结果与预期响应匹配时,判定所述待测软件缓存异常处理功能正常;
在所述响应结果与所述预期响应不匹配时,判定所述待测软件缓存异常处理功能异常。
可选地,所述在所述响应结果与所述预期响应不匹配时,判定所述待测软件缓存异常处理功能异常的步骤之后,还包括:
获取测试用例的执行数据,根据所述执行数据确定所述待测软件的异常原因。
可选地,所述基于所述响应结果确定所述待测软件的测试结果的步骤之后,还包括:
根据所述测试结果生成健壮性测试报告,并输出所述健壮性测试报告。
此外,为实现上述目的,本发明还提供一种软件测试装置,所述软件测试装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的软件测试控制程序,所述软件测试控制程序被所述处理器执行时实现如上所述的软件测试方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有软件测试控制程序,所述软件测试控制程序被处理器执行时实现如上所述的软件测试方法的步骤。
本发明实施例提出的一种软件测试方法、软件测试装置及计算机可读存储介质,先获取待测软件的缓存参数,并基于预设规则修改所述缓存参数,以使所述待测软件出现缓存故障,然后获取所述待测软件在出现所述缓存故障时的响应结果,并基于所述响应结果确定所述待测软件的测试结果。由于可以自动修改待测软件的缓存参数,以使待测软件出现缓存故障,从而对待测软件进行基于缓存故障的健壮性测试。这样在达成了简化对软件进行健壮性测试的步骤的同时,还达成了提高软件测试过程中的代码覆盖率的效果。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图;
图2为本发明软件测试方法一实施例的流程示意图;
图3为本发明另一实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
由于在传统的软件自动化测试过程中,只能控制软件正常执行,以确定软件在正常执行过程中,是否会出现错误。当需要测试软件的健壮性时,需要人工修改测试参数,并记录测试结果。这样存在软件健壮性测试的步骤繁琐的缺陷。
为解决上述缺陷,本发明实施例提供一种软件测试方法、软件测试装置及计算机可读存储介质,其中,本发明实施例涉及的软件测试方法的主要解决方案为:
获取待测软件的缓存参数,并基于预设规则修改所述缓存参数,以使所述待测软件出现缓存故障;
获取所述待测软件在出现所述缓存故障时的响应结果;
基于所述响应结果确定所述待测软件的测试结果。
由于可以自动修改待测软件的缓存参数,以使待测软件出现缓存故障,从而对待测软件进行基于缓存故障的健壮性测试。这样在达成了简化对软件进行健壮性测试的步骤的同时,还达成了提高软件测试过程中的代码覆盖率的效果。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端可以是PC机或服务器等终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard)、鼠标等,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及软件测试控制程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;处理器1001可以用于调用存储器1005中存储的软件测试控制程序,并执行以下操作:
获取待测软件的缓存参数,并基于预设规则修改所述缓存参数,以使所述待测软件出现缓存故障;
获取所述待测软件在出现所述缓存故障时的响应结果;
基于所述响应结果确定所述待测软件的测试结果。
进一步地,处理器1001可以调用存储器1005中存储的软件测试控制程序,还执行以下操作:
在所述响应结果与预期响应匹配时,判定所述待测软件缓存异常处理功能正常;
在所述响应结果与所述预期响应不匹配时,判定所述待测软件缓存异常处理功能异常。
进一步地,处理器1001可以调用存储器1005中存储的软件测试控制程序,还执行以下操作:
获取测试用例的执行数据,根据所述执行数据确定所述待测软件的异常原因。
进一步地,处理器1001可以调用存储器1005中存储的软件测试控制程序,还执行以下操作:
根据所述测试结果生成健壮性测试报告,并输出所述健壮性测试报告。
参照图2,在本发明软件测试方法的一实施例中,所述软件测试方法包括以下步骤:
步骤S10、获取待测软件的缓存参数,并基于预设规则修改所述缓存参数,以使所述待测软件出现缓存故障;
步骤S20、获取所述待测软件在出现所述缓存故障时的响应结果;
步骤S30、基于所述响应结果确定所述待测软件的测试结果。
在本实施例中,当软件测试装置开始对待测软件进行健壮性测试时,可以先获取所述待测软件对应的缓存参数。其中,所述软件测试装置可以基于用户的手动控制触发健壮性测试,也可以基于测试控制软件或系统,自动触发健壮性测试进程。所述健壮性测试(Robustness Testing)又称为容错性测试(Fault Tolerance Testing),用于测试系统在出现故障时,是否能够自动恢复或者忽略故障继续运行。
可以理解的是,当所述待测软件(或者系统)在运行时,存着需要进缓存的数据。当所述待测软件进行数据缓存时,需要根据缓存参数,确定当前需要缓存的数据的缓存位置等。因此,所述缓存参数可以包括端口号,端口IP和/或连接时长阈值等。其中,所述连接时长阈值为缓存装置的预设响应时长,即在所述缓存装置的响应时长大于所述连接时长阈值,判定连接超时。
进一步,当获取到所述缓存参数后,可以基于预设规则对所述缓存参数进行修改,以使所述待测软件出现缓存故障。
具体地,所述预设规则可以设置为将所述端口号修改为目标端口号,将所述端口IP修改为目标端口IP,和/或将所述连接时长阈值修改为目标数值。
示例性地,可以将缓存参数中对应的Redis(Remote Dictionary Server远程字典服务)端口的端口号,修改为目标端口号。其中,Redis是一个存储系统。支持存储多类型数据,例如string(字符串)、list(链表)、set(集合)、zset(sorted set,有序集合)和hash(哈希类型)。为了保证效率,数据都是缓存在内存中。
当缓存参数对应的Redis端口的端口号被修改后,待测软件在进行数据缓存时,会出现无法查询到对应Redis端口的缓存故障。
可选地,还可以修改缓存参数中对应的Mem Cache(一种分布式的高速缓存系统)端口的端口号,缓存参数中Redis端口和/或Mem Cache端口对应的端口IP,用于使所述待测软件在数据缓存过程中出现端口故障(缓存故障的一种类型)。另外,也可以修改缓存参数中对应的连接时长阈值,以使待测试软件出现连接超时的故障(缓存故障的另一种类型)。
进一步地,当待测软件出现缓存故障后,会调用对应的解决程序解决所述缓存故障。因此,可以获取待测软件的响应结果,并基于所述响应结果确定所述待测软件的测试结果。
具体地,当获取到所述待测软件在出现缓存故障时对应的响应结果后,可以判断所述响应结果是否与预期响应相匹配。在所述响应结果与预期响应匹配时,判定所述待测软件缓存异常处理功能正常,在所述响应结果与所述预期响应不匹配时,判定所述待测软件缓存异常处理功能异常。
可选地,在所述响应结果与所述预期响应不匹配时,软件测试装置判定所述待测软件缓存异常处理功能异常的情况下。软件测试装置可以进一步地获取软件测试装置当前执行的测试用例的执行数据,然后基于所述执行数据分析所述待测软件的异常原因。并输出所述异常原因。
在本实施例公开的技术方案中,先获取待测软件的缓存参数,并基于预设规则修改所述缓存参数,以使所述待测软件出现缓存故障,然后获取所述待测软件在出现所述缓存故障时的响应结果,并基于所述响应结果确定所述待测软件的测试结果。由于可以自动修改待测软件的缓存参数,以使待测软件出现缓存故障,从而对待测软件进行基于缓存故障的健壮性测试。这样在达成了简化对软件进行健壮性测试的步骤的同时,还达成了提高软件测试过程中的代码覆盖率的效果。
参照图3,基于上述实施例,在另一实施例中,所述步骤S30之后,还包括:
步骤S40、根据所述测试结果生成健壮性测试报告,并输出所述健壮性测试报告。
在本实施例中,可以预先设置健壮性测试报告模板,然后根据所述测试结果自动填写所述健壮性测试报告模板,以生成基于所述健壮性测试结果的健壮性测试报告。
在生产所述健壮性测试报告后,可以直接在软件测试装置对应的显示装置上输出所述健壮性测试报告。或者也可以在接收到查询指令时,在软件测试装置对应的显示装置上输出所述健壮性测试报告。还可以基于用户预先设定的通信地址,以微信推送,邮件推送等方式向用户推送所述健壮性测试报告。
在本实施例公开的技术方案中,可以根据所述测试结果生成健壮性测试报告,并输出所述健壮性测试报告。这样达成了可视化输出健壮性测试报告的效果。
此外,本发明实施例还提出一种软件测试装置,所述软件测试装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的软件测试控制程序,所述软件测试控制程序被所述处理器执行时实现如上各个实施例所述的软件测试方法的步骤。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有软件测试控制程序,所述软件测试控制程序被处理器执行时实现如上各个实施例所述的软件测试方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是PC或者服务器等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (6)

1.一种软件测试方法,其特征在于,所述软件测试方法包括以下步骤:
获取待测软件的缓存参数,并基于预设规则修改所述待测软件的缓存参数,以使所述待测软件出现缓存故障,其中,所述缓存参数包括端口号、端口IP和/或连接时长阈值;
获取所述待测软件在出现所述缓存故障时的响应结果;
基于所述响应结果确定所述待测软件的测试结果;其中,
所述基于所述响应结果确定所述待测软件的测试结果的步骤包括:
在所述响应结果与预期响应不匹配时,判定所述待测软件缓存异常处理功能异常;
获取测试用例的执行数据,根据所述执行数据确定所述待测软件的异常原因。
2.如权利要求1的软件测试方法,其特征在于,所述预设规则包括以下至少一个:
将所述端口号修改为目标端口号;
将所述端口IP修改为目标端口IP;
将所述连接时长阈值修改为目标数值。
3.如权利要求1的软件测试方法,其特征在于,所述基于所述响应结果确定所述待测软件的测试结果的步骤包括:
在所述响应结果与预期响应匹配时,判定所述待测软件缓存异常处理功能正常。
4.如权利要求1的软件测试方法,其特征在于,所述基于所述响应结果确定所述待测软件的测试结果的步骤之后,还包括:
根据所述测试结果生成健壮性测试报告,并输出所述健壮性测试报告。
5.一种软件测试装置,其特征在于,所述软件测试装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的软件测试控制程序,所述软件测试控制程序被所述处理器执行时实现如权利要求1至4中任一项所述的软件测试方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有软件测试控制程序,所述软件测试控制程序被处理器执行时实现如权利要求1至4中任一项所述的软件测试方法的步骤。
CN201911335715.1A 2019-12-20 2019-12-20 软件测试方法、软件测试装置及介质 Active CN111008149B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911335715.1A CN111008149B (zh) 2019-12-20 2019-12-20 软件测试方法、软件测试装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911335715.1A CN111008149B (zh) 2019-12-20 2019-12-20 软件测试方法、软件测试装置及介质

Publications (2)

Publication Number Publication Date
CN111008149A CN111008149A (zh) 2020-04-14
CN111008149B true CN111008149B (zh) 2023-08-22

Family

ID=70116802

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911335715.1A Active CN111008149B (zh) 2019-12-20 2019-12-20 软件测试方法、软件测试装置及介质

Country Status (1)

Country Link
CN (1) CN111008149B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183335A (zh) * 2007-12-25 2008-05-21 中兴通讯股份有限公司 一种实现嵌入式软件异常测试的方法及系统
CN106126432A (zh) * 2016-09-18 2016-11-16 网易(杭州)网络有限公司 软件开发项目中修改内容的测试方法及装置
CN108255730A (zh) * 2018-01-23 2018-07-06 平安普惠企业管理有限公司 软件接口测试方法、测试设备、存储介质及装置
CN109426607A (zh) * 2017-08-24 2019-03-05 比亚迪股份有限公司 软件测试方法、装置及轨道车辆

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183335A (zh) * 2007-12-25 2008-05-21 中兴通讯股份有限公司 一种实现嵌入式软件异常测试的方法及系统
CN106126432A (zh) * 2016-09-18 2016-11-16 网易(杭州)网络有限公司 软件开发项目中修改内容的测试方法及装置
CN109426607A (zh) * 2017-08-24 2019-03-05 比亚迪股份有限公司 软件测试方法、装置及轨道车辆
CN108255730A (zh) * 2018-01-23 2018-07-06 平安普惠企业管理有限公司 软件接口测试方法、测试设备、存储介质及装置

Also Published As

Publication number Publication date
CN111008149A (zh) 2020-04-14

Similar Documents

Publication Publication Date Title
CN109684847B (zh) 脚本漏洞的自动修复方法、装置、设备及存储介质
CN110730107B (zh) 测试数据生成方法、装置、计算机设备和存储介质
WO2017181591A1 (zh) 测试方法及系统
CN110888816B (zh) 程序测试方法、程序测试装置及存储介质
CN110569159A (zh) 挡板生成方法、装置、设备及计算机存储介质
CN110888817B (zh) 代码覆盖率报告的生成方法、装置和可读存储介质
WO2020233065A1 (zh) 网络环境测试方法、装置及终端设备
WO2019114209A1 (zh) 自动化测试分析方法、系统、应用服务器及计算机可读存储介质
CN110674506A (zh) 快速验证应用程序漏洞状态的方法及系统
CN108804315B (zh) 应用于动态开发的测试方法、装置、电子设备及存储介质
CN111045879A (zh) 压力测试报告的生成方法、装置及存储介质
CN110716843B (zh) 系统故障分析处理方法、装置、存储介质及电子设备
JP2016099857A (ja) 不正プログラム対策システムおよび不正プログラム対策方法
CN111090589A (zh) 软件测试方法、软件测试装置及可读存储介质
CN111008149B (zh) 软件测试方法、软件测试装置及介质
CN111061637B (zh) 接口测试方法、接口测试装置及存储介质
CN111756594B (zh) 压力测试的控制方法、计算机设备和计算机可读存储介质
CN111796857B (zh) 热补丁发布方法、装置、设备及存储介质
CN111124915B (zh) 覆盖率检测方法、覆盖率检测装置及存储介质
CN113849484A (zh) 一种大数据组件升级方法、装置、电子设备及存储介质
CN110362464B (zh) 软件分析方法及设备
CN113449308A (zh) 一种漏洞处理方法、装置、计算机设备及可读存储介质
CN115470095A (zh) 一种测试方法、系统、电子设备及计算机存储介质
WO2020109004A1 (en) Canary release for static content
CN113986603B (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
GR01 Patent grant
GR01 Patent grant