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

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

Info

Publication number
CN111078550A
CN111078550A CN201911251768.5A CN201911251768A CN111078550A CN 111078550 A CN111078550 A CN 111078550A CN 201911251768 A CN201911251768 A CN 201911251768A CN 111078550 A CN111078550 A CN 111078550A
Authority
CN
China
Prior art keywords
test
software
target module
integrated
tested
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
Application number
CN201911251768.5A
Other languages
English (en)
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.)
Shenzhen Onething Technology Co Ltd
Original Assignee
Shenzhen Onething Technology 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 Shenzhen Onething Technology Co Ltd filed Critical Shenzhen Onething Technology Co Ltd
Priority to CN201911251768.5A priority Critical patent/CN111078550A/zh
Publication of CN111078550A publication Critical patent/CN111078550A/zh
Pending legal-status Critical Current

Links

Images

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/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • 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/3684Test management for test design, e.g. generating new test cases
    • 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

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)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种软件测试方法,包括:获取待测软件,所述待测软件包括多个模块;从所述多个模块中确定目标模块和所述目标模块的测试指标;获取所述目标模块对应的测试软件;将所述目标模块和所述测试软件集成为集成测试软件;执行所述集成测试软件对所述目标模块进行测试,以及输出所述目标模块对应于所述测试指标的测试结果。本发明还提供一种软件测试装置、计算机装置及计算机可读存储介质。本发明可以对软件进行模块化测试,提升了软件测试效率。

Description

软件测试方法及装置、计算机装置及存储介质
技术领域
本发明涉及测试技术领域,具体涉及一种软件测试方法及装置、计算机装置和计算机可读存储介质。
背景技术
通常,开发人员在完成软件***的开发后,需要编写测试代码来对开发的软件***进行测试。软件***由多个模块构成,如果需要对其中一个模块进行测试,则需要对整个软件***进行重新构建并进行测试。对于大型软件***来说,每次重新构建整个软件***需要占用开发人员的大量时间。如果仅仅修改软件***中的一个模块,需要对整个***进行测试,也会占用开发人员的大量时间,降低其工作效率。
发明内容
鉴于以上内容,有必要提出一种软件测试方法、软件测试装置、计算机装置、计算机可读存储介质和计算机程序产品,其可以对软件进行模块化测试,提升测试效率。
本申请的第一方面提供一种软件测试方法,所述方法包括:
获取待测软件,所述待测软件包括多个模块;
从所述多个模块中确定目标模块和所述目标模块的测试指标;
获取所述目标模块对应的测试软件;
将所述目标模块和所述测试软件集成为集成测试软件;
执行所述集成测试软件对所述目标模块进行测试,以及输出所述目标模块对应于所述测试指标的测试结果。
另一种可能的实现方式中,所述从所述多个模块中确定目标模块和所述目标模块的测试指标包括:
接收模块选择指令;
根据所述模块选择指令获取所述目标模块和所述目标模块的测试指标。
另一种可能的实现方式中,所述测试软件的测试指标包括所述目标模块的测试指标。
另一种可能的实现方式中,所述将所述目标模块和所述测试软件集成为集成测试软件包括:
对所述目标模块进行编译,得到所述目标模块的链接库;
将所述测试软件与所述链接库连接;
编译连接所述链接库的所述测试软件,得到所述集成测试软件,所述集成测试软件为可执行文件。
另一种可能的实现方式中,所述目标模块的链接库包括静态链接库和动态链接库。
另一种可能的实现方式中,所述方法还包括:
将所述集成测试软件配置到自动测试平台;
若所述集成测试软件变更,用所述自动测试平台对所述集成测试软件进行测试,使所述自动测试平台输出所述目标模块对应于所述测试指标的测试结果。
另一种可能的实现方式中,所述自动测试平台包括分布式版本控制***,所述方法还包括:
选择所述分布式版本控制***中存在所述集成测试软件的代码分支进行测试。
本申请的第二方面提供一种计算机装置,所述计算机装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现所述软件测试方法。
本申请的第三方面提供一种软件测试装置,所述装置包括:
第一获取单元,用于获取待测软件,所述待测软件包括多个模块;
确定单元,用于从所述多个模块中确定目标模块和所述目标模块的测试指标;
第二获取单元,用于获取所述目标模块对应的测试软件;
集成单元,用于将所述目标模块和所述测试软件集成为集成测试软件;
执行单元,用于执行所述集成测试软件对所述目标模块进行测试,以及输出所述目标模块对应于所述测试指标的测试结果。
另一种可能的实现方式中,所述从所述多个模块中确定目标模块和所述目标模块的测试指标包括:
接收模块选择指令;
根据所述模块选择指令获取所述目标模块和所述目标模块的测试指标。
另一种可能的实现方式中,所述测试软件的测试指标包括所述目标模块的测试指标。
另一种可能的实现方式中,所述将所述目标模块和所述测试软件集成为集成测试软件包括:
对所述目标模块进行编译,得到所述目标模块的链接库;
将所述测试软件与所述链接库连接;
编译连接所述链接库的所述测试软件,得到所述集成测试软件,所述集成测试软件为可执行文件。
另一种可能的实现方式中,所述目标模块的链接库包括静态链接库和动态链接库。
另一种可能的实现方式中,所述软件测试装置还包括测试单元,用于将所述集成测试软件配置到自动测试平台;
若所述集成测试软件变更,用所述自动测试平台对所述集成测试软件进行测试,使所述自动测试平台输出所述目标模块对应于所述测试指标的测试结果。
另一种可能的实现方式中,所述自动测试平台包括分布式版本控制***,所述方法还包括:
选择所述分布式版本控制***中存在所述集成测试软件的代码分支进行测试。
本申请的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述软件测试方法。
本申请的第五方面提供一种计算机程序产品,包括计算机指令,当其在计算机装置上运行时,使得计算机装置执行所述软件测试方法。
本发明获取待测软件,所述待测软件包括多个模块;从所述多个模块中确定目标模块和所述目标模块的测试指标;获取所述目标模块对应的测试软件;将所述目标模块和所述测试软件集成为集成测试软件;执行所述集成测试软件对所述目标模块进行测试,以及输出所述目标模块对应于所述测试指标的测试结果。本发明对软件进行模块化测试,提升了软件测试效率。
附图说明
图1是本发明实施例提供的软件测试方法较佳实施例的流程图。
图2是本发明实施例提供的软件测试装置较佳实施例的流程图。
图3是本发明实施例提供的计算机装置较佳实施例的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
优选地,本发明的软件测试方法应用在一个或者多个计算机装置中。所述计算机装置是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机装置可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述计算机装置可以是组成CDN(Content Delivery Network,内容分发网络)网络或者区块链网络的节点。
实施例一
图1是本发明实施例提供的软件测试方法的流程图。所述软件测试方法应用于计算机装置中,用于对软件进行模块化测试。
参阅1所示,所述软件测试方法具体包括以下步骤:
101,获取待测软件,所述待测软件包括多个模块。
可以接收测试指令,根据测试指令中的待测软件标识从代码仓库获取所述待测软件。所述待测软件标识可以唯一标识一个待测软件,所述待测软件标识具体可以是待测软件的名称、序列号等。
具体的,代码仓库可以是用于存储代码的区域。
在一具体实施例中,所述测试指令可以根据用户的触发操作发出,例如,用户在用户界面中选择或输入了待测软件标识,则可以接收到用户界面发出的测试指令。所述测试指令也可以自动生成。例如,在预设时间自动生成包括待测软件标识的测试指令;或者,当检测到执行待测软件的服务器的性能指标超出预设指标范围时,自动生成包括待测软件标识的测试指令。
所述待测软件可以包括多个模块,例如,一个网上商城软件可以包括商品管理模块、订单管理模块、支付模块和物流模块等。
102,从所述多个模块中确定目标模块和所述目标模块的测试指标。
在一具体实施例中,所述从所述多个模块中确定目标模块包括:
接收模块选择指令;
根据所述模块选择指令获取所述目标模块和所述目标模块的测试指标。
例如,可以接收用户输入的模块选择指令,获取模块选择指令中模块标识对应的模块,从预设指标中获取模块选择指令中的指标标识对应的指标。
在另一实施例中,所述多个模块存在对应的测试标识,用以标识模块是否经过测试;可以根据所述测试标识从所述多个模块中获取未经过测试的一个模块。
所述目标模块的测试指标可以包括性能指标、安全指标、稳定指标等。所述性能指标可以包括QPS(每秒查询率,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准)、CPU(中央处理器)占用率、内存使用率等。
103,获取所述目标模块对应的测试软件。
在一具体实施例中,所述测试软件的测试指标包括所述目标模块的测试指标,可以使所述测试软件的可测试范围包括所述目标模块的预测试范围。所述目标模块的测试指标是所述目标模块需要测试的指标,所述测试软件的测试指标是所述测试软件能够进行测试的指标,所述测试软件可以在与所述目标模块集成后对所述目标模块进行测试,测试的范围为所述测试软件的测试指标。
104,将所述目标模块和所述测试软件集成为集成测试软件。
在一具体实施例中,所述将所述目标模块和所述测试软件集成为集成测试软件包括:
对所述目标模块进行编译,得到所述目标模块的链接库;
将所述测试软件与所述链接库连接;
编译连接所述链接库的所述测试软件,得到所述集成测试软件,所述集成测试软件为可执行文件。
例如,可执行文件可以为JAVA虚拟机(JVM)中的class文件。
在另一实施例中,所述目标模块的链接库可以包括:静态链接库或动态链接库。动态链接库是一个包含有可供多个程序同时使用的代码和数据的库;动态链接库提供了一种使进程可以调用不属于其可执行代码的函数的方法。在静态链接库里,函数和数据被编译到一个二进制文件,在连接过程中,编译器将从静态链接库中恢复这些函数和数据,并把恢复的函数、数据和所述测试软件的其他模块组合在一起,生成可执行文件。静态链接库可以不与可执行文件一起发行。
105,执行所述集成测试软件对所述目标模块进行测试,以及输出所述目标模块对应于所述测试指标的测试结果。
在一具体实施例中,当所述集成测试软件的执行结果为异常时,判断对所述目标模块的测试未通过。例如,集成测试软件执行过程中,输出exception(异常),则对目标模块对应于测试指标的测试未通过。
在另一实施例中,当测试的所述目标模块的QPS、CPU占用率或内存使用率超出预设范围,则对所述目标模块的测试未通过。
在另一实施例中,当对所述目标模块的测试未通过时,通过邮件将所述测试结果发送至预设邮件地址。
本实施例可以单独对待测软件中的模块进行测试,避免了对待测试软件进行重新构建,从而减少了测试待测软件的时间,提升了测试效率。
实施例一的软件测试方法获取待测软件,所述待测软件包括多个模块;从所述多个模块中确定目标模块和所述目标模块的测试指标;获取所述目标模块对应的测试软件;将所述目标模块和所述测试软件集成为集成测试软件;执行所述集成测试软件对所述目标模块进行测试,以及输出所述目标模块对应于所述测试指标的测试结果。实施例一对软件进行模块化测试,提升了软件测试效率。
在另一实施例中,所述软件测试方法还可以包括:
将所述集成测试软件配置到自动测试平台;
若所述集成测试软件变更,用所述自动测试平台对所述集成测试软件进行测试,使所述自动测试平台输出所述目标模块对应于所述测试指标的测试结果。
例如,将集成测试软件配置到自动测试平台,当集成测试软件中的目标模块改动了一行代码,用自动测试平台对集成测试软件进行重新测试,使自动测试平台输出对所述目标模块对应于测试指标的测试结果,以此提升测试的效率,避免用户对所述待测软件进行多次测试。
在另一实施例中,所述自动测试平台包括分布式版本控制***,所述软件测试方法还可以包括:
选择所述分布式版本控制***中存在所述集成测试软件的代码分支进行测试。
所述分布式版本控制***可以是Git(一个开放源码的版本控制软件,支持从服务器上克隆完整的Git仓库到单机上,并支持创建代码分支,以及合并代码分支)。
实施例二
图2为本发明实施例提供的软件测试装置较佳实施例的结构图。所述软件测试装置10应用于计算机装置中,用于对软件进行模块化测试。
如图2所示,所述软件测试装置10可以包括:第一获取单元201、确定单元202、第二获取单元203、集成单元204、执行单元205。
第一获取单元201,用于获取待测软件,所述待测软件包括多个模块。
可以接收测试指令,根据测试指令中的待测软件标识从代码仓库获取所述待测软件。所述待测软件标识可以唯一标识一个待测软件,所述待测软件标识具体可以是待测软件的名称、序列号等。
具体的,代码仓库可以是用于存储代码的区域。
在一具体实施例中,所述测试指令可以根据用户的触发操作发出,例如,用户在用户界面中选择或输入了待测软件标识,则可以接收到用户界面发出的测试指令。所述测试指令也可以自动生成。例如,在预设时间自动生成包括待测软件标识的测试指令;或者,当检测到执行待测软件的服务器的性能指标超出预设指标范围时,自动生成包括待测软件标识的测试指令。
所述待测软件可以包括多个模块,例如,一个网上商城软件可以包括商品管理模块、订单管理模块、支付模块和物流模块等。
确定单元202,用于从所述多个模块中确定目标模块和所述目标模块的测试指标。
在一具体实施例中,所述从所述多个模块中确定目标模块包括:
接收模块选择指令;
根据所述模块选择指令获取所述目标模块和所述目标模块的测试指标。
例如,可以接收用户输入的模块选择指令,获取模块选择指令中模块标识对应的模块,从预设指标中获取模块选择指令中的指标标识对应的指标。
在另一实施例中,所述多个模块存在对应的测试标识,用以标识模块是否经过测试;可以根据所述测试标识从所述多个模块中获取未经过测试的一个模块。
所述目标模块的测试指标可以包括性能指标、安全指标、稳定指标等。所述性能指标可以包括QPS(每秒查询率,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准)、CPU(中央处理器)占用率、内存使用率等。
第二获取单元203,用于获取所述目标模块对应的测试软件。
在一具体实施例中,所述测试软件的测试指标包括所述目标模块的测试指标,可以使所述测试软件的可测试范围包括所述目标模块的预测试范围。所述目标模块的测试指标是所述目标模块需要测试的指标,所述测试软件的测试指标是所述测试软件能够进行测试的指标,所述测试软件可以在与所述目标模块集成后对所述目标模块进行测试,测试的范围为所述测试软件的测试指标。
集成单元204,用于将所述目标模块和所述测试软件集成为集成测试软件。
在一具体实施例中,所述将所述目标模块和所述测试软件集成为集成测试软件包括:
对所述目标模块进行编译,得到所述目标模块的链接库;
将所述测试软件与所述链接库连接;
编译连接所述链接库的所述测试软件,得到所述集成测试软件,所述集成测试软件为可执行文件。
例如,可执行文件可以为JAVA虚拟机(JVM)中的class文件。
在另一实施例中,所述目标模块的链接库可以包括:静态链接库或动态链接库。动态链接库是一个包含有可供多个程序同时使用的代码和数据的库;动态链接库提供了一种使进程可以调用不属于其可执行代码的函数的方法。在静态链接库里,函数和数据被编译到一个二进制文件,在连接过程中,编译器将从静态链接库中恢复这些函数和数据,并把恢复的函数、数据和所述测试软件的其他模块组合在一起,生成可执行文件。静态链接库可以不与可执行文件一起发行。
执行单元205,用于执行所述集成测试软件对所述目标模块进行测试,以及输出所述目标模块对应于所述测试指标的测试结果。
在一具体实施例中,当所述集成测试软件的执行结果为异常时,判断对所述目标模块的测试未通过。例如,集成测试软件执行过程中,输出exception(异常),则对目标模块对应于测试指标的测试未通过。
在另一实施例中,当测试的所述目标模块的QPS、CPU占用率或内存使用率超出预设范围,则对所述目标模块的测试未通过。
在另一实施例中,当对所述目标模块的测试未通过时,通过邮件将所述测试结果发送至预设邮件地址。
本实施例可以单独对待测软件中的模块进行测试,避免了对待测试软件进行重新构建,从而减少了测试待测软件的时间,提升了测试效率。
实施例二的软件测试装置10获取待测软件,所述待测软件包括多个模块;从所述多个模块中确定目标模块和所述目标模块的测试指标;获取所述目标模块对应的测试软件;将所述目标模块和所述测试软件集成为集成测试软件;执行所述集成测试软件对所述目标模块进行测试,以及输出所述目标模块对应于所述测试指标的测试结果。实施例二对软件进行模块化测试,提升测试效率。
在另一实施例中,所述软件测试装置还包括测试单元,用于将所述集成测试软件配置到自动测试平台;若所述集成测试软件变更,用所述自动测试平台对所述集成测试软件进行测试,使所述自动测试平台输出所述目标模块对应于所述测试指标的测试结果。
例如,将集成测试软件配置到自动测试平台,当集成测试软件中的目标模块改动了一行代码,用自动测试平台对集成测试软件进行重新测试,使自动测试平台输出对所述目标模块对应于测试指标的测试结果,以此提升测试的效率,避免用户对所述待测软件进行多次测试。
在另一实施例中,所述自动测试平台包括分布式版本控制***,所述测试单元还用于选择所述分布式版本控制***中存在所述集成测试软件的代码分支进行测试。
所述分布式版本控制***可以是Git(一个开放源码的版本控制软件,支持从服务器上克隆完整的Git仓库到单机上,并支持创建代码分支,以及合并代码分支)。
实施例三
本实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述软件测试方法实施例中的步骤,例如图1所示的101-105:
101,获取待测软件,所述待测软件包括多个模块;
102,从所述多个模块中确定目标模块和所述目标模块的测试指标;
103,获取所述目标模块对应的测试软件;
104,将所述目标模块和所述测试软件集成为集成测试软件;
105,执行所述集成测试软件对所述目标模块进行测试,以及输出所述目标模块对应于所述测试指标的测试结果。
或者,该计算机程序被处理器执行时实现上述装置实施例中各模块/单元的功能,例如图2中的单元201-205:
第一获取单元201,用于获取待测软件,所述待测软件包括多个模块;
确定单元202,用于从所述多个模块中确定目标模块和所述目标模块的测试指标;
第二获取单元203,用于获取所述目标模块对应的测试软件;
集成单元204,用于将所述目标模块和所述测试软件集成为集成测试软件;
执行单元205,用于执行所述集成测试软件对所述目标模块进行测试,以及输出所述目标模块对应于所述测试指标的测试结果。
实施例四
图3为本发明实施例提供的计算机装置的示意图。所述计算机装置1包括存储器20、处理器30、总线50以及存储在所述存储器20中并可在所述处理器30上运行的计算机程序40,例如shell执行权限获取程序。所述处理器30执行所述计算机程序40时实现上述软件测试方法实施例中的步骤,例如图1所示的101-105:
101,获取待测软件,所述待测软件包括多个模块;
102,从所述多个模块中确定目标模块和所述目标模块的测试指标;
103,获取所述目标模块对应的测试软件;
104,将所述目标模块和所述测试软件集成为集成测试软件;
105,执行所述集成测试软件对所述目标模块进行测试,以及输出所述目标模块对应于所述测试指标的测试结果。
或者,所述处理器30执行所述计算机程序40时实现上述装置实施例中各模块/单元的功能,例如图2中的单元201-205:
第一获取单元201,用于获取待测软件,所述待测软件包括多个模块;
确定单元202,用于从所述多个模块中确定目标模块和所述目标模块的测试指标;
第二获取单元203,用于获取所述目标模块对应的测试软件;
集成单元204,用于将所述目标模块和所述测试软件集成为集成测试软件;
执行单元205,用于执行所述集成测试软件对所述目标模块进行测试,以及输出所述目标模块对应于所述测试指标的测试结果。
示例性的,所述计算机程序40可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器20中,并由所述处理器30执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序40在所述计算机装置1中的执行过程。例如,所述计算机程序40可以被分割成图2中的第一获取单元201、确定单元202、第二获取单元203、集成单元204、执行单元205,各单元具体功能参见实施例二。
所述计算机装置1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备等终端设备。在本实施例,所述计算机装置1可以是边缘服务器。
所称处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器30也可以是任何常规的处理器等,所述处理器30是所述计算机装置1的控制中心,利用各种接口和线路连接整个计算机装置1的各个部分。
所述存储器20可用于存储所述计算机程序40和/或模块/单元,所述处理器30通过运行或执行存储在所述存储器20内的计算机程序和/或模块/单元,以及调用存储在存储器20内的数据,实现所述计算机装置1的各种功能。所述存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机装置1的使用所创建的数据(比如音频数据等)等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
所述总线50以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述总线50可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,计算机装置1还可以包括网络接口,网络接口可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该计算机装置1与其他电子设备之间建立通信连接。
可选地,该计算机装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在计算机装置1中处理的信息以及用于显示可视化的用户界面。
本领域技术人员可以理解,所述示意图3仅仅是计算机装置1的示例,并不构成对计算机装置1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机装置上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机装置可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种软件测试方法,其特征在于,所述方法包括:
获取待测软件,所述待测软件包括多个模块;
从所述多个模块中确定目标模块和所述目标模块的测试指标;
获取所述目标模块对应的测试软件;
将所述目标模块和所述测试软件集成为集成测试软件;
执行所述集成测试软件对所述目标模块进行测试,以及输出所述目标模块对应于所述测试指标的测试结果。
2.如权利要求1所述的方法,其特征在于,所述从所述多个模块中确定目标模块和所述目标模块的测试指标包括:
接收模块选择指令;
根据所述模块选择指令获取所述目标模块和所述目标模块的测试指标。
3.如权利要求1所述的方法,其特征在于,所述测试软件的测试指标包括所述目标模块的测试指标。
4.如权利要求1所述的方法,其特征在于,所述将所述目标模块和所述测试软件集成为集成测试软件包括:
对所述目标模块进行编译,得到所述目标模块的链接库;
将所述测试软件与所述链接库连接;
编译连接所述链接库的所述测试软件,得到所述集成测试软件,所述集成测试软件为可执行文件。
5.如权利要求4所述的方法,其特征在于,所述目标模块的链接库包括静态链接库和动态链接库。
6.如权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
将所述集成测试软件配置到自动测试平台;
若所述集成测试软件变更,用所述自动测试平台对所述集成测试软件进行测试,使所述自动测试平台输出所述目标模块对应于所述测试指标的测试结果。
7.如权利要求6所述的方法,其特征在于,所述自动测试平台包括分布式版本控制***,所述方法还包括:
选择所述分布式版本控制***中存在所述集成测试软件的代码分支进行测试。
8.一种计算机装置,其特征在于,所述计算机装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-7中任一项所述软件测试方法。
9.一种软件测试装置,其特征在于,所述装置包括:
第一获取单元,用于获取待测软件,所述待测软件包括多个模块;
确定单元,用于从所述多个模块中确定目标模块和所述目标模块的测试指标;
第二获取单元,用于获取所述目标模块对应的测试软件;
集成单元,用于将所述目标模块和所述测试软件集成为集成测试软件;
执行单元,用于执行所述集成测试软件对所述目标模块进行测试,以及输出所述目标模块对应于所述测试指标的测试结果。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述软件测试方法。
CN201911251768.5A 2019-12-09 2019-12-09 软件测试方法及装置、计算机装置及存储介质 Pending CN111078550A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911251768.5A CN111078550A (zh) 2019-12-09 2019-12-09 软件测试方法及装置、计算机装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911251768.5A CN111078550A (zh) 2019-12-09 2019-12-09 软件测试方法及装置、计算机装置及存储介质

Publications (1)

Publication Number Publication Date
CN111078550A true CN111078550A (zh) 2020-04-28

Family

ID=70313414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911251768.5A Pending CN111078550A (zh) 2019-12-09 2019-12-09 软件测试方法及装置、计算机装置及存储介质

Country Status (1)

Country Link
CN (1) CN111078550A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022257871A1 (zh) * 2021-06-11 2022-12-15 华为技术有限公司 一种错误检测方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1851666A (zh) * 2005-11-01 2006-10-25 华为技术有限公司 一种实现软件自动测试的方法及***
CN101334753A (zh) * 2007-06-26 2008-12-31 中兴通讯股份有限公司 一种单元测试方法及其装置
US20110219359A1 (en) * 2010-03-04 2011-09-08 Oracle International Corporation Identifying test cases to be run after changes to modules of a software application
CN103106137A (zh) * 2011-11-15 2013-05-15 上海宝康电子控制工程有限公司 计算机模块化软件***中实现自动化单元测试的方法
CN108255699A (zh) * 2017-03-27 2018-07-06 平安科技(深圳)有限公司 回归测试方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1851666A (zh) * 2005-11-01 2006-10-25 华为技术有限公司 一种实现软件自动测试的方法及***
CN101334753A (zh) * 2007-06-26 2008-12-31 中兴通讯股份有限公司 一种单元测试方法及其装置
US20110219359A1 (en) * 2010-03-04 2011-09-08 Oracle International Corporation Identifying test cases to be run after changes to modules of a software application
CN103106137A (zh) * 2011-11-15 2013-05-15 上海宝康电子控制工程有限公司 计算机模块化软件***中实现自动化单元测试的方法
CN108255699A (zh) * 2017-03-27 2018-07-06 平安科技(深圳)有限公司 回归测试方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022257871A1 (zh) * 2021-06-11 2022-12-15 华为技术有限公司 一种错误检测方法及相关装置

Similar Documents

Publication Publication Date Title
KR102317535B1 (ko) 소프트웨어 개발 키트로 데이터 추적을 구현하는 방법 및 시스템
CN108920370B (zh) 兼容性问题检测方法、装置及设备
US20080301502A1 (en) System crash analysis using path tracing technologies
CN110908865A (zh) 内存泄漏监控方法、装置及电子设备
CN110474900B (zh) 一种游戏协议测试方法及装置
US20150186195A1 (en) Method of analysis application object which computer-executable, server performing the same and storage media storing the same
CN109271789A (zh) 恶意进程检测方法、装置、电子设备及存储介质
CN111767056A (zh) 一种源码编译方法、可执行文件运行方法及终端设备
CN110704303B (zh) 一种测试覆盖度信息的获取方法及装置
CN110889116A (zh) 一种广告拦截方法、装置及电子设备
CN109522086B (zh) 对窗口的操作方法和装置、计算机装置及可读存储介质
CN111078550A (zh) 软件测试方法及装置、计算机装置及存储介质
CN110874365A (zh) 一种信息查询方法及其相关设备
CN111352668A (zh) 基于插件的设备测试方法及装置、基于插件的测试***
CN109582347B (zh) 一种获取前端代码的方法及装置
CN110879701A (zh) 工作流可视化配置方法、服务器、***及介质
CN112463574A (zh) 软件测试方法、装置、***、设备和存储介质
CN109299960B (zh) 监控广告的方法、装置及计算机可读存储介质、终端设备
CN112631949B (zh) 一种调试方法、装置、计算机设备及存储介质
CN114527993A (zh) 应用程序部署方法、装置、设备及介质
CN110866492B (zh) 一种基线分支的识别方法、装置及计算机***
CN110597536B (zh) 一种软件升级方法、***及终端设备
CN114691496A (zh) 单元测试方法、装置、计算设备及介质
CN110674491B (zh) 用于安卓应用的实时取证的方法、装置和电子设备
CN113760237A (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