CN103309795B - 软件测试方法和系统 - Google Patents

软件测试方法和系统 Download PDF

Info

Publication number
CN103309795B
CN103309795B CN201210059593.XA CN201210059593A CN103309795B CN 103309795 B CN103309795 B CN 103309795B CN 201210059593 A CN201210059593 A CN 201210059593A CN 103309795 B CN103309795 B CN 103309795B
Authority
CN
China
Prior art keywords
test agent
agent server
information
tester
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.)
Active
Application number
CN201210059593.XA
Other languages
English (en)
Other versions
CN103309795A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201210059593.XA priority Critical patent/CN103309795B/zh
Publication of CN103309795A publication Critical patent/CN103309795A/zh
Application granted granted Critical
Publication of CN103309795B publication Critical patent/CN103309795B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提出一种软件测试方法和系统,其中该方法包括以下步骤:对被测软件中的多个被测模块进行功能划分,以生成多个被测模块组并生成每个被测模块组相应的权限信息;测试代理服务器接收测试人员的控制指令;测试代理服务器根据测试人员的权限信息将控制指令转发至对应的被测模块组;在被测模块组执行控制指令之后,测试代理服务器获得与控制指令相关的输出视图信息;以及测试代理服务器将输出视图信息发送至测试人员。根据本发明实施例的方法,一方面可对出于安全保密原因不能开放给外包、远程测试人员的软件测试,扩大测试范围,提高测试效率、质量,另一方面无需将被测软件提供给外包、远程等测试人员,从而无法进行反编译而获取源码,安全性高。

Description

软件测试方法和系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种软件测试方法和系统。
背景技术
在进行初级测试、远程协作测试、外包测试等过程中,主要存在以下问题:
(1)出于保密要求或者业务保护,无法给测试人员提供过多详细的信息,测试人员获取的信息量小或者不全面,导致测试效率、效果低下;
(2)有些需要测试的接口或模块过于复杂、重要,无法直接或者不能直接提供给测试人员,使得测试工作不能全部外包,无法有效的利用外包测试力量,测试效率低下。
发明内容
本发明旨在解决上述技术问题之一。
为此,本发明的第一个目的在于提出一种可以扩大测试范围、提高测试效率及质量、安全性高的软件测试方法。
本发明的第二个目的在于提出一种软件测试系统。
本发明的第三个目的在于提出一种软件测试方法。
本发明的第四个目的在于提出一种软件测试系统,用于对被测模块按照功能限制以便于测试人员测试。
为了实现上述目的,根据本发明的第一方面实施例的软件测试方法包括以下步骤:对所述被测软件中的多个被测模块进行功能划分,以生成多个被测模块组并生成每个被测模块组相应的权限信息,其中,至少两个所述被测模块组对于不同的测试人员具有不同的权限;测试代理服务器接收测试人员的控制指令;所述测试代理服务器根据所述测试人员的权限信息将所述控制指令转发至对应的被测模块组;在所述被测模块组执行所述控制指令之后,所述测试代理服务器获得与所述控制指令相关的输出视图信息;以及所述测试代理服务器将所述输出视图信息发送至所述测试人员。
根据本发明实施例的软件测试方法,根据功能将被测软件分成被测模块组并生成对应的权限信息,测试人员根据自己的权限进行相应的测试操作,一方面可以对出于安全保密的原因不能开放给外包、远程等测试人员的软件开放进行测试,扩大测试人员的测试范围,且测试代理服务器负责分割视图,提高测试人员的效率和质量,另一方面被测软件通过功能分割得到保护,无需将被测软件提供给外包、远程等测试人员,且任何测试人员都不能获得完整的软件功能设计,从而无法进行反编译而获取源码,安全性高。
为了实现上述目的,根据本发明的第二方面实施例的软件测试系统包括:运行被测软件的至少一个服务器,多个客户端、以及连接在所述至少一个服务器和所述多个客户端之间的测试代理服务器,所述被测软件具有多个被测模块,且所述多个被测模块被根据功能划分为多个被测模块组,至少两个所述被测模块组对于不同的测试人员具有不同的权限,其中,所述客户端,用于向所述测试代理服务器发送测试人员的控制指令,并接收所述测试代理服务器反馈的输出视图信息;所述测试代理服务器,用于接收所述测试人员的控制指令,并根据预存的权限信息将所述控制指令转发至对应的被测模块组,以及在所述被测模块组执行所述控制指令之后,所述测试代理服务器根据所述至少一个服务器的输出文件获得与所述控制指令相关的输出视图信息并发送至所述客户端;所述至少一个服务器,用于运行所述被测软件,用于接收所述控制指令并生成相应的输出文件。
根据本发明实施例的软件测试系统,根据功能将被测软件分成被测模块组并生成对应的权限信息,通过测试代理服务器测试人员根据自己的权限进行相应的测试操作,一方面可以对出于安全保密的原因不能开放给外包、远程等测试人员的软件开放进行测试,扩大测试人员的测试范围,且测试代理服务器负责分割视图,提高测试人员的效率和质量,另一方面被测软件通过功能分割得到保护,无需将被测软件提供给外包、远程等测试人员,且任何测试人员都不能获得完整的软件功能设计,从而无法进行反编译而获取源码,安全性高。
为了实现上述目的,根据本发明的第三方面实施例的软件测试方法包括以下步骤:对所述被测软件中的至少一个被测模块进行功能划分,以生成多个功能模块组并生成每个功能模块组相应的权限信息,其中,至少两个所述功能模块组对于不同的测试人员具有不同的权限;测试代理服务器接收测试人员的控制指令;所述测试代理服务器根据所述测试人员的权限信息将所述控制指令转发至所述被测模块;在所述被测模块执行所述控制指令之后,所述测试代理服务器获得所述被测模块的输出文件;所述测试代理服务器根据所述权限信息从所述输出文件中分离出与所述权限信息对应的功能模块相关的输出视图信息;以及所述测试代理服务器将所述输出视图信息发送至所述测试人员。
根据本发明实施例的软件测试方法,将被测模块按照功能将被测模块分成多个功能模块组并生成对应的权限信息,测试人员根据自己的权限进行相应的测试操作,一方面可以对出于安全保密的原因不能开放给外包、远程等测试人员的模块开放进行测试,扩大测试人员的测试范围,且测试代理服务器负责分割视图,提高测试人员的效率和质量,另一方面被测模块通过功能分割得到保护,无需将被测模块提供给外包、远程等测试人员,且任何测试人员都不能获得完整的被测模块的功能设计,从而无法进行反编译而获取源码。
为了实现上述目的,根据本发明的第四方面实施例的软件测试系统包括:运行被测软件中被测模块的服务器、多个客户端、以及连接在所述服务器和所述多个客户端之间的测试代理服务器,所述被测模块具有多个功能模块,且所述多个功能模块被根据功能划分为多个功能模块组,至少两个所述功能模块组对于不同的测试人员具有不同的权限,其中,所述客户端,用于向所述测试代理服务器发送测试人员的控制指令,并接收所述测试代理服务器反馈的输出视图信息;所述测试代理服务器,用于接收所述测试人员的控制指令,并根据预存的权限信息将所述控制指令转发至对应的被测模块,以及在所述被测模块执行所述控制指令之后,根据所述权限信息从所述被测模块的输出文件中分离出与所述权限信息对应的功能模块相关的输出视图信息并发送至所述客户端;所述服务器,用于运行所述被测软件的被测模块,用于接收所述控制指令并生成相应的所述输出文件。
根据本发明实施例的软件测试系统,将被测模块按照功能将被测模块分成多个功能模块组并生成对应的权限信息,测试人员通过测试代理服务器根据自己的权限进行相应的测试操作,一方面可以对出于安全保密的原因不能开放给外包、远程等测试人员的模块开放进行测试,扩大测试人员的测试范围,且测试代理服务器负责分割视图,提高测试人员的效率和质量,另一方面被测模块通过功能分割得到保护,无需将被测模块提供给外包、远程等测试人员,且任何测试人员都不能获得完整的被测模块的功能设计,从而无法进行反编译而获取源码。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的软件测试方法的流程图;
图2是根据本发明一个实施例的软件测试方法的流程图;
图3是根据本发明一个实施例的软件测试方法的流程图;
图4是根据本发明一个实施例的软件测试方法的流程图;
图5是根据本发明一个实施例的软件测试方法的流程图;
图6是根据本发明一个实施例的软件测试方法的流程图;
图7是根据本发明一个实施例的软件测试系统的结构框图;
图8是根据本发明一个实施例的软件测试方法的流程图;
图9是根据本发明一个实施例的软件测试方法的流程图;
图10是根据本发明一个实施例的软件测试方法的流程图;
图11是根据本发明一个实施例的软件测试方法的流程图;
图12是根据本发明一个实施例的软件测试方法的流程图;
图13是根据本发明一个实施例的软件测试方法的流程图;以及
图14是根据本发明一个实施例的软件测试系统的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
下面参考说明书附图描述根据本发明实施例的软件测试方法及系统。
一种软件测试方法,包括以下步骤:对被测软件中的多个被测模块进行功能划分,以生成多个被测模块组并生成每个被测模块组相应的权限信息,其中,至少两个被测模块组对于不同的测试人员具有不同的权限;测试代理服务器接收测试人员的控制指令;测试代理服务器根据测试人员的权限信息将控制指令转发至对应的被测模块组;在被测模块组执行控制指令之后,测试代理服务器获得与控制指令相关的输出视图信息;以及测试代理服务器将输出视图信息发送至测试人员。
图1为本发明一个实施例的软件测试方法的流程图。
如图1所示,根据本发明实施例的软件测试方法包括下述步骤。
步骤S101,对被测软件中的多个被测模块进行功能划分,以生成多个被测模块组并生成每个被测模块组相应的权限信息,其中,至少两个被测模块组对于不同的测试人员具有不同的权限。
具体地,被测软件中包括多个被测模块,将相同功能的多个被测模块划分成一个被测模块组,其中每个被测模块组中至少包括一个被测模块,例如,某个搜索引擎的完成用户接入功能需要HTTP解析、防攻击、cache缓存等多个被测模块,这些被测模块划分成一个被测模块组,并生成相应的权限信息。其中至少两个被测模块组对于不同的测试人员具有不同的权限,例如一个被测模块组对于测试人员A完全开放,但是对于测试人员B完全屏蔽。
步骤S102,测试代理服务器接收测试人员的控制指令。
在本发明的一个实施例中,控制指令包括配置指令、运维操作指令或测试指令。
具体地,每个被测模块组在生成相应的权限信息之后,负责相应被测模块组的测试人员根据实际需要向测试代理服务器发送控制指令,测试代理服务器接收到测试人员发送的控制指令。
步骤S103,测试代理服务器根据测试人员的权限信息将控制指令转发至对应的被测模块组。
具体地,测试代理服务器接收到控制指令之后,测试代理服务器将被测模块组相应的权限信息与所发控制指令的测试人员的权限信息进行匹配,将匹配成功的测试人员发送的控制指令转发至对应的被测模块组,如果匹配部分不成功,将匹配成功部分的控制指令发送至对应的被测模块组,例如测试人员只有部分配置权限,但是该测试人员发送了全部的配置指令,测试代理服务器只将权限内的部分配置指令发送至被测模块中。
步骤S104,在被测模块组执行控制指令之后,测试代理服务器获得与控制指令相关的输出视图信息。
在本发明的一个实施例中,视图信息包括被测模块组的配置信息、输出信息、状态信息和日志信息中的一种或多种。
其中,视图为被测模块组实现对应功能的配置、输出和日志的集合。通过视图可以方便的向不同权限的测试人员展示不同的子集,权限越高的测试人员所能“看到”的视图越大,获取的信息也越多。
步骤S105,测试代理服务器将输出视图信息发送至测试人员。
具体地,测试代理服务器将输出视图信息按照被测模块组的权限信息发送至相应的测试人员。例如,具有高权限的测试人员可以获得到被测模块组的全部视图信息,具有较低权限的测试人员获得部分视图信息。
根据本发明实施例的软件测试方法,根据功能将被测软件分成被测模块组并生成对应的权限信息,测试人员根据自己的权限进行相应的测试操作,一方面可以对出于安全保密的原因不能开放给外包、远程等测试人员的软件开放进行测试,扩大测试人员的测试范围,且测试代理服务器负责分割视图,提高测试人员的效率和质量,另一方面被测软件通过功能分割得到保护,无需将被测软件提供给外包、远程等测试人员,且任何测试人员都不能获得完整的软件功能设计,从而无法进行反编译而获取源码,安全性高。
图2为本发明一个实施例的软件测试方法的流程图。
如图2所示,根据本发明实施例的软件测试方法包括下述步骤。
步骤S201,对被测软件中的多个被测模块进行功能划分,以生成多个被测模块组并生成每个被测模块组相应的权限信息,其中,至少两个被测模块组对于不同的测试人员具有不同的权限。
具体地,被测软件中包括多个被测模块,将相同功能的多个被测模块划分成一个被测模块组,其中每个被测模块组中至少包括一个被测模块,例如,某个搜索引擎的完成用户接入功能需要HTTP解析、防攻击、cache缓存等多个被测模块,这些被测模块划分成一个被测模块组,并生成相应的权限信息。其中至少两个被测模块组对于不同的测试人员具有不同的权限,例如一个被测模块组对于测试人员A完全开放,但是对于测试人员B完全屏蔽。
步骤S202,测试代理服务器接收测试人员的控制指令。
在本发明的一个实施例中,控制指令包括配置指令、运维操作指令或测试指令。
具体地,每个被测模块组在生成相应的权限信息之后,负责相应被测模块组的测试人员根据实际需要向测试代理服务器发送控制指令,测试代理服务器接收到测试人员发送的控制指令。
步骤S203,测试代理服务器根据测试人员的权限信息将控制指令转发至对应的被测模块组。
具体地,测试代理服务器接收到控制指令之后,测试代理服务器将被测模块组相应的权限信息与所发控制指令的测试人员的权限信息进行匹配,将匹配成功的测试人员发送的控制指令转发至对应的被测模块组,如果匹配部分不成功,将匹配成功部分的控制指令发送至对应的被测模块组,例如测试人员只有部分配置权限,但是该测试人员发送了全部的配置指令,测试代理服务器只将权限内的部分配置指令发送至被测模块中。
步骤S204,在被测模块组执行控制指令之后,测试代理服务器获得与控制指令相关的输出视图信息。
在本发明的一个实施例中,视图信息包括被测模块组的配置信息、输出信息、状态信息和日志信息中的一种或多种。
其中,视图为被测模块组实现对应功能的配置、输出和日志的集合。通过视图可以方便的向不同权限的测试人员展示不同的子集,权限越高的测试人员所能“看到”的视图越大,获取的信息也越多。
步骤S205,测试代理服务器根据预设的安全策略对输出视图信息进行过滤。
具体地,测试代理服务器中预设一些安全策略,例如,控制核心功能模块的配置信息、输出信息和日志信息不能输出等。测试代理服务器根据安全策略对输出视图信息进行保密过滤。
步骤S206,测试代理服务器将输出视图信息发送至测试人员。
具体地,测试代理服务器将输出视图信息按照被测模块组的权限信息发送至相应的测试人员。例如,具有高权限的测试人员可以获得到被测模块组的全部视图信息,具有较低权限的测试人员获得部分视图信息。
根据本发明实施例的软件测试方法,通过安全策略对输出视图信息进行过滤,有效防止较重要或者核心信息外泄给测试人员,进一步提高安全性。
图3为本发明一个实施例的软件测试方法的流程图。
如图3所示,根据本发明实施例的软件测试方法包括下述步骤。
步骤S301,对被测软件中的多个被测模块进行功能划分,以生成多个被测模块组并生成每个被测模块组相应的权限信息,其中,至少两个被测模块组对于不同的测试人员具有不同的权限。
具体地,被测软件中包括多个被测模块,将相同功能的多个被测模块划分成一个被测模块组,其中每个被测模块组中至少包括一个被测模块,例如,某个搜索引擎的完成用户接入功能需要HTTP解析、防攻击、cache缓存等多个被测模块,这些被测模块划分成一个被测模块组,并生成相应的权限信息。其中至少两个被测模块组对于不同的测试人员具有不同的权限,例如一个被测模块组对于测试人员A完全开放,但是对于测试人员B完全屏蔽。
步骤S302,测试代理服务器接收测试人员的控制指令。
在本发明的一个实施例中,控制指令包括配置指令、运维操作指令或测试指令。
具体地,每个被测模块组在生成相应的权限信息之后,负责相应被测模块组的测试人员根据实际需要向测试代理服务器发送控制指令,测试代理服务器接收到测试人员发送的控制指令。
步骤S303,测试代理服务器根据测试人员的权限信息将控制指令转发至对应的被测模块组。
具体地,测试代理服务器接收到控制指令之后,测试代理服务器将被测模块组相应的权限信息与所发控制指令的测试人员的权限信息进行匹配,将匹配成功的测试人员发送的控制指令转发至对应的被测模块组,如果匹配部分不成功,将匹配成功部分的控制指令发送至对应的被测模块组,例如测试人员只有部分配置权限,但是该测试人员发送了全部的配置指令,测试代理服务器只将权限内的部分配置指令发送至被测模块中。
步骤S304,在被测模块组执行控制指令之后,测试代理服务器获得与控制指令相关的输出视图信息。
在本发明的一个实施例中,视图信息包括被测模块组的配置信息、输出信息、状态信息和日志信息中的一种或多种。
其中,视图为被测模块组实现对应功能的配置、输出和日志的集合。通过视图可以方便的向不同权限的测试人员展示不同的子集,权限越高的测试人员所能“看到”的视图越大,获取的信息也越多。
步骤S305,测试代理服务器根据预设的安全策略对输出视图信息进行过滤。
具体地,测试代理服务器中预设一些安全策略,例如,控制核心功能模块的配置信息、输出信息和日志信息不能输出等。测试代理服务器根据安全策略对输出视图信息进行保密过滤。
步骤S306,测试代理服务器对输出视图信息中的日志信息进行可读性转换。
例如,某条日志信息为:NOTICE:11-2910:19:54:dx.*1598232928[priority_queue.h:280][哪里买小米手机]id=db6c902300000094tn=samplesrv10si=1tm=13231fn=10dt=2817yt=10pt=10ct=9897at=24kt=1sl=11727rl=11785fs=102203ig=10,将id、tn、si等转换为文字描述,如将tn转换为请求命中的模板名。
步骤S307,测试代理服务器将输出视图信息发送至测试人员。
具体地,测试代理服务器将输出视图信息按照被测模块组的权限信息发送至相应的测试人员。例如,具有高权限的测试人员可以获得到被测模块组的全部视图信息,具有较低权限的测试人员获得部分视图信息。
根据本发明实施例的软件测试方法,通过测试代理服务器对输出视图信息中的日志信息进行可读性转换,一方面可以防止信息泄露,另一方面增加可读性,方便测试人员测试。
图4为本发明一个实施例的软件测试方法的流程图。
如图4所示,根据本发明实施例的软件测试方法包括下述步骤。
步骤S401,对被测软件中的多个被测模块进行功能划分,以生成多个被测模块组并生成每个被测模块组相应的权限信息,其中,至少两个被测模块组对于不同的测试人员具有不同的权限。
具体地,被测软件中包括多个被测模块,将相同功能的多个被测模块划分成一个被测模块组,其中每个被测模块组中至少包括一个被测模块,例如,某个搜索引擎的完成用户接入功能需要HTTP解析、防攻击、cache缓存等多个被测模块,这些被测模块划分成一个被测模块组,并生成相应的权限信息。其中至少两个被测模块组对于不同的测试人员具有不同的权限,例如一个被测模块组对于测试人员A完全开放,但是对于测试人员B完全屏蔽。
步骤S402,测试代理服务器接收测试人员的控制指令。
在本发明的一个实施例中,控制指令包括配置指令、运维操作指令或测试指令。
具体地,每个被测模块组在生成相应的权限信息之后,负责相应被测模块组的测试人员根据实际需要向测试代理服务器发送控制指令,测试代理服务器接收到测试人员发送的控制指令。
步骤S403,测试代理服务器根据测试人员的权限信息将控制指令转发至对应的被测模块组。
具体地,测试代理服务器接收到控制指令之后,测试代理服务器将被测模块组相应的权限信息与所发控制指令的测试人员的权限信息进行匹配,将匹配成功的测试人员发送的控制指令转发至对应的被测模块组,如果匹配部分不成功,将匹配成功部分的控制指令发送至对应的被测模块组,例如测试人员只有部分配置权限,但是该测试人员发送了全部的配置指令,测试代理服务器只将权限内的部分配置指令发送至被测模块中。
步骤S404,在被测模块组执行控制指令之后,测试代理服务器获得控制指令对应的被测模块组的输出文件。
具体地,在被测模块组执行控制指令之后,被测模块组根据控制指令生成一系列的执行结果、操作信息、日志文件记录等,并且保存在被测模块的相关目录如log下的文件中,测试代理服务器监视到相应的文件变化时将变化的信息获取并打印到自身目录下的日志文件中作为被测模块的输出文件。
步骤S405,测试代理服务器根据被测模块组获得正则表达式集。
具体地,首先测试代理服务器在进行被测模块组划分时预先在配置文件中设置正则表达式集,然后测试代理服务器在接收到控制指令之后,根据控制指令对应的被测模块组获取相应的正则表达式。
步骤S406,测试代理服务器根据正则表达式集对输出文件进行过滤以获得满足权限信息的输出视图信息。
具体地,预先设置的正则表达式中设置了允许输出文件的格式及内容,测试代理服务器根据正则表达式对输出文件进行匹配过滤,将不符合对应测试人员的权限信息的输出视图信息过滤剔除。
步骤S407,测试代理服务器根据预设的安全策略对输出视图信息进行过滤。
具体地,测试代理服务器中预设一些安全策略,例如,控制核心功能模块的配置信息、输出信息和日志信息不能输出等。测试代理服务器根据安全策略对输出视图信息进行保密过滤。
步骤S408,测试代理服务器对输出视图信息中的日志信息进行可读性转换。
例如,某条日志信息为:NOTICE:11-2910:19:54:dx.*1598232928[priority_queue.h:280][哪里买小米手机]id=db6c902300000094tn=samplesrv10si=1tm=13231fn=10dt=2817yt=10pt=10ct=9897at=24kt=1sl=11727rl=11785fs=102203ig=10,将id、tn、si等转换为文字描述,如将tn转换为请求命中的模板名。
步骤S409,测试代理服务器将输出视图信息发送至测试人员。
具体地,测试代理服务器将输出视图信息按照被测模块组的权限信息发送至相应的测试人员。例如,具有高权限的测试人员可以获得到被测模块组的全部视图信息,具有较低权限的测试人员获得部分视图信息。
根据本发明实施例的软件测试方法,测试代理服务器根据正则表达式集对输出文件进行过滤以获得满足权限信息的输出视图信息,进一步提升安全性。
图5为本发明一个实施例的软件测试方法的流程图。
如图5所示,根据本发明实施例的软件测试方法包括下述步骤。
步骤S501,对被测软件中的多个被测模块进行功能划分,以生成多个被测模块组并生成每个被测模块组相应的权限信息,其中,至少两个被测模块组对于不同的测试人员具有不同的权限。
具体地,被测软件中包括多个被测模块,将相同功能的多个被测模块划分成一个被测模块组,其中每个被测模块组中至少包括一个被测模块,例如,某个搜索引擎的完成用户接入功能需要HTTP解析、防攻击、cache缓存等多个被测模块,这些被测模块划分成一个被测模块组,并生成相应的权限信息。其中至少两个被测模块组对于不同的测试人员具有不同的权限,例如一个被测模块组对于测试人员A完全开放,但是对于测试人员B完全屏蔽。
步骤S502,测试代理服务器接收测试人员的控制指令。
在本发明的一个实施例中,控制指令包括配置指令、运维操作指令或测试指令。
具体地,每个被测模块组在生成相应的权限信息之后,负责相应被测模块组的测试人员根据实际需要向测试代理服务器发送控制指令,测试代理服务器接收到测试人员发送的控制指令。
步骤S503,如果控制指令为配置指令,测试代理服务器根据配置指令和权限信息获得被测模块组的配置信息。
具体地,当测试人员构造的测试场景需要修改被测模块组的配置时,向测试代理服务器发送配置指令,测试代理服务器根据配置指令和权限信息在被测模块组的视图信息中查找以获得被测模块组的配置信息。
步骤S504,测试代理服务器将具有配置信息的配置页面显示给测试人员。
具体地,测试代理服务器将获取到的被测模块配置信息放置到一个可供修改的web页面上显示给测试人员进行查看和修改。
步骤S505,测试代理服务器接收测试人员在配置页面中对配置信息的修改。
具体地,测试人员在对web页面上的配置信息进行修改和确认后提交给测试代理服务器,测试代理服务器接收修改后的配置信息。
步骤S506,测试代理服务器根据对配置信息的修改对被测模块组的配置进行修改。
具体地,测试代理服务器将接收到的测试人员提交的修改后的配置信息替换到被测模块组的配置中,完成对被测模块组配置信息的修改。
步骤S507,在被测模块组执行控制指令之后,测试代理服务器获得控制指令对应的被测模块组的输出文件。
具体地,在被测模块组执行控制指令之后,被测模块组根据控制指令生成一系列的执行结果、操作信息、日志文件记录等,并且保存在被测模块的相关目录如log下的文件中,测试代理服务器监视到相应的文件变化时将变化的信息获取并打印到自身目录下的日志文件中作为被测模块的输出文件。
步骤S508,测试代理服务器根据被测模块组获得正则表达式集。
具体地,首先测试代理服务器在进行被测模块组划分时预先在配置文件中设置正则表达式集,然后测试代理服务器在接收到控制指令之后,根据控制指令对应的被测模块组获取相应的正则表达式。
步骤S509,测试代理服务器根据正则表达式集对输出文件进行过滤以获得满足权限信息的输出视图信息。
具体地,预先设置的正则表达式中设置了允许输出文件的格式及内容,测试代理服务器根据正则表达式对输出文件进行匹配过滤,将不符合对应测试人员的权限信息的输出视图信息过滤剔除。
步骤S510,测试代理服务器根据预设的安全策略对输出视图信息进行过滤。
具体地,测试代理服务器中预设一些安全策略,例如,控制核心功能模块的配置信息、输出信息和日志信息不能输出等。测试代理服务器根据安全策略对输出视图信息进行保密过滤。
步骤S511,测试代理服务器对所述输出视图信息中的日志信息进行可读性转换。
例如,某条日志信息为:NOTICE:11-2910:19:54:dx.*1598232928[priority_queue.h:280][哪里买小米手机]id=db6c902300000094tn=samplesrv10si=1tm=13231fn=10dt=2817yt=10pt=10ct=9897at=24kt=1sl=11727rl=11785fs=102203ig=10,将id、tn、si等转换为文字描述,如将tn转换为请求命中的模板名。
步骤S512,测试代理服务器将输出视图信息发送至测试人员。
具体地,测试代理服务器将输出视图信息按照被测模块组的权限信息发送至相应的测试人员。例如,具有高权限的测试人员可以获得到被测模块组的全部视图信息,具有较低权限的测试人员获得部分视图信息。
根据本发明实施例的软件测试方法,实现测试人员对被测模块组的配置信息的修改。
图6为本发明一个实施例的软件测试方法的流程图。
如图6所示,根据本发明实施例的软件测试方法包括下述步骤。
步骤S601,对被测软件中的多个被测模块进行功能划分,以生成多个被测模块组并生成每个被测模块组相应的权限信息,其中,至少两个被测模块组对于不同的测试人员具有不同的权限。
具体地,被测软件中包括多个被测模块,将相同功能的多个被测模块划分成一个被测模块组,其中每个被测模块组中至少包括一个被测模块,例如,某个搜索引擎的完成用户接入功能需要HTTP解析、防攻击、cache缓存等多个被测模块,这些被测模块划分成一个被测模块组,并生成相应的权限信息。其中至少两个被测模块组对于不同的测试人员具有不同的权限,例如一个被测模块组对于测试人员A完全开放,但是对于测试人员B完全屏蔽。
步骤S602,测试代理服务器接收测试人员的控制指令。
在本发明的一个实施例中,控制指令包括配置指令、运维操作指令或测试指令。
具体地,每个被测模块组在生成相应的权限信息之后,负责相应被测模块组的测试人员根据实际需要向测试代理服务器发送控制指令,测试代理服务器接收到测试人员发送的控制指令。
步骤S603,如果控制指令为运维操作指令,测试代理服务器判断运维操作指令是否属于测试代理服务器预存的运维文件。
具体地,在测试代理服务器中预置了运维文件,该运维文件对测试人员不可见,如果测试代理服务器检测到控制指令为配置指令,在预置的运维文件中查找该运维操作指令,判断测试人员发送的运维操作指令是否属于测试代理服务器中预存的运维文件。
步骤S604,如果不属于,测试代理服务器则向测试人员发出运维操作指令超出权限的提示。
具体地,如果测试代理服务器在预存的运维文件中未查找到该运维操作指令,则提示测试人员所发送的运维操作指令超过权限,无法在测试模块中执行。
步骤S605,如果属于,测试代理服务器将运维操作指令发送至被测模块组以执行运维操作指令。
具体地,如果测试代理服务器在预存的运维文件中查找到了该运维操作指令,则将该指令转发至被测模块执行。
步骤S606,在被测模块组执行控制指令之后,测试代理服务器获得控制指令对应的被测模块组的输出文件。
具体地,在被测模块组执行控制指令之后,被测模块组根据控制指令生成一系列的执行结果、操作信息、日志文件记录等,并且保存在被测模块的相关目录如log下的文件中,测试代理服务器监视到相应的文件变化时将变化的信息获取并打印到自身目录下的日志文件中作为被测模块的输出文件。
步骤S607,测试代理服务器根据被测模块组获得正则表达式集。
具体地,首先测试代理服务器在进行被测模块组划分时预先在配置文件中设置正则表达式集,然后测试代理服务器在接收到控制指令之后,根据控制指令对应的被测模块组获取相应的正则表达式。
步骤S608,测试代理服务器根据正则表达式集对输出文件进行过滤以获得满足权限信息的输出视图信息。
具体地,预先设置的正则表达式中设置了允许输出文件的格式及内容,测试代理服务器根据正则表达式对输出文件进行匹配过滤,将不符合对应测试人员的权限信息的输出视图信息过滤剔除。
步骤S609,测试代理服务器根据预设的安全策略对输出视图信息进行过滤。
具体地,测试代理服务器中预设一些安全策略,例如,控制核心功能模块的配置信息、输出信息和日志信息不能输出等。测试代理服务器根据安全策略对输出视图信息进行保密过滤。
步骤S610,测试代理服务器对所述输出视图信息中的日志信息进行可读性转换。
例如,某条日志信息为:NOTICE:11-2910:19:54:dx.*1598232928[priority_queue.h:280][哪里买小米手机]id=db6c902300000094tn=samplesrv10si=1tm=13231fn=10dt=2817yt=10pt=10ct=9897at=24kt=1sl=11727rl=11785fs=102203ig=10,将id、tn、si等转换为文字描述,如将tn转换为请求命中的模板名。
步骤S611,测试代理服务器将输出视图信息发送至测试人员。
具体地,测试代理服务器将输出视图信息按照被测模块组的权限信息发送至相应的测试人员。例如,具有高权限的测试人员可以获得到被测模块组的全部视图信息,具有较低权限的测试人员获得部分视图信息。
根据本发明实施例的软件测试方法,控制测试人员对被测软件实现运维操作,通过测试代理服务器对运维指令进行判断,在指令的传递过程中可以避免一些不允许的运维指令的执行,使得被测模块得到保护,进一步提高安全性。
一种软件测试系统,包括:运行被测软件的至少一个服务器,多个客户端、以及连接在至少一个服务器和多个客户端之间的测试代理服务器,被测软件具有多个被测模块,且多个被测模块被根据功能划分为多个被测模块组,至少两个被测模块组对于不同的测试人员具有不同的权限,其中,客户端,用于向测试代理服务器发送测试人员的控制指令,并接收测试代理服务器反馈的输出视图信息;测试代理服务器,用于接收测试人员的控制指令,并根据预存的权限信息将控制指令转发至对应的被测模块组,以及在被测模块组执行控制指令之后,测试代理服务器根据至少一个服务器的输出文件获得与控制指令相关的输出视图信息并发送至客户端;至少一个服务器,用于运行被测软件,用于接收控制指令并生成相应的输出文件。
图7为本发明一个实施例的软件测试系统的结构框图。
如图7所示,根据本发明实施例的软件测试系统包括服务器110、测试代理服务器120和多个客户端130。其中测试代理服务器120分别与多个客户端130线路和至少一个服务器110(图中示出两个)。
具体地,服务器110至少为一个,用于运行被测软件,用于接收控制指令并生成相应的输出文件。客户端130用于向测试代理服务器120发送测试人员的控制指令,并接收测试代理服务120反馈的输出视图信息。测试代理服务器120用于接收测试人员的控制指令,并根据预存的权限信息将控制指令转发至对应的被测模块组,以及在被测模块组执行控制指令之后,测试代理服务器120根据至少一个服务器110的输出文件获得与控制指令相关的输出视图信息并发送至客户端130。
在本发明的一个实施例中,控制指令包括配置指令、运维操作指令或测试指令。
在本发明的一个实施例中,视图信息包括被测模块组的配置信息、输出信息、状态信息和日志信息中的一种或多种。其中,视图为被测模块组实现对应功能的配置、输出和日志的集合。通过视图可以方便的向不同权限的测试人员展示不同的子集,权限越高的测试人员所能“看到”的视图越大,获取的信息也越多。
更具体地,运行在服务器110上的被测软件包括多个被测模块,首先,将相同功能的多个被测模块划分成一个被测模块组,其中每个被测模块组中至少包括一个被测模块,例如,某个搜索引擎的完成用户接入功能需要HTTP解析、防攻击、cache缓存等多个被测模块,这些被测模块划分成一个被测模块组,并生成相应的权限信息。其中至少两个被测模块组对于不同的测试人员具有不同的权限,例如一个被测模块组对于测试人员A完全开放,但是对于测试人员B完全屏蔽。
然后,客户端130负责相应被测模块组的测试人员根据实际需要向测试代理服务器120发送控制指令,测试代理服务器120接收到测试人员发送的控制指令,测试代理服务器120将被测模块组相应的权限信息与所发控制指令的测试人员的权限信息进行匹配,将匹配成功的测试人员发送的控制指令转发至对应的被测模块组所在的服务器110,如果匹配部分不成功,将匹配成功部分的控制指令发送至对应的被测模块组所在的服务器110。
在被测模块组执行控制指令之后,测试代理服务器120获得与控制指令相关的输出视图信息,测试代理服务器120将输出视图信息按照被测模块组的权限信息发送至相应的测试人员。例如,具有高权限的测试人员可以获得到被测模块组的全部视图信息,具有较低权限的测试人员获得部分视图信息。
根据本发明实施例的软件测试系统,根据功能将被测软件分成被测模块组并生成对应的权限信息,通过测试代理服务器测试人员根据自己的权限进行相应的测试操作,一方面可以对出于安全保密的原因不能开放给外包、远程等测试人员的软件开放进行测试,扩大测试人员的测试范围,且测试代理服务器负责分割视图,提高测试人员的效率和质量,另一方面被测软件通过功能分割得到保护,无需将被测软件提供给外包、远程等测试人员,且任何测试人员都不能获得完整的软件功能设计,从而无法进行反编译而获取源码,安全性高。
在本发明的一个实施例中,测试代理服务器120还用于根据预设的安全策略对输出视图信息进行过滤。
具体地,测试代理服务器120中预设一些安全策略,例如,控制核心功能模块的配置信息、输出信息和日志信息不能输出等。测试代理服务器120根据安全策略对输出视图信息进行保密过滤。
根据本发明实施例的软件测试系统,测试代理服务器通过安全策略对输出视图信息进行过滤,有效防止较重要或者核心信息外泄给测试人员,进一步提高安全性。
在本发明的一个实施例中,测试代理服务器120还用于对输出视图信息中的日志信息进行可读性转换。
例如,某条日志信息为:NOTICE:11-2910:19:54:dx.*1598232928[priority_queue.h:280][哪里买小米手机]id=db6c902300000094tn=samplesrv10si=1tm=13231fn=10dt=2817yt=10pt=10ct=9897at=24kt=1sl=11727rl=11785fs=102203ig=10,将id、tn、si等转换为文字描述,如将tn转换为请求命中的模板名。
根据本发明实施例的软件测试系统,测试代理服务器实现对输出视图信息中的日志信息进行可读性转换,一方面可以防止信息泄露,另一方面增加可读性,方便测试人员测试。
在本发明的一个实施例中,测试代理服务器120还用于根据控制指令获得控制指令对应的正则表达式集,并根据正则表达式集对输出文件进行过滤以获得满足权限信息的输出视图信息。
具体地,首先测试代理服务器120在进行被测模块组划分时预先在配置文件中设置正则表达式集,然后测试代理服务器120在接收到控制指令之后,根据控制指令对应的被测模块组获取相应的正则表达式,其中正则表达式中设置了允许输出文件的格式及内容,测试代理服务器120再根据正则表达式对输出文件进行匹配过滤,将不符合对应测试人员的权限信息的输出视图信息过滤剔除。
根据本发明实施例的软件测试系统,通过测试代理服务器根据正则表达式集对输出文件进行过滤以获得满足权限信息的输出视图信息,进一步提升安全性
在本发明的一个实施例中,测试代理服务器120用于根据配置指令和权限信息获得被测模块组的配置信息,并将具有配置信息的配置页面显示给测试人员,以及根据测试人员对配置信息的修改对被测模块组的配置进行修改。
具体地,当测试人员构造的测试场景需要修改被测模块组的配置时,向测试代理服务器120发送配置指令,测试代理服务器120根据配置指令和权限信息在被测模块组的视图信息中查找以获得被测模块组的配置信息。然后,测试代理服务器120将获取到的被测模块配置信息放置到一个可供修改的web页面上显示给测试人员进行查看和修改。测试人员在对web页面上的配置信息进行修改和确认后提交给测试代理服务器120,测试代理服务器120接收修改后的配置信息,最后将接收到的测试人员提交的修改后的配置信息替换到被测模块组的配置中,完成对被测模块组配置信息的修改。
根据本发明实施例的软件测试系统,通过测试代理服务器可以实现测试人员对被测模块组的配置信息的修改。
在本发明的一个实施例中,测试代理服务器120用于在运维操作指令属于测试代理服务器120预存的运维文件时将运维操作指令发送至被测服务器110以执行运维操作指令,并在运维操作指令不属于测试代理服务器120预存的运维文件时,向测试人员发出运维操作指令超出权限的提示。
具体地,在测试代理服务器120中预置了运维文件,该运维文件对测试人员不可见,如果测试代理服务器120检测到控制指令为配置指令,在预置的运维文件中查找该运维操作指令,判断测试人员发送的运维操作指令是否属于测试代理服务器中预存的运维文件,如果测试代理服务器120在预存的运维文件中未查找到该运维操作指令,则提示测试人员所发送的运维操作指令超过权限,无法在测试模块中执行,如果测试代理服务器120在预存的运维文件中查找到了该运维操作指令,则将该指令转发至被测模块执行。
根据本发明实施例的软件测试系统,控制测试人员对被测软件实现运维操作,通过测试代理服务器对运维指令进行了配置,在指令的传递过程中可以避免一些不允许的运维指令的执行,使得被测模块得到保护,进一步提高安全性。
一种软件测试方法,包括以下步骤:对被测软件中的至少一个被测模块进行功能划分,以生成多个功能模块组并生成每个功能模块组相应的权限信息,其中,至少两个功能模块组对于不同的测试人员具有不同的权限;测试代理服务器接收测试人员的控制指令;测试代理服务器根据测试人员的权限信息将控制指令转发至被测模块;在被测模块执行控制指令之后,测试代理服务器获得被测模块的输出文件;测试代理服务器根据权限信息从输出文件中分离出与权限信息对应的功能模块相关的输出视图信息;以及测试代理服务器将输出视图信息发送至测试人员。
图8为本发明一个实施例的软件测试方法的流程图。
如图8所示,根据本发明实施例的软件测试方法包括下述步骤。
步骤S701,对被测软件中的至少一个被测模块进行功能划分,以生成多个功能模块组并生成每个功能模块组相应的权限信息,其中,至少两个功能模块组对于不同的测试人员具有不同的权限。
具体地,被测软件可以包括一个被测模块或者多个被测模块,对一个被测模块或者多个被测模块进行功能划分以生成多个功能模块组,例如,某个被测模块完成cache缓存功能,将该被测模块按照数据收发、配置、日志、运维等功能划分成多个功能模块组,其中每个功能模块组中至少包括一个功能模块。然后生成每个功能模块组相应的权限信息,至少两个功能模块组对于不同的测试人员具有不同的权限,例如一个功能模块组对于测试人员A完全开放,但是对于测试人员B完全屏蔽。
步骤S702,测试代理服务器接收测试人员的控制指令。
在本发明的一个实施例中,控制指令包括配置指令、运维操作指令或测试指令。
具体地,每个功能模块组相应的权限信息生成之后,负责相应功能模块组的测试人员根据实际需要向测试代理服务器发送控制指令,测试代理服务器接收到测试人员发送的控制指令。
步骤S703,测试代理服务器根据测试人员的权限信息将控制指令转发至对应的被测模块。
具体地,测试代理服务器接收到控制指令之后,测试代理服务器将被测模块相应的权限信息与所发控制指令的测试人员的权限信息进行匹配,将匹配成功的测试人员发送的控制指令转发至对应的被测模块,如果匹配部分不成功,将匹配成功部分的控制指令发送至对应被测模块中的功能模块组,例如测试人员只有部分配置权限,但是该测试人员发送了全部的配置指令,测试代理服务器只将权限内的部分配置指令发送至被测模块中。
步骤S704,在被测模块执行控制指令之后,测试代理服务器获得被测模块的输出文件。
具体地,在被测模块执行控制指令之后,被测模块根据控制指令生成一系列的执行结果、操作信息、日志文件记录等,并且保存在被测模块的相关目录如log下的文件中,测试代理服务器监视到相应的文件变化时将变化的信息获取并打印到自身目录下的日志文件中作为被测模块的输出文件。
步骤S705,测试代理服务器根据权限信息从输出文件中分离出与权限信息对应的功能模块相关的输出视图信息。
具体地,在被测模块的输出文件中含有不同功能模块组的输出视图信息,测试代理服务器根据权限信息将输出文件中对应权限信息的功能模块相关的输出视图信息分离出来,将超出权限的或者其他功能模块的输出信息剥离。
步骤S706,测试代理服务器将输出视图信息发送至测试人员。
具体地,测试代理服务器根据权限信息从输出文件中分离出与权限信息对应的功能模块相关的输出视图信息之后发送至相应的测试人员。
根据本发明实施例的软件测试方法,将被测模块按照功能将被测模块分成多个功能模块组并生成对应的权限信息,测试人员根据自己的权限进行相应的测试操作,一方面可以对出于安全保密的原因不能开放给外包、远程等测试人员的模块开放进行测试,扩大测试人员的测试范围,且测试代理服务器负责分割视图,提高测试人员的效率和质量,另一方面被测模块通过功能分割得到保护,无需将被测模块提供给外包、远程等测试人员,且任何测试人员都不能获得完整的被测模块的功能设计,从而无法进行反编译而获取源码。
图9为本发明一个实施例的软件测试方法的流程图。
如图9所示,根据本发明实施例的软件测试方法包括下述步骤。
步骤S801,对被测软件中的至少一个被测模块进行功能划分,以生成多个功能模块组并生成每个功能模块组相应的权限信息,其中,至少两个功能模块组对于不同的测试人员具有不同的权限。
具体地,被测软件可以包括一个被测模块或者多个被测模块,对一个被测模块或者多个被测模块进行功能划分以生成多个功能模块组,例如,某个被测模块完成cache缓存功能,将该被测模块按照数据收发、配置、日志、运维等功能划分成多个功能模块组,其中每个功能模块组中至少包括一个功能模块。然后生成每个功能模块组相应的权限信息,至少两个功能模块组对于不同的测试人员具有不同的权限,例如一个功能模块组对于测试人员A完全开放,但是对于测试人员B完全屏蔽。
步骤S802,测试代理服务器接收测试人员的控制指令。
在本发明的一个实施例中,控制指令包括配置指令、运维操作指令或测试指令。
具体地,每个功能模块组相应的权限信息生成之后,负责相应功能模块组的测试人员根据实际需要向测试代理服务器发送控制指令,测试代理服务器接收到测试人员发送的控制指令。
步骤S803,测试代理服务器根据测试人员的权限信息将控制指令转发至对应的被测模块。
具体地,测试代理服务器接收到控制指令之后,测试代理服务器将被测模块相应的权限信息与所发控制指令的测试人员的权限信息进行匹配,将匹配成功的测试人员发送的控制指令转发至对应的被测模块,如果匹配部分不成功,将匹配成功部分的控制指令发送至对应被测模块中的功能模块组,例如测试人员只有部分配置权限,但是该测试人员发送了全部的配置指令,测试代理服务器只将权限内的部分配置指令发送至被测模块中。
步骤S804,在被测模块执行控制指令之后,测试代理服务器获得被测模块的输出文件。
具体地,在被测模块执行控制指令之后,被测模块根据控制指令生成一系列的执行结果、操作信息、日志文件记录等,并且保存在被测模块的相关目录如log下的文件中,测试代理服务器监视到相应的文件变化时将变化的信息获取并打印到自身目录下的日志文件中作为被测模块的输出文件。
步骤S805,测试代理服务器根据权限信息从输出文件中分离出与权限信息对应的功能模块相关的输出视图信息。
具体地,在被测模块的输出文件中含有不同功能模块组的输出视图信息,测试代理服务器根据权限信息将输出文件中对应权限信息的功能模块相关的输出视图信息分离出来,将超出权限的或者其他功能模块的输出信息剥离。
步骤S806,测试代理服务器根据预设的安全策略对输出视图信息进行过滤。
具体地,测试代理服务器中预设一些安全策略,例如,控制核心功能模块的配置信息、输出信息和日志信息不能输出等。测试代理服务器根据安全策略对输出视图信息进行保密过滤。
步骤S807,测试代理服务器将输出视图信息发送至测试人员。
具体地,测试代理服务器根据权限信息从输出文件中分离出与权限信息对应的功能模块相关的输出视图信息之后发送至相应的测试人员。
根据本发明实施例的软件测试方法,通过安全策略对输出视图信息进行过滤,有效防止较重要或者核心信息外泄给测试人员,进一步提高安全性。
图10为本发明一个实施例的软件测试方法的流程图。
如图10所示,根据本发明实施例的软件测试方法包括下述步骤。
步骤S901,对被测软件中的至少一个被测模块进行功能划分,以生成多个功能模块组并生成每个功能模块组相应的权限信息,其中,至少两个功能模块组对于不同的测试人员具有不同的权限。
具体地,被测软件可以包括一个被测模块或者多个被测模块,对一个被测模块或者多个被测模块进行功能划分以生成多个功能模块组,例如,某个被测模块完成cache缓存功能,将该被测模块按照数据收发、配置、日志、运维等功能划分成多个功能模块组,其中每个功能模块组中至少包括一个功能模块。然后生成每个功能模块组相应的权限信息,至少两个功能模块组对于不同的测试人员具有不同的权限,例如一个功能模块组对于测试人员A完全开放,但是对于测试人员B完全屏蔽。
步骤S902,测试代理服务器接收测试人员的控制指令。
在本发明的一个实施例中,控制指令包括配置指令、运维操作指令或测试指令。
具体地,每个功能模块组相应的权限信息生成之后,负责相应功能模块组的测试人员根据实际需要向测试代理服务器发送控制指令,测试代理服务器接收到测试人员发送的控制指令。
步骤S903,测试代理服务器根据测试人员的权限信息将控制指令转发至对应的被测模块。
具体地,测试代理服务器接收到控制指令之后,测试代理服务器将被测模块相应的权限信息与所发控制指令的测试人员的权限信息进行匹配,将匹配成功的测试人员发送的控制指令转发至对应的被测模块,如果匹配部分不成功,将匹配成功部分的控制指令发送至对应被测模块中的功能模块组,例如测试人员只有部分配置权限,但是该测试人员发送了全部的配置指令,测试代理服务器只将权限内的部分配置指令发送至被测模块中。。
步骤S904,在被测模块执行控制指令之后,测试代理服务器获得被测模块的输出文件。
具体地,在被测模块执行控制指令之后,被测模块根据控制指令生成一系列的执行结果、操作信息、日志文件记录等,并且保存在被测模块的相关目录如log下的文件中,测试代理服务器监视到相应的文件变化时将变化的信息获取并打印到自身目录下的日志文件中作为被测模块的输出文件。
步骤S905,测试代理服务器根据权限信息从输出文件中分离出与权限信息对应的功能模块相关的输出视图信息。
具体地,在被测模块的输出文件中含有不同功能模块组的输出视图信息,测试代理服务器根据权限信息将输出文件中对应权限信息的功能模块相关的输出视图信息分离出来,将超出权限的或者其他功能模块的输出信息剥离。
步骤S906,测试代理服务器根据预设的安全策略对输出视图信息进行过滤。
具体地,测试代理服务器中预设一些安全策略,例如,控制核心功能模块的配置信息、输出信息和日志信息不能输出等。测试代理服务器根据安全策略对输出视图信息进行保密过滤。
步骤S907,测试代理服务器对输出视图信息中的日志信息进行可读性转换。
例如,某条日志信息为:NOTICE:11-2910:19:54:dx.*1598232928[priority_queue.h:280][哪里买小米手机]id=db6c902300000094tn=samplesrv10si=1tm=13231fn=10dt=2817yt=10pt=10ct=9897at=24kt=1sl=11727rl=11785fs=102203ig=10,将id、tn、si等转换为文字描述,如将tn转换为请求命中的模板名。
步骤S908,测试代理服务器将输出视图信息发送至测试人员。
具体地,测试代理服务器根据权限信息从输出文件中分离出与权限信息对应的功能模块相关的输出视图信息之后发送至相应的测试人员。
根据本发明实施例的软件测试方法,测试代理服务器对输出视图信息中的日志信息进行可读性转换,一方面可以防止信息泄露,另一方面增加可读性,方便测试人员测试。
图11为本发明一个实施例的软件测试方法的流程图。
如图11所示,根据本发明实施例的软件测试方法包括下述步骤。
步骤S1001,被测软件中的至少一个被测模块进行功能划分,以生成多个功能模块组并生成每个功能模块组相应的权限信息,其中,至少两个功能模块组对于不同的测试人员具有不同的权限。
具体地,被测软件可以包括一个被测模块或者多个被测模块,对一个被测模块或者多个被测模块进行功能划分以生成多个功能模块组,例如,某个被测模块完成cache缓存功能,将该被测模块按照数据收发、配置、日志、运维等功能划分成多个功能模块组,其中每个功能模块组中至少包括一个功能模块。然后生成每个功能模块组相应的权限信息,至少两个功能模块组对于不同的测试人员具有不同的权限,例如一个功能模块组对于测试人员A完全开放,但是对于测试人员B完全屏蔽。
步骤S1002,测试代理服务器接收测试人员的控制指令。
在本发明的一个实施例中,控制指令包括配置指令、运维操作指令或测试指令。
具体地,每个功能模块组相应的权限信息生成之后,负责相应功能模块组的测试人员根据实际需要向测试代理服务器发送控制指令,测试代理服务器接收到测试人员发送的控制指令。
步骤S1003,测试代理服务器根据测试人员的权限信息将控制指令转发至对应的被测模块。
具体地,测试代理服务器接收到控制指令之后,测试代理服务器将被测模块相应的权限信息与所发控制指令的测试人员的权限信息进行匹配,将匹配成功的测试人员发送的控制指令转发至对应的被测模块,如果匹配部分不成功,将匹配成功部分的控制指令发送至对应被测模块中的功能模块组,例如测试人员只有部分配置权限,但是该测试人员发送了全部的配置指令,测试代理服务器只将权限内的部分配置指令发送至被测模块中。
步骤S1004,在被测模块执行控制指令之后,测试代理服务器获得被测模块的输出文件。
具体地,在被测模块执行控制指令之后,被测模块根据控制指令生成一系列的执行结果、操作信息、日志文件记录等,并且保存在被测模块的相关目录如log下的文件中,测试代理服务器监视到相应的文件变化时将变化的信息获取并打印到自身目录下的日志文件中作为被测模块的输出文件。
步骤S1005,测试代理服务器根据功能模块组获得正则表达式集。
具体地,首先测试代理服务器在进行功能模块组划分时预先在配置文件中设置正则表达式集,测试代理服务器在接收到控制指令后,根据控制指令对应的功能模块组获取相应的正则表达式集。
步骤S1006,测试代理服务器根据正则表达式集从输出文件中分离出与权限信息对应的功能模块相关的输出视图信息。
具体地,预先设置的正则表达式中设置了与权限信息相对应的功能模块的信息,测试代理服务器根据正则表达式对输出文件进行匹配过滤,将不对应的功能模块的输出视图信息过滤剔除。
步骤S1007,测试代理服务器根据预设的安全策略对输出视图信息进行过滤。
具体地,测试代理服务器中预设一些安全策略,例如,控制核心功能模块的配置信息、输出信息和日志信息不能输出等。测试代理服务器根据安全策略对输出视图信息进行保密过滤。
步骤S1008,测试代理服务器对所述输出视图信息中的日志信息进行可读性转换。
例如,某条日志信息为:NOTICE:11-2910:19:54:dx.*1598232928[priority_queue.h:280][哪里买小米手机]id=db6c902300000094tn=samplesrv10si=1tm=13231fn=10dt=2817yt=10pt=10ct=9897at=24kt=1sl=11727rl=11785fs=102203ig=10,将id、tn、si等转换为文字描述,如将tn转换为请求命中的模板名。
步骤S1009,测试代理服务器将输出视图信息发送至测试人员。
具体地,测试代理服务器根据权限信息从输出文件中分离出与权限信息对应的功能模块相关的输出视图信息之后发送至相应的测试人员。
根据本发明实施例的软件测试方法,测试代理服务器根据正则表达式集对输出文件进行过滤以获得满足权限信息的输出视图信息,进一步提升安全性。
图12为本发明一个实施例的软件测试方法的流程图。
如图12所示,根据本发明实施例的软件测试方法包括下述步骤。
步骤S1101,对被测软件中的至少一个被测模块进行功能划分,以生成多个功能模块组并生成每个功能模块组相应的权限信息,其中,至少两个功能模块组对于不同的测试人员具有不同的权限。
具体地,被测软件可以包括一个被测模块或者多个被测模块,对一个被测模块或者多个被测模块进行功能划分以生成多个功能模块组,例如,某个被测模块完成cache缓存功能,将该被测模块按照数据收发、配置、日志、运维等功能划分成多个功能模块组,其中每个功能模块组中至少包括一个功能模块。然后生成每个功能模块组相应的权限信息,至少两个功能模块组对于不同的测试人员具有不同的权限,例如一个功能模块组对于测试人员A完全开放,但是对于测试人员B完全屏蔽。
步骤S1102,测试代理服务器接收测试人员的控制指令。
在本发明的一个实施例中,控制指令包括配置指令、运维操作指令或测试指令。
具体地,每个功能模块组相应的权限信息生成之后,负责相应功能模块组的测试人员根据实际需要向测试代理服务器发送控制指令,测试代理服务器接收到测试人员发送的控制指令。
步骤S1103,如果控制指令为配置指令,测试代理服务器根据配置指令和权限信息获得功能模块组的配置信息。
具体地,当测试人员构造的测试场景需要修改功能模块的配置时,向测试代理服务器发送配置指令,测试代理服务器根据配置指令和权限信息在被测模块的视图信息中查找以获得功能模块组的配置信息。
步骤S1104,测试代理服务器将具有配置信息的配置页面显示给测试人员。
具体地,测试代理服务器将获取到的功能模块组配置信息放置到一个可供修改的web页面上显示给测试人员进行查看和修改。
步骤S1105,测试代理服务器接收测试人员在配置页面中对配置信息的修改。
具体地,测试人员在对web页面上的配置信息进行修改和确认后提交给测试代理服务器,测试代理服务器接收修改后的配置信息。
步骤S1106,测试代理服务器根据对配置信息的修改对功能模块组的配置进行修改。
具体地,测试代理服务器将接收到的测试人员提交的修改后的配置信息替换到功能模块组的配置中,完成对功能模块配置信息的修改。
步骤S1107,在被测模块执行控制指令之后,测试代理服务器获得被测模块的输出文件。
具体地,在被测模块执行控制指令之后,被测模块根据控制指令生成一系列的执行结果、操作信息、日志文件记录等,并且保存在被测模块的相关目录如log下的文件中,测试代理服务器监视到相应的文件变化时将变化的信息获取并打印到自身目录下的日志文件中作为被测模块的输出文件。
步骤S1108,测试代理服务器根据功能模块组获得正则表达式集。
具体地,首先测试代理服务器在进行功能模块组划分时预先在配置文件中设置正则表达式集,测试代理服务器在接收到控制指令后,根据控制指令对应的功能模块组获取相应的正则表达式集。
步骤S1109,测试代理服务器根据正则表达式集从输出文件中分离出与权限信息对应的功能模块相关的输出视图信息。
具体地,预先设置的正则表达式中设置了与权限信息相对应的功能模块的信息,测试代理服务器根据正则表达式对输出文件进行匹配过滤,将不对应的功能模块的输出视图信息过滤剔除。
步骤S1110,测试代理服务器根据预设的安全策略对输出视图信息进行过滤。
具体地,测试代理服务器中预设一些安全策略,例如,控制核心功能模块的配置信息、输出信息和日志信息不能输出等。测试代理服务器根据安全策略对输出视图信息进行保密过滤。
步骤S1111,测试代理服务器对所述输出视图信息中的日志信息进行可读性转换。
例如,某条日志信息为:NOTICE:11-2910:19:54:dx.*1598232928[priority_queue.h:280][哪里买小米手机]id=db6c902300000094tn=samplesrv10si=1tm=13231fn=10dt=2817yt=10pt=10ct=9897at=24kt=1sl=11727rl=11785fs=102203ig=10,将id、tn、si等转换为文字描述,如将tn转换为请求命中的模板名。
步骤S1112,测试代理服务器将输出视图信息发送至测试人员。
具体地,测试代理服务器根据权限信息从输出文件中分离出与权限信息对应的功能模块相关的输出视图信息之后发送至相应的测试人员。
根据本发明实施例的软件测试方法,实现测试人员对被测模块组的配置信息的修改。
图13为本发明一个实施例的软件测试方法的流程图。
如图12所示,根据本发明实施例的软件测试方法包括下述步骤。
步骤S1201,被测软件中的至少一个被测模块进行功能划分,以生成多个功能模块组并生成每个功能模块组相应的权限信息,其中,至少两个功能模块组对于不同的测试人员具有不同的权限。
具体地,被测软件可以包括一个被测模块或者多个被测模块,对一个被测模块或者多个被测模块进行功能划分以生成多个功能模块组,例如,某个被测模块完成cache缓存功能,将该被测模块按照数据收发、配置、日志、运维等功能划分成多个功能模块组,其中每个功能模块组中至少包括一个功能模块。然后生成每个功能模块组相应的权限信息,至少两个功能模块组对于不同的测试人员具有不同的权限,例如一个功能模块组对于测试人员A完全开放,但是对于测试人员B完全屏蔽。
步骤S1202,测试代理服务器接收测试人员的控制指令。
在本发明的一个实施例中,控制指令包括配置指令、运维操作指令或测试指令。
具体地,每个功能模块组相应的权限信息生成之后,负责相应功能模块组的测试人员根据实际需要向测试代理服务器发送控制指令,测试代理服务器接收到测试人员发送的控制指令。
步骤S1203,如果控制指令为运维操作指令,测试代理服务器判断运维操作指令是否属于测试代理服务器预存的运维文件。
具体地,在测试代理服务器中预置了运维文件,该运维文件对测试人员不可见,如果测试代理服务器检测到控制指令为配置指令,在预置的运维文件中查找该运维操作指令,判断测试人员发送的运维操作指令是否属于测试代理服务器中预存的运维文件。
步骤S1204,如果不属于,测试代理服务器则向测试人员发出运维操作指令超出权限的提示
具体地,如果测试代理服务器在预存的运维文件中未查找到该运维操作指令,则提示测试人员所发送的运维操作指令超过权限,无法在测试模块中执行。
步骤S1205,如果属于,所述测试代理服务器将所述运维操作指令发送至被测模块以执行运维操作指令。
具体地,如果测试代理服务器在预存的运维文件中查找到了该运维操作指令,则测试代理服务器将该指令转发至被测模块执行。
步骤S1206,在被测模块执行控制指令之后,测试代理服务器获得被测模块的输出文件。
具体地,在被测模块执行控制指令之后,被测模块根据控制指令生成一系列的执行结果、操作信息、日志文件记录等,并且保存在被测模块的相关目录如log下的文件中,测试代理服务器监视到相应的文件变化时将变化的信息获取并打印到自身目录下的日志文件中作为被测模块的输出文件。
步骤S1207,测试代理服务器根据功能模块组获得正则表达式集。
具体地,首先测试代理服务器在进行功能模块组划分时预先在配置文件中设置正则表达式集,测试代理服务器在接收到控制指令后,根据控制指令对应的功能模块组获取相应的正则表达式集。
步骤S1208,测试代理服务器根据正则表达式集从输出文件中分离出与权限信息对应的功能模块相关的输出视图信息。
具体地,预先设置的正则表达式中设置了与权限信息相对应的功能模块的信息,测试代理服务器根据正则表达式对输出文件进行匹配过滤,将不对应的功能模块的输出视图信息过滤剔除。
步骤S1209,测试代理服务器根据预设的安全策略对输出视图信息进行过滤。
具体地,测试代理服务器中预设一些安全策略,例如,控制核心功能模块的配置信息、输出信息和日志信息不能输出等。测试代理服务器根据安全策略对输出视图信息进行保密过滤。
步骤S1210,测试代理服务器对输出视图信息中的日志信息进行可读性转换。
例如,某条日志信息为:NOTICE:11-2910:19:54:dx.*1598232928[priority_queue.h:280][哪里买小米手机]id=db6c902300000094tn=samplesrv10si=1tm=13231fn=10dt=2817yt=10pt=10ct=9897at=24kt=1sl=11727rl=11785fs=102203ig=10,将id、tn、si等转换为文字描述,如将tn转换为请求命中的模板名。
步骤S1211,测试代理服务器将输出视图信息发送至测试人员。
具体地,测试代理服务器根据权限信息从输出文件中分离出与权限信息对应的功能模块相关的输出视图信息之后发送至相应的测试人员。
根据本发明实施例的软件测试方法,控制测试人员对被测模块实现运维操作,通过测试代理服务器对运维指令进行了配置,在指令的传递过程中可以避免一些不允许的运维指令的执行,使得被测模块得到保护,进一步提高安全性。
一种软件测试系统,包括:运行被测软件中被测模块的服务器、多个客户端、以及连接在服务器和多个客户端之间的测试代理服务器,被测模块具有多个功能模块,且多个功能模块被根据功能划分为多个功能模块组,至少两个功能模块组对于不同的测试人员具有不同的权限,其中,客户端,用于向测试代理服务器发送测试人员的控制指令,并接收测试代理服务器反馈的输出视图信息;测试代理服务器,用于接收测试人员的控制指令,并根据预存的权限信息将控制指令转发至对应的被测模块,以及在被测模块执行控制指令之后,根据权限信息从被测模块的输出文件中分离出与权限信息对应的功能模块相关的输出视图信息并发送至客户端;服务器,用于运行被测软件的被测模块,用于接收控制指令并生成相应的输出文件。
图14为本发明一个实施例的软件测试系统的结构框图。
如图14所示,根据本发明实施例的软件测试系统包括服务器210、测试代理服务器220和多个客户端230。其中测试代理服务器220分别与多个客户端230和至少一个服务器210相连(图中示出两个)。
具体地,服务器210至少为一个,用于运行被测软件中被测模块,用于接收控制指令并生成相应的输出文件。测试代理服务器220用于接收测试人员的控制指令,并根据预存的权限信息将控制指令转发至对应的被测模块,以及在被测模块执行控制指令之后,根据权限信息从被测模块的输出文件中分离出与权限信息对应的功能模块相关的输出视图信息并发送至客户端230。客户端230用于向测试代理服务器220发送测试人员的控制指令,并接收测试代理服务器220反馈的输出视图信息。
在本发明的一个实施例中,控制指令包括配置指令、运维操作指令或测试指令。
在本发明的一个实施例中,视图信息包括被测模块组的配置信息、输出信息、状态信息和日志信息中的一种或多种。其中,视图为被测模块组实现对应功能的配置、输出和日志的集合。通过视图可以方便的向不同权限的测试人员展示不同的子集,权限越高的测试人员所能“看到”的视图越大,获取的信息也越多。
更具体地,运行在服务器210上的被测软件中的被测模块可以包括一个被测模块或者多个被测模块,首先,对一个被测模块或者多个被测模块进行功能划分以生成多个功能模块组,例如,某个被测模块完成cache缓存功能,将该被测模块按照数据收发、配置、日志、运维等功能划分成多个功能模块组,其中每个功能模块组中至少包括一个功能模块。然后生成每个功能模块组相应的权限信息,至少两个功能模块组对于不同的测试人员具有不同的权限,例如一个功能模块组对于测试人员A完全开放,但是对于测试人员B完全屏蔽。
然后,客户端230负责相应功能模块组的测试人员根据实际需要向测试代理服务器220发送控制指令,测试代理服务器220接收到测试人员发送的控制指令,测试代理服务器220将被测模块相应的权限信息与所发控制指令的测试人员的权限信息进行匹配,将匹配成功的测试人员发送的控制指令转发至对应的被测模块,如果匹配部分不成功,将匹配成功部分的控制指令发送至对应被测模块中的功能模块组,例如测试人员只有部分配置权限,但是该测试人员发送了全部的配置指令,将权限内的部分配置指令发送至被测模块中。
在被测模块执行控制指令之后,被测模块根据控制指令生成一系列的执行结果、操作信息、日志文件记录等,并且保存在被测模块的相关目录如log下的文件中,测试代理服务器220监视到相应的文件变化时将变化的信息获取并打印到自身目录下的日志文件中作为被测模块的输出文件。
测试代理服务器220根据权限信息将输出文件中对应权限信息的功能模块相关的输出视图信息分离出来,将超出权限的或者其他功能模块的输出信息剥离,最后发送至相应的测试人员。
根据本发明实施例的软件测试系统,将被测模块按照功能将被测模块分成多个功能模块组并生成对应的权限信息,测试人员通过测试代理服务器根据自己的权限进行相应的测试操作,一方面可以对出于安全保密的原因不能开放给外包、远程等测试人员的模块开放进行测试,扩大测试人员的测试范围,且测试代理服务器负责分割视图,提高测试人员的效率和质量,另一方面被测模块通过功能分割得到保护,无需将被测模块提供给外包、远程等测试人员,且任何测试人员都不能获得完整的被测模块的功能设计,从而无法进行反编译而获取源码。
在本发明的一个实施例中,测试代理服务器220还用于根据预设的安全策略对输出视图信息进行过滤。
具体地,测试代理服务器220中预设一些安全策略,例如,控制核心功能模块的配置信息、输出信息和日志信息不能输出等。测试代理服务器220根据安全策略对输出视图信息进行保密过滤。
根据本发明实施例的软件测试系统,测试代理服务器通过安全策略对输出视图信息进行过滤,有效防止较重要或者核心信息外泄给测试人员,进一步提高安全性。
在本发明的一个实施例中,测试代理服务器220还用于对输出视图信息中的日志信息进行可读性转换。例如,某条日志信息为:NOTICE:11-2910:19:54:dx.*1598232928[priority_queue.h:280][哪里买小米手机]id=db6c902300000094tn=samplesrv10si=1tm=13231fn=10dt=2817yt=10pt=10ct=9897at=24kt=1sl=11727rl=11785fs=102203ig=10,将id、tn、si等转换为文字描述,如将tn转换为请求命中的模板名。
根据本发明实施例的软件测试系统,测试代理服务器实现对输出视图信息中的日志信息进行可读性转换,一方面可以防止信息泄露,另一方面增加可读性,方便测试人员测试。
在本发明的一个实施例中,测试代理服务器220用于根据功能模块组获得正则表达式集,并根据正则表达式集从输出文件中分离出与权限信息对应的功能模块相关的输出视图信息。
具体地,首先测试代理服务器220在进行功能模块组划分时预先在配置文件中设置正则表达式集,测试代理服务器220在接收到控制指令后,根据控制指令对应的功能模块组获取相应的正则表达式集,然后测试代理服务器220根据正则表达式对输出文件进行匹配过滤,将不对应的功能模块的输出视图信息过滤剔除。
在本发明的一个实施例中,测试代理服务器220用于根据配置指令和权限信息获得功能模块组的配置信息,并将具有配置信息的配置页面显示给测试人员,以及根据测试人员对配置信息的修改对功能模块组的配置进行修改。
具体地,当测试人员构造的测试场景需要修改功能模块的配置时,向测试代理服务器220发送配置指令,测试代理服务器220根据配置指令和权限信息在功能模块组的视图信息中查找以获得功能模块的配置信息。然后,测试代理服务器220将获取到的功能模块组配置信息放置到一个可供修改的web页面上显示给测试人员进行查看和修改。测试人员在对web页面上的配置信息进行修改和确认后提交给测试代理服务器220,测试代理服务器220接收修改后的配置信息,最后将接收到的测试人员提交的修改后的配置信息替换到功能模块组的配置中,完成对功能模块配置信息的修改。
根据本发明实施例的软件测试系统,通过测试代理服务器可以实现测试人员对功能模块组的配置信息的修改。
在本发明的一个实施例中,测试代理服务器220用于在运维操作指令属于测试代理服务器220预存的运维文件时将运维操作指令发送至被测服务器210以执行运维操作指令,并在运维操作指令不属于测试代理服务器220预存的运维文件时,向测试人员发出运维操作指令超出权限的提示。
具体地,在测试代理服务器220中预置了运维文件,该运维文件对测试人员不可见,如果测试代理服务器220检测到控制指令为配置指令,在预置的运维文件中查找该运维操作指令,判断测试人员发送的运维操作指令是否属于测试代理服务器220中预存的运维文件,如果测试代理服务器220在预存的运维文件中未查找到该运维操作指令,则提示测试人员所发送的运维操作指令超过权限,无法在测试模块中执行,如果测试代理服务器220在预存的运维文件中查找到了该运维操作指令,则测试代理服务器220将该指令转发至被测模块执行。
根据本发明实施例的软件测试系统,控制测试人员对被测软件实现运维操作,通过测试代理服务器对运维指令进行了配置,在指令的传递过程中可以避免一些不允许的运维指令的执行,使得被测模块得到保护,进一步提高安全性。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (32)

1.一种软件测试方法,其特征在于,包括以下步骤:
对被测软件中的多个被测模块进行功能划分,以生成多个被测模块组并生成每个被测模块组相应的权限信息,其中,至少两个所述被测模块组对于不同的测试人员具有不同的权限;
测试代理服务器接收测试人员的控制指令;
所述测试代理服务器根据所述测试人员的权限信息将所述控制指令转发至对应的被测模块组;
在所述被测模块组执行所述控制指令之后,所述测试代理服务器获得与所述控制指令相关的输出视图信息;以及
所述测试代理服务器将所述输出视图信息发送至所述测试人员。
2.如权利要求1所述的软件测试方法,其特征在于,在所述测试代理服务器将输出视图信息发送至所述测试人员之前,还包括:
所述测试代理服务器根据预设的安全策略对所述输出视图信息进行过滤。
3.如权利要求2所述的软件测试方法,其特征在于,所述输出视图信息包括所述被测模块组的配置信息、输出信息、状态信息和日志信息中的一种或多种。
4.如权利要求3所述的软件测试方法,其特征在于,还包括:
所述测试代理服务器对所述输出视图信息中的日志信息进行可读性转换。
5.如权利要求1-4任一项所述的软件测试方法,其特征在于,所述测试代理服务器获得与所述控制指令相关的输出视图信息进一步包括:
所述测试代理服务器获得所述控制指令对应的被测模块组的输出文件;
所述测试代理服务器根据所述被测模块组获得正则表达式集;以及
所述测试代理服务器根据所述正则表达式集对所述输出文件进行过滤以获得满足所述权限信息的所述输出视图信息。
6.如权利要求1所述的软件测试方法,其特征在于,所述控制指令包括配置指令、运维操作指令或测试指令。
7.如权利要求6所述的软件测试方法,其特征在于,如果所述控制指令为所述配置指令,则还包括:
所述测试代理服务器根据所述配置指令和所述权限信息获得所述被测模块组的配置信息;
所述测试代理服务器将具有所述配置信息的配置页面显示给所述测试人员;
所述测试代理服务器接收所述测试人员在所述配置页面中对所述配置信息的修改;以及
所述测试代理服务器根据对所述配置信息的修改对所述被测模块组的配置进行修改。
8.如权利要求6所述的软件测试方法,其特征在于,如果所述控制指令为所述运维操作指令,则还包括:
所述测试代理服务器判断所述运维操作指令是否属于所述测试代理服务器预存的运维文件;
如果判断属于,则所述测试代理服务器将所述运维操作指令发送至所述被测模块组以执行所述运维操作指令;以及
如果判断不属于,则所述测试代理服务器向所述测试人员发出所述运维操作指令超出权限的提示。
9.一种软件测试系统,其特征在于,包括运行被测软件的至少一个服务器,多个客户端、以及连接在所述至少一个服务器和所述多个客户端之间的测试代理服务器,所述被测软件具有多个被测模块,且所述多个被测模块被根据功能划分为多个被测模块组,至少两个所述被测模块组对于不同的测试人员具有不同的权限,其中,
所述客户端,用于向所述测试代理服务器发送测试人员的控制指令,并接收所述测试代理服务器反馈的输出视图信息;
所述测试代理服务器,用于接收所述测试人员的控制指令,并根据预存的权限信息将所述控制指令转发至对应的被测模块组,以及在所述被测模块组执行所述控制指令之后,所述测试代理服务器根据所述至少一个服务器的输出文件获得与所述控制指令相关的输出视图信息并发送至所述客户端;
所述至少一个服务器,用于运行所述被测软件,用于接收所述控制指令并生成相应的输出文件。
10.如权利要求9所述的软件测试系统,其特征在于,所述测试代理服务器还用于根据预设的安全策略对所述输出视图信息进行过滤。
11.如权利要求10所述的软件测试系统,其特征在于,所述输出视图信息包括所述被测模块组的配置信息、输出信息、状态信息和日志信息中的一种或多种。
12.如权利要求9所述的软件测试系统,其特征在于,所述测试代理服务器还用于对所述输出视图信息中的日志信息进行可读性转换。
13.如权利要求9所述的软件测试系统,其特征在于,所述测试代理服务器用于根据所述被测模块组获得正则表达式集,并根据所述正则表达式集对所述输出文件进行过滤以获得满足所述权限信息的所述输出视图信息。
14.如权利要求9所述的软件测试系统,其特征在于,所述控制指令包括配置指令、运维操作指令和测试指令。
15.如权利要求14所述的软件测试系统,其特征在于,所述测试代理服务器用于根据所述配置指令和所述权限信息获得所述被测模块组的配置信息,并将具有所述配置信息的配置页面显示给所述测试人员,以及根据所述测试人员对所述配置信息的修改对所述被测模块组的配置进行修改。
16.如权利要求14所述的软件测试系统,其特征在于,所述测试代理服务器用于在所述运维操作指令属于所述测试代理服务器预存的运维文件时将所述运维操作指令发送至所述被测模块组以执行所述运维操作指令,并在所述运维操作指令不属于所述测试代理服务器预存的运维文件时,向所述测试人员发出所述运维操作指令超出权限的提示。
17.一种软件测试方法,其特征在于,包括以下步骤:
对被测软件中的至少一个被测模块进行功能划分,以生成多个功能模块组并生成每个功能模块组相应的权限信息,其中,至少两个所述功能模块组对于不同的测试人员具有不同的权限;
测试代理服务器接收测试人员的控制指令;
所述测试代理服务器根据所述测试人员的权限信息将所述控制指令转发至所述被测模块;
在所述被测模块执行所述控制指令之后,所述测试代理服务器获得所述被测模块的输出文件;
所述测试代理服务器根据所述权限信息从所述输出文件中分离出与所述权限信息对应的功能模块相关的输出视图信息;以及
所述测试代理服务器将所述输出视图信息发送至所述测试人员。
18.如权利要求17所述的软件测试方法,其特征在于,在所述测试代理服务器将输出视图信息发送至所述测试人员之前,还包括:
所述测试代理服务器根据预设的安全策略对所述输出视图信息进行过滤。
19.如权利要求18所述的软件测试方法,其特征在于,所述输出视图信息包括所述被测模块组的配置信息、输出信息、状态信息和日志信息中的一种或多种。
20.如权利要求19所述的软件测试方法,其特征在于,还包括:
所述测试代理服务器对所述输出视图信息中的日志信息进行可读性转换。
21.如权利要求17-20任一项所述的软件测试方法,其特征在于,所述测试代理服务器根据所述权限信息从输出文件中分离出与所述权限信息对应的功能模块相关的输出视图信息进一步包括:
所述测试代理服务器根据所述功能模块组获得正则表达式集;以及
所述测试代理服务器根据所述正则表达式集从所述输出文件中分离出与所述权限信息对应的功能模块相关的输出视图信息。
22.如权利要求21所述的软件测试方法,其特征在于,所述控制指令包括配置指令、运维操作指令和测试指令。
23.如权利要求22所述的软件测试方法,其特征在于,如果所述控制指令为所述配置指令,则还包括:
所述测试代理服务器根据所述配置指令和所述权限信息获得所述功能模块组的配置信息;
所述测试代理服务器将具有所述配置信息的配置页面显示给所述测试人员;
所述测试代理服务器接收所述测试人员在所述配置页面中对所述配置信息的修改;以及
所述测试代理服务器根据对所述配置信息的修改对所述功能模块组的配置进行修改。
24.如权利要求22所述的软件测试方法,其特征在于,如果所述控制指令为所述运维操作指令,则还包括:
所述测试代理服务器判断所述运维操作指令是否属于所述测试代理服务器预存的运维文件;
如果判断属于,则所述测试代理服务器将所述运维操作指令发送至所述被测模块以执行所述运维操作指令;以及
如果判断不属于,则所述测试代理服务器向所述测试人员发出所述运维操作指令超出权限的提示。
25.一种软件测试系统,其特征在于,包括运行被测软件中被测模块的服务器、多个客户端、以及连接在所述服务器和所述多个客户端之间的测试代理服务器,所述被测模块具有多个功能模块,且所述多个功能模块被根据功能划分为多个功能模块组,至少两个所述功能模块组对于不同的测试人员具有不同的权限,其中,
所述客户端,用于向所述测试代理服务器发送测试人员的控制指令,并接收所述测试代理服务器反馈的输出视图信息;
所述测试代理服务器,用于接收所述测试人员的控制指令,并根据预存的权限信息将所述控制指令转发至对应的被测模块,以及在所述被测模块执行所述控制指令之后,根据所述权限信息从所述被测模块的输出文件中分离出与所述权限信息对应的功能模块相关的输出视图信息并发送至所述客户端;
所述服务器,用于运行所述被测软件的被测模块,用于接收所述控制指令并生成相应的所述输出文件。
26.如权利要求25所述的软件测试系统,其特征在于,所述测试代理服务器还用于根据预设的安全策略对所述输出视图信息进行过滤。
27.如权利要求26所述的软件测试系统,其特征在于,所述输出视图信息包括所述被测模块组的配置信息、输出信息、状态信息和日志信息中的一种或多种。
28.如权利要求26所述的软件测试系统,其特征在于,所述测试代理服务器还用于对所述输出视图信息中的日志信息进行可读性转换。
29.如权利要求25所述的软件测试系统,其特征在于,所述测试代理服务器用于根据所述功能模块组获得正则表达式集,并根据所述正则表达式集从所述输出文件中分离出与所述权限信息对应的功能模块相关的输出视图信息。
30.如权利要求25所述的软件测试系统,其特征在于,所述控制指令包括配置指令、运维操作指令和测试指令。
31.如权利要求30所述的软件测试系统,其特征在于,所述测试代理服务器用于根据所述配置指令和所述权限信息获得所述功能模块组对应的配置信息,并将具有所述配置信息的配置页面显示给所述测试人员,以及根据所述测试人员对所述配置信息的修改对所述被测模块中所述功能模块组的配置进行修改。
32.如权利要求30所述的软件测试系统,其特征在于,所述测试代理服务器用于在所述运维操作指令属于所述测试代理服务器预存的运维文件时将所述运维操作指令发送至所述被测模块以执行所述运维操作指令,并在所述运维操作指令不属于所述测试代理服务器预存的运维文件时,向所述测试人员发出所述运维操作指令超出权限的提示。
CN201210059593.XA 2012-03-08 2012-03-08 软件测试方法和系统 Active CN103309795B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210059593.XA CN103309795B (zh) 2012-03-08 2012-03-08 软件测试方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210059593.XA CN103309795B (zh) 2012-03-08 2012-03-08 软件测试方法和系统

Publications (2)

Publication Number Publication Date
CN103309795A CN103309795A (zh) 2013-09-18
CN103309795B true CN103309795B (zh) 2015-12-09

Family

ID=49135042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210059593.XA Active CN103309795B (zh) 2012-03-08 2012-03-08 软件测试方法和系统

Country Status (1)

Country Link
CN (1) CN103309795B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914383A (zh) * 2014-04-04 2014-07-09 福州大学 一种基于多种群协同演化遗传算法的模糊测试系统
CN104572176B (zh) * 2014-12-18 2018-01-09 国云科技股份有限公司 一种大型软件启动部署检测框架的运行方法
CN104699612B (zh) * 2015-03-25 2019-05-31 北京嘀嘀无限科技发展有限公司 用于软件测试中的处理方法、设备和系统
CN105159833A (zh) * 2015-09-30 2015-12-16 努比亚技术有限公司 自动化测试装置及方法
CN105450476B (zh) * 2015-12-07 2019-03-19 北京先进数通信息技术股份公司 一种回归测试系统及测试方法
CN105930196B (zh) * 2016-05-25 2019-03-22 厦门市美亚柏科信息股份有限公司 基于模式匹配快速批量下载安卓文件的方法及系统
CN106201877B (zh) * 2016-07-08 2018-09-14 福州市鼓楼区森林创数文化传播有限公司 一种fps游戏道具的测试方法
CN107957954B (zh) * 2017-12-19 2021-06-29 郑州云海信息技术有限公司 一种Linux系统下提高测试数据安全性的方法和系统
CN108984398A (zh) * 2018-06-28 2018-12-11 广州视源电子科技股份有限公司 软件测试的方法、装置、电子装置及存储介质
CN110830319B (zh) * 2018-08-10 2021-07-20 长鑫存储技术有限公司 集成电路测试的管理方法、装置和系统
CN109597762A (zh) * 2018-11-28 2019-04-09 平安科技(深圳)有限公司 系统交叉测试法、系统、电子装置及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0416993D0 (en) * 2004-07-29 2004-09-01 Nec Technologies Uk Ltd Method of testing integrity of a mobile radio communications device and related apparatus
CN101145127A (zh) * 2006-09-12 2008-03-19 中兴通讯股份有限公司 一种基于设备的软件测试自动化系统及其方法
CN101487769A (zh) * 2008-01-18 2009-07-22 中兴通讯股份有限公司 一种自动化测试系统及其方法
CN101521899A (zh) * 2009-03-31 2009-09-02 大连海事大学 用于移动应用程序的机上测试系统和方法
CN101944060A (zh) * 2010-09-10 2011-01-12 华南理工大学 一种基于嵌入式软件的细粒度检测方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0416993D0 (en) * 2004-07-29 2004-09-01 Nec Technologies Uk Ltd Method of testing integrity of a mobile radio communications device and related apparatus
CN101145127A (zh) * 2006-09-12 2008-03-19 中兴通讯股份有限公司 一种基于设备的软件测试自动化系统及其方法
CN101487769A (zh) * 2008-01-18 2009-07-22 中兴通讯股份有限公司 一种自动化测试系统及其方法
CN101521899A (zh) * 2009-03-31 2009-09-02 大连海事大学 用于移动应用程序的机上测试系统和方法
CN101944060A (zh) * 2010-09-10 2011-01-12 华南理工大学 一种基于嵌入式软件的细粒度检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Agent的软件测试系统模型的研究;林炜;《中国优秀硕士学位论文全文数据库 信息科技辑》;20050315(第1期);I138-99 *

Also Published As

Publication number Publication date
CN103309795A (zh) 2013-09-18

Similar Documents

Publication Publication Date Title
CN103309795B (zh) 软件测试方法和系统
CN109033855A (zh) 一种基于区块链的数据传输方法、装置及存储介质
CN108830545A (zh) 合同数据处理方法、合同管理客户端和区块链管理装置
CN106155043A (zh) 车辆数据获取方法、装置及设备
CN104104732B (zh) 一种推送信息的方法、设备和系统
Akella et al. Model-checking BNDC properties in cyber-physical systems
CN104104651A (zh) 数据处理方法、装置及电动交通工具网络管理系统
CN106464666B (zh) 用户与群组关联的方法和设备
CN105208042A (zh) 一种资源安全访问方法及系统
CN105530244A (zh) 一种实现主控设备控制智能设备的方法和服务器
CN110166332A (zh) 用于家电设备与客户端绑定的方法和装置
De Simone et al. States on systems of sets that are closed under symmetric difference
CN109981280A (zh) 一种电子数据取证方法及系统
CN102761496A (zh) 一种网络社区的社区信息发布方法、装置及系统
CN103646439B (zh) 一种具备会话功能的巡检方法及系统
CN107273102A (zh) 移动应用程序的生成方法及装置
CN108629192A (zh) 一种授权数据处理方法及装置
Schmidt et al. Preserving software quality characteristics from requirements analysis to architectural design
Wei et al. On the Transition from Design Time to Runtime Model-Based Assurance Cases.
CN104581402B (zh) 一种交互控制方法及电子设备
JP5062134B2 (ja) 情報拡散システム、情報拡散装置、情報拡散方法、および情報拡散プログラム
CN111083681A (zh) 近距离通信数据加密方法、终端设备及车辆
Bouroulet et al. A semantics of Security Protocol Language (SPL) using a class of composable high-level Petri nets
CN110489390A (zh) 日志记录方法和装置及日志记录器生成方法和装置
CN103634752A (zh) 一种信息控制方法及装置、以及一种信息控制系统及服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant