技术领域
[0001] 本
发明涉及
数据处理领域,尤其涉及一种软件测试方法及测试装置。
背景技术
[0002] 软件测试是一种用来促进鉴定软件的正确性、完整性、安全性和
质量的过程,它是软件开发必不可少的一部分,通常情况下,软件编写完成后,需要对其代码进行大量的测试,直到符合预设标准才能发布软件产品。
[0003] 相关技术中,企业往往需要自行建设机房、购置
服务器、对服务器进行配置,以配置好的服务器对待测试软件的代码进行测试,直到待测试软件测试成功。
[0004] 然而,这种软件测试方法需要企业部署服务器并对服务器进行维护,因此十分耗费资金成本和人员成本。
发明内容
[0005] 为了解决上述技术问题,本发明提供一种软件测试方法及装置,从而在企业自身无需购置服务器的前提下就能实现待测试软件的测试,有效降低了软件测试成本。
[0006] 为了达到本发明目的,本发明提供了一种软件测试方法,包括:
[0007]
云服务器接收来自终端的待测试软件的代码;
[0008] 在预先建立的测试环境中对获得的待测试软件的代码进行测试。
[0009] 所述在预先建立的测试环境中对获得的待测试软件的代码进行测试之后,还包括:
[0010] 根据预设标准判断测试过程是否有异常情况发生;
[0011] 若所述测试过程没有异常情况发生,确定所述待测试软件通过测试;
[0012] 若所述测试过程有异常情况发生,向所述终端发送测试异常通知信息;其中,所述测试异常通知信息中包含导致测试异常的原因;
[0013] 接收来自所述终端的待测试软件
修改后的代码;其中,所述待测试软件修改后的代码是所述终端根据所述导致测试异常的原因对所述待测试软件的代码修改得到的;
[0014] 在预先建立的测试环境中对获得的待测试软件修改后的代码进行测试,直到所述测试过程没有异常情况发生,确定所述待测试软件通过测试。
[0015] 所述云服务器接收来自终端的待测试软件的代码之前,还包括:
[0016] 接收来自终端的测试环境信息;
[0017] 根据所述测试环境信息建立测试环境。
[0018] 所述根据测试环境信息建立测试环境之后,还包括:
[0019] 接收来自终端的优化配置信息;
[0020] 利用预置的软件开发工具包根据所述优化配置信息对建立的所述测试环境进行优化配置;
[0021] 相应的,所述在预先建立的测试环境中对获得的待测试软件的代码进行测试,包括:
[0022] 在预先建立并且经过优化配置后的测试环境中对获得的所述待测试软件的代码进行测试;
[0023] 所述根据在预先建立的测试环境中对获得的待测试软件修改后的代码进行测试,包括:
[0024] 在预先建立并且经过优化配置后的测试环境中对获得的所述待测试软件修改后的代码进行测试。
[0025] 本发明还提供了一种软件测试方法,包括:
[0026] 终端向云服务器发送待测试软件的代码,以使所述云服务在预先建立的测试环境中对获得的待测试软件的代码进行测试。
[0027] 所述终端向云服务器发送待测试软件的代码之后,还包括:
[0028] 接收所述云服务器发送的测试异常通知信息;其中,所述测试异常通知信息中包含导致测试异常的原因;
[0029] 根据所述导致测试异常的原因修改所述待测试软件的代码,得到待测试软件修改后的代码;
[0030] 向所述云服务器发送所述待测试软件修改后的代码。
[0031] 所述向云服务器发送待测试软件的代码之前,还包括:
[0032] 根据所需要的测试环境生成测试环境信息;
[0033] 向所述云服务器发送所述测试环境信息。
[0034] 所述向云服务器发送测试环境信息之后,还包括:
[0035] 向所述云服务器发送优化配置信息。
[0036] 本发明还提供了一种云服务器,包括:
[0037] 第一接收模
块,用于接收来自终端的待测试软件的代码;
[0038] 测试模块,用于在预先建立的测试环境中对获得的待测试软件的代码进行测试。
[0039] 本发明还提供了一种终端,包括:
[0040] 第一发送模块,用于向云服务器发送待测试软件的代码,以使所述云服务在预先建立的测试环境中对获得的待测试软件的代码进行测试。
[0041] 与
现有技术相比,本发明至少包括云服务器接收来自终端的待测试软件的代码;在预先建立的测试环境中对获得的待测试软件的代码进行测试。从本发明提供的技术方案可见,由于终端将待测试软件的代码发送至云服务器,由云服务器在预先建立的测试环境中对待测试软件的代码进行测试,从而使得企业无需购置服务器就能够实现待测试软件的测试,有效降低了软件测试成本。
[0042] 本发明的其它特征和优点将在随后的
说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、
权利要求书以及
附图中所特别指出的结构来实现和获得。
附图说明
[0043] 附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本
申请的
实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
[0044] 图1为本发明实施例提供的一种软件测试方法的流程示意图;
[0045] 图2为本发明实施例提供的另一种软件测试方法的流程示意图;
[0046] 图3为本发明实施例提供的又一种软件测试方法的流程示意图;
[0047] 图4为本发明实施例提供的又一种软件测试方法的流程示意图;
[0048] 图5为本发明实施例提供的一种云服务器的结构示意图;
[0049] 图6为本发明实施例提供的另一种云服务器的结构示意图;
[0050] 图7为本发明实施例提供的一种终端的结构示意图;
[0051] 图8为本发明实施例提供的另一种终端的结构示意图。
具体实施方式
[0052] 为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0053] 本发明实施例提供一种软件测试方法,如图1所示,该方法包括:
[0054] 步骤101、云服务器接收来自终端的待测试软件的代码。
[0055] 步骤102、在预先建立的测试环境中对获得的待测试软件的代码进行测试。
[0056] 本发明实施例所提供的软件测试方法,云服务器接收来自终端的待测试软件的代码;在预先建立的测试环境中对获得的待测试软件的代码进行测试。从本发明提供的技术方案可见,由于终端将待测试软件的代码发送至云服务器,由云服务器在预先建立的测试环境中对待测试软件的代码进行测试,从而使得企业无需购置服务器就能够实现待测试软件的测试,有效降低了软件测试成本。
[0057] 本发明实施例提供另一种软件测试方法,如图2所示,该方法包括:
[0058] 步骤201、终端向云服务器发送待测试软件的代码,以使云服务在预先建立的测试环境中对获得的待测试软件的代码进行测试。
[0059] 本发明实施例所提供的软件测试方法,终端向云服务器发送待测试软件的代码。从本发明提供的技术方案可见,由于终端将待测试软件的代码发送至云服务器,由云服务器在预先建立的测试环境中对待测试软件的代码进行测试,从而使得企业无需购置服务器就能够实现待测试软件的测试,有效降低了软件测试成本。
[0060] 本发明实施例提供又一种软件测试方法,如图3所示,该方法包括:
[0061] 步骤301、终端根据所需要的测试环境生成测试环境信息。
[0062] 需要说明的是,由于不同的软件的测试环境不同,因此终端需要根据所测试的软件确定所需要的测试环境,然后根据所需要的测试环境生成环境信息。
[0063] 具体的,在该步骤前,企业需要根据自身需要、云提供商的收费标准、云提供商所提供的服务确定可用的云提供商,这样终端才能根据所需要的测试环境向确定的云提供商的云服务器发送测试环境信息。
[0064] 步骤302、终端向云服务器发送测试环境信息。
[0065] 步骤303、云服务器接收来自终端的测试环境信息。
[0066] 步骤304、云服务器根据测试环境信息建立测试环境。
[0067] 具体的,云服务器根据终端发送的测试环境信息获取一系列与所要建立的测试环境相关的功能即服务(Function as a Sevice,FaaS),例如Java
虚拟机(Java Virtual Machine,JVM)、消息
中间件等,和其他服务,如应用程序编程
接口(Application Programming Interface,API)网关、内容分发网络等,然后进行组合以建立出符合要求的测试环境。
[0068] 步骤305、终端向云服务器发送待测试软件的代码。
[0069] 步骤306、云服务器接收来自终端的待测试软件的代码。
[0070] 步骤307、云服务器在预先建立的测试环境中对获得的待测试软件的代码进行测试。
[0071] 步骤308、云服务器根据预设标准判断测试过程是否有异常情况发生。
[0072] 具体的,预设标准是用于判断测试过程是否发生异常情况的标准,预设标准可以包括
请求时间标准、请求次数标准、占用内存标准等,若预设标准是占用内存标准,那么超过设定的占用内存,说明测试过程有异常情况发生。
[0073] 步骤309、若测试过程没有异常情况发生,云服务器确定待测试软件通过测试。
[0074] 需要说明的是,若测试过程没有异常情况发生,云服务器确定待测试软件通过测试,则无需再进行其他步骤。
[0075] 步骤310、若测试过程有异常情况发生,云服务器向终端发送测试异常通知信息。
[0076] 其中,测试异常通知信息中包含导致测试异常的原因;
[0077] 步骤311、终端接收云服务器发送的测试异常通知信息。
[0078] 步骤312、终端根据导致测试异常的原因修改待测试软件的代码,得到待测试软件修改后的代码。
[0079] 步骤313、终端向云服务器发送待测试软件修改后的代码。
[0080] 步骤314、云服务器接收来自终端的待测试软件修改后的代码。
[0081] 步骤315、云服务器在预先建立的测试环境中对获得的待测试软件修改后的代码进行测试,直到测试过程没有异常情况发生,确定待测试软件通过测试。
[0082] 具体的,云服务器根据预先建立的测试环境对待测试软件修改后的代码进行测试,若检测过程中仍然有异常情况发生,再向终端发送测试异常通知信息,直到检测过程中没有异常情况发生,确定待测试软件通过测试。
[0083] 需要说明的是,步骤310~315是测试过程有异常情况的处理方法,若测试过程没有发生异常情况,则无需进行步骤310~315。本实施例提供的软件测试方法实际应用的是无服务器架构,在无服务器架构中整个计算堆栈,包括主机实例、运行业务代码的
操作系统进程等都由云提供商进行管理,与传统的信息技术(Information Technology,IT)架构模型相比,大大简化了运算
基础架构的管理,并结合了按使用进行收费的计费模式,提供了非常灵活且经济的运算选型。
[0084] 还需要说明的是,本实施例中与其它实施例中相同步骤或者概念的解释,可以参照其它实施例中的描述。
[0085] 本发明实施例所提供的软件测试方法,终端向云服务器发送待测试软件的代码;云服务器接收来自终端的待测试软件的代码;云服务器根据预先建立的测试环境对获得的待测试软件的代码进行测试。从本发明提供的技术方案可见,由于终端将待测试软件的代码发送至云服务器,由云服务器根据预先建立的测试环境对待测试软件的代码进行测试,从而使得企业无需购置服务器就能够实现待测试软件的测试,有效降低了软件测试成本。
从本发明提供的技术方案可见,由于终端将待测试软件的代码发送至云服务器,由云服务器根据预先建立的测试环境对待测试软件的代码进行测试,从而使得企业无需购置服务器就能够实现待测试软件的测试,有效降低了软件测试成本。
[0086] 本发明实施例提供又一种软件测试方法,如图4所示,该方法包括:
[0087] 步骤401、终端根据所需要的测试环境生成测试环境信息。
[0088] 步骤402、终端向云服务器发送测试环境信息。
[0089] 步骤403、云服务器接收来自终端的测试环境信息。
[0090] 步骤404、云服务器根据测试环境信息建立测试环境。
[0091] 步骤405、终端向云服务器发送优化配置信息。
[0092] 步骤406、云服务器接收来自终端的优化配置信息。
[0093] 步骤407、云服务器利用预置的软件开发工具包根据优化配置信息对建立的测试环境进行优化配置。
[0094] 需要说明的是,软件开发工具包(Software Development Kit,SDK)是辅助开发某一类软件的相关文档、范例和工具的集合。根据SDK能够对测试环境进行细微的调整和个性化的定制。
[0095] 需要说明的是,根据SDK对测试环境进行配置能够使得测试环境更加符合测试要求。
[0096] 步骤408、终端向云服务器发送待测试软件的代码。
[0097] 步骤409、云服务器接收来自终端的待测试软件的代码。
[0098] 步骤410、云服务器在预先建立并且经过优化配置后的测试环境中对获得的待测试软件的代码进行测试。
[0099] 步骤411、云服务器根据预设标准判断测试过程是否有异常情况发生。
[0100] 步骤412、若测试过程没有异常情况发生,云服务器确定待测试软件通过测试。
[0101] 需要说明的是,若测试过程没有异常情况发生,云服务器确定待测试软件通过测试,则无需再进行其他步骤。
[0102] 步骤413、若测试过程有异常情况发生,云服务器向终端发送测试异常通知信息。
[0103] 其中,测试异常通知信息中包含导致测试异常的原因;
[0104] 步骤414、终端接收云服务器发送的测试异常通知信息。
[0105] 步骤415、终端根据导致测试异常的原因修改待测试软件的代码,得到待测试软件修改后的代码。
[0106] 步骤416、终端向云服务器发送待测试软件修改后的代码。
[0107] 步骤417、云服务器接收来自终端的待测试软件修改后的代码。
[0108] 步骤418、云服务器在预先建立并且经过优化配置后的测试环境中对获得的待测试软件修改后的代码进行测试,直到测试过程没有异常情况发生,确定待测试软件通过测试。
[0109] 具体的,云服务器根据预先建立的测试环境对待测试软件修改后的代码进行测试,若检测过程中仍然有异常情况发生,再向终端发送测试异常通知信息,直到检测过程中没有异常情况发生,确定待测试软件通过测试。
[0110] 需要说明的是,步骤413~418是测试过程有异常情况的处理方法,若测试过程没有发生异常情况,则无需进行步骤413~418。
[0111] 还需要说明的是,本实施例中与其它实施例中相同步骤或者概念的解释,可以参照其它实施例中的描述。
[0112] 本发明实施例所提供的软件测试方法,终端向云服务器发送待测试软件的代码;云服务器接收来自终端的待测试软件的代码;云服务器根据预先建立的测试环境对获得的待测试软件的代码进行测试。从本发明提供的技术方案可见,由于终端将待测试软件的代码发送至云服务器,由云服务器根据预先建立的测试环境对待测试软件的代码进行测试,从而使得企业无需购置服务器就能够实现待测试软件的测试,有效降低了软件测试成本。
从本发明提供的技术方案可见,由于终端将待测试软件的代码发送至云服务器,由云服务器根据预先建立的测试环境对待测试软件的代码进行测试,从而使得企业无需购置服务器就能够实现待测试软件的测试,有效降低了软件测试成本。
[0113] 本发明实施例提供一种云服务器,如图5所示,该云服务器5包括:
[0114] 第一接收模块51,用于接收来自终端的待测试软件的代码。
[0115] 测试模块52,用于在预先建立的测试环境中对获得的待测试软件的代码进行测试。
[0116] 进一步,在图5对应的实施例的基础上,本发明实施例提供了另一种云服务器,如图6所示,该云服务器5还包括:
[0117] 判断模块53,用于根据预设标准判断测试过程是否有异常情况发生。
[0118] 确定模块54,用于若测试过程没有异常情况发生,确定待测试软件通过测试。
[0119] 第二发送模块55,用于若测试过程有异常情况发生,向终端发送测试异常通知信息;其中,测试异常通知信息中包含导致测试异常的原因。
[0120] 第一接收模块51,还用于接收来自终端的待测试软件修改后的代码;其中,待测试软件修改后的代码是终端根据导致测试异常的原因对待测试软件的代码修改得到的。
[0121] 测试模块52,还用于在预先建立的测试环境中对获得的待测试软件修改后的代码进行测试,直到测试过程没有异常情况发生,确定待测试软件通过测试。
[0122] 第一接收模块51,还用于接收来自终端的测试环境信息。
[0123] 建立模块56,用于根据测试环境信息建立测试环境。
[0124] 第一接收模块51,还用于接收来自终端的优化配置信息。
[0125] 配置模块57,用于利用预置的软件开发工具包根据优化配置信息对建立的测试环境进行优化配置
[0126] 测试模块52,具体用于在预先建立并且经过优化配置后的测试环境对待测试软件的代码进行测试;在预先建立并且经过优化配置后的测试环境对待测试软件修改后的代码进行测试。
[0127] 本发明实施例所提供的云服务器,接收来自终端的待测试软件的代码;在预先建立的测试环境中对获得的待测试软件的代码进行测试。从本发明提供的技术方案可见,由于终端将待测试软件的代码发送至云服务器,由云服务器根据预先建立的测试环境对待测试软件的代码进行测试,从而使得企业无需购置服务器就能够实现待测试软件的测试,有效降低了软件测试成本。
[0128] 在实际应用中,所述第一接收模块51、测试模块52、判断模块53、确定模块54、第二发送模块55、建立模块56和配置模块57均可由位于云服务器中的
中央处理器(Central Processing Unit,CPU)、
微处理器(Micro Processor Unit,MPU)、数字
信号处理器(Digital Signal Processor,DSP)或现场可编程
门阵列(Field Programmable Gate Array,FPGA)等实现。
[0129] 本发明实施例提供一种终端,如图7所示,该终端6包括:
[0130] 第一发送模块61,用于向云服务器发送待测试软件的代码,以使云服务在预先建立的测试环境中对获得的待测试软件的代码进行测试。
[0131] 进一步,在图7对应的实施例的基础上,本发明实施例提供了另一种终端,如图8所示,该终端6还包括:
[0132] 第二接收模块62,用于接收云服务器发送的测试异常通知信息;其中,测试异常通知信息中包含导致测试异常的原因。
[0133] 处理模块63,用于根据导致测试异常的原因修改待测试软件的代码,得到待测试软件修改后的代码。
[0134] 第一发送模块51,还用于向云服务器发送待测试软件修改后的代码。
[0135] 生成模块64,用于根据所需要的测试环境生成测试环境信息。
[0136] 第一发送模块61,还用于向云服务器发送测试环境信息。
[0137] 进一步,第一发送模块61,还用于向云服务器发送优化配置信息。
[0138] 本发明实施例所提供的终端,向云服务器发送待测试软件的代码。从本发明提供的技术方案可见,由于终端将待测试软件的代码发送至云服务器,由云服务器在预先建立的测试环境中对待测试软件的代码进行测试,从而使得企业无需购置服务器就能够实现待测试软件的测试,有效降低了软件测试成本。
[0139] 在实际应用中,所述第一发送模块61、第二接收模块62、处理模块63和生成模块64均可由位于终端中的CPU、MPU、DSP或FPGA等实现。
[0140] 虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的
专利保护范围,仍须以所附的权利要求书所界定的范围为准。