CN105005521A - 测试方法及装置 - Google Patents
测试方法及装置 Download PDFInfo
- Publication number
- CN105005521A CN105005521A CN201510363672.3A CN201510363672A CN105005521A CN 105005521 A CN105005521 A CN 105005521A CN 201510363672 A CN201510363672 A CN 201510363672A CN 105005521 A CN105005521 A CN 105005521A
- Authority
- CN
- China
- Prior art keywords
- request
- test
- objective function
- testing
- destination
- 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.)
- Granted
Links
Abstract
本发明公开了一种测试方法及装置,属于互联网技术领域。所述方法包括:接收线上服务器发送的实时请求,实时请求是线上服务器接收到的各个线上客户端发送的请求;根据测试服务器中需要测试的目标功能,从实时请求中筛选出用于测试目标功能的目标请求;根据目标请求对目标功能进行测试。本发明达到了根据需要测试的目标功能,有目的的筛选出目标请求并进行测试,提高了测试效率,节约测试资源的效果。
Description
技术领域
本发明实施例涉及互联网技术领域,特别涉及一种测试方法及装置。
背景技术
为了保证服务器能够安全稳定运行,服务器在上线之前,都需要进行功能测试。
传统的对服务器进行功能测试时,通过人为构造不同类型的请求,来模拟线上客户端向服务器发送的请求,并使用这些构造的请求对服务器进行功能测试。但是由于实际情况下,线上客户端向服务器发送的请求的类型复杂多样,人为构造的请求无法完全覆盖,导致测试的功能不够全面。
为了解决测试功能不够全面这一问题,人们通常采用现网引流工具,对线上服务器接收到的线上客户端发送的请求进行复制,并将复制的请求引流至测试服务器,由测试服务器根据该请求进行功能测试。由于引流至测试服务器的请求是线上客户端实际发送的请求,请求类型多样,所以测试的功能较为全面。
在实现本发明实施例的过程中,发明人发现上述技术至少存在以下问题:将线上服务器接收到的所有请求引流到测试服务器,只能实现对测试服务器整体性能的评估,无法实现对测试服务器中具体功能的测试。
发明内容
为了解决上述技术的问题,本发明实施例提供了一种测试方法及装置。该技术方案如下:
根据本发明实施例的第一方面,提供一种测试方法,该方法包括:
接收线上服务器发送的实时请求,实时请求是线上服务器接收到的各个线上客户端发送的请求;
根据测试服务器中需要测试的目标功能,从实时请求中筛选出用于测试目标功能的目标请求;
根据目标请求对目标功能进行测试。
根据本发明实施例的第二方面,提供一种测试装置,该装置包括:
接收模块,用于接收线上服务器发送的实时请求,实时请求是线上服务器接收到的各个线上客户端发送的请求;
筛选模块,用于根据测试服务器中需要测试的目标功能,从实时请求中筛选出用于测试目标功能的目标请求;
测试模块,用于根据目标请求对目标功能进行测试。
本发明实施例提供的技术方案带来的有益效果是:
通过从线上服务器引流的实时请求中,筛选出用于测试目标功能的目标请求,并使用该目标请求进行目标功能的测试;解决了测试服务器根据线上服务器引流的所有实时请求进行测试时,只能对测试服务器整体性能进行评估,无法对测试服务器中具体功能进行测试的问题;达到了根据需要测试的目标功能,有目的的筛选出目标请求并进行测试,提高了测试效率,节约测试资源的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本发明各个实施例提供的一种测试方法所涉及的实施环境的环境示意图;
图1B是本发明各个实施例提供的一种测试方法所涉及的实施环境的环境示意图;
图2A是本发明一个实施例提供的测试方法的方法流程图;
图2B是本发明一个实施例提供的测试方法的方法流程图;
图3A是本发明另一实施例提供的测试方法的方法流程图;
图3B是本发明另一实施例提供的测试方法涉及的过滤算法调整过程的方法流程图;
图4是本发明一个实施例提供的测试方法的结构方框图;
图5是本发明另一实施例提供的测试方法的结构方框图;
图6是本发明一个实施例提供的测试装置的方框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参考图1A,其示出了本发明各个实施例提供的一种测试方法所涉及的实施环境的环境示意图。该实施环境包括至少一个终端110、线上服务器120和测试服务器130。
终端110可以是智能手机、智能电视、平板电脑、电子书阅读器、MP3(MovingPicture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器和膝上型便携计算机等等。终端110通过安装的客户端向线上服务器120发送实时请求。
终端110与线上服务器120之间可以通过无线网络或者有线网络相连。
线上服务器120可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。该线上服务器120是用于接收至少一个终端110通过客户端发送的实时请求,并进行相应处理。
线上服务器120与测试服务器130之间可以通过无线网络或者有线网络相连。
测试服务器130可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。该测试服务器130用于接收线上服务器120引流的各个终端110发送的实时请求,从该实时请求中筛选出用于测试目标功能的目标请求并执行测试。
其中,从实时请求中筛选出用于测试目标功能的目标请求也可以由单独的筛选服务器执行。
请参考图1B,其示出了本发明各个实施例提供的一种测试方法所涉及的实施环境的环境示意图。该实施环境包括至少一个终端110、线上服务器120、测试服务器130和筛选服务器140。
终端110可以是智能手机、智能电视、平板电脑、电子书阅读器、MP3(MovingPicture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器和膝上型便携计算机等等。终端110通过安装的客户端向线上服务器120发送实时请求。
终端110与线上服务器120之间可以通过无线网络或者有线网络相连。
线上服务器120可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。该线上服务器120是用于接收至少一个终端110通过客户端发送的实时请求,并进行相应处理。
线上服务器120与筛选服务器140之间可以通过无线网络或者有线网络相连。
筛选服务器140可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。该筛选服务器140用于接收线上服务器120引流的各个终端110发送的实时请求,从中筛选出用于测试目标功能的目标请求,并将该目标请求发送至测试服务器130。
筛选服务器140与测试服务器130之间可以通过无线网络或者有线网络相连。
测试服务器130可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。该测试服务器130是用于接收筛选服务器140筛选出的目标请求,并根据该目标请求对目标功能进行测试。
为了简化描述,下文中仅以测试方法由图1A中的测试服务器130执行来举例说明,但对此不构成限定。
请参考图2A,其示出了本发明一个实施例提供的测试方法的方法流程图。本实施例以该测试方法应用于图1A所示的测试服务器130中来举例说明。该方法包括:
步骤202,接收线上服务器发送的实时请求,该实时请求是线上服务器接收到的各个线上客户端发送的请求;
步骤204,根据测试服务器中需要测试的目标功能,从实时请求中筛选出用于测试目标功能的目标请求;
步骤206,根据目标请求对目标功能进行测试。
综上所述,本实施例提供的测试方法,通过从线上服务器引流的实时请求中,筛选出用于测试目标功能的目标请求,并使用该目标请求进行目标功能的测试;解决了测试服务器根据线上服务器引流的所有实时请求进行测试时,只能对测试服务器整体性能进行评估,无法对测试服务器中具体功能进行测试的问题;达到了根据需要测试的目标功能,有目的的筛选出目标请求并进行测试,提高了测试效率,节约测试资源的效果。
可选地,如图2B所示,步骤206可以包括步骤206A和步骤206B:
步骤206A,根据目标功能、目标请求以及与目标功能对应的测试点的标识生成测试文件;测试点用于检测目标请求是否被正确处理;
步骤206B,根据该标识将测试文件分配到对应的测试点。
请参考图3A,其示出了本发明另一实施例提供的测试方法的方法流程图。本实施例以该测试方法应用于图1A中的测试服务器130来举例说明。该方法包括:
步骤301,接收线上服务器发送的实时请求,该实时请求是线上服务器接收到的各个线上客户端发送的请求。
为了使测试服务器能够模拟真实情况下处理客户端的请求的过程,线上服务器预先启动请求捕获进程,请求捕获进程获取客户端发往线上服务器的目标端口的实时请求,并将获取到的实时请求发送至测试服务器。
比如,当需要对测试服务器进行测试时,线上服务器即可以启动tcpdump进程,获取客户端发往目标端口(通常为线上服务器的80端口)的实时请求,并将该实时请求引流至测试服务器。
对应的,测试服务器接收线上服务器发送的实时请求。
步骤302,根据实时请求中携带的请求类型参数,生成各个实时请求各自对应的请求文件,请求文件中携带有请求类型参数。
由于不同客户端需要获取的内容可能不同,相应的,客户端向线上服务器发送的请求类型也不同,所以测试服务器接收到的线上服务器发送的实时请求数量庞大,且包含的请求类型的种类众多,使用这些实时请求对测试服务器进行测试较为全面。但是通常情况下,测试服务器仅需要对部分功能进行测试,如果利用线上服务器发送的所有实时请求进行测试,会造成测试资源的浪费,且影响测试效率。
比如,测试服务器具有功能1、功能2、功能3、功能4和功能5,而功能1、2和3已经经过了测试。当需要对功能4和功能5进行测试时,由于测试服务器接收到的实时请求中,仅部分实时请求用于测试功能4和功能5,当利用所有实时请求进行测试时,大量测试资源会被用于测试功能1、2和3,造成测试资源的浪费,影响测试效率。
为了节约测试资源,并提高测试效率,测试服务器在接收到实时请求后,进一步获取实时请求中携带的请求类型参数。其中,该请求类型参数可以为实时请求中的获取(英文:GET)请求参数、主机(英文:Host)信息、用户代理(User-Agent)或网络跟踪器(英文:Cookie)等等。
为了方便后续对实时请求进行筛选,测试服务器将获取到的请求类型参数保存到请求文件中,并根据发送该实时请求的客户端IP(Internet Protocol,互联网协议)地址和发送时间戳生成请求文件的文件名,该请求文件通常为req格式。
需要说明的是,测试服务器在生成请求文件时,还可以根据请求文件对应的请求类型参数,将请求类型参数相同的请求文件进行集中存储,方便后续筛选。
比如,测试服务器获取到实时请求A,且发送该实施请求A的客户端IP地址为“IP A”,发送时间戳为“20150514093000”,即生成文件名为“IPA_20150514093000.req”的请求文件,并将实时请求A中携带的GET参数、Host信息、User-Agent和Cookie以文本形式添加到请求文件中。
步骤303,根据预设的目标功能各自所对应的过滤算法,从请求文件中筛选出请求类型参数与目标功能对应的目标文件。
由于实时请求中携带的请求类型参数以文本形式保存在请求文件中,测试服务器从实时请求中筛选目标请求的过程即为从请求文件中筛选目标文件的过程。
测试服务器对不同的功能进行测试时,需要使用不同请求类型的实时请求,所以测试服务器在根据实时请求建立请求文件后,需要根据目标功能确定目标文件中携带的请求类型参数,并根据该请求类型参数进一步确定需要筛选出的目标文件。
作为一种可能的实现方式,测试服务器在预设的功能和请求类型参数的对应关系中,查找与目标功能对应的请求类型参数。其中,功能和请求类型参数的对应关系可以示意性如表一所示。
表一
功能 | 请求类型参数 |
功能1 | 请求类型参数A、请求类型参数B、请求类型参数C |
功能2 | 请求类型参数D、请求类型参数E |
功能3 | 请求类型参数F、请求类型参数G、请求类型参数H |
功能4 | 请求类型参数I、请求类型参数J |
功能5 | 请求类型参数K |
如表一所示,携带的请求类型参数为请求类型参数A、请求类型参数B或请求类型参数C的实时请求即用于测试功能A的目标请求;携带的请求类型参数为请求类型参数I或请求类型参数J的实时请求即用于测试功能4的目标请求。
测试服务器获取与目标功能对应的请求类型参数并将其确定为目标请求类型参数。测试服务器获取保存的各个请求文件中携带的请求类型参数,并使用目标请求类型参数对应的过滤算法,筛选出请求类型参数与目标请求类型参数匹配的请求文件,并将该请求文件确定为目标文件。
需要说明的是,由于不同客户端发送的同一类型的实时请求测试的均为同一功能,所以为了进一步节约测试资源,当测试服务器筛选出属于同一类型的多个实时请求,即筛选出携带的请求类型参数相同的多个请求文件时,测试服务器仅将其中一个请求文件确定为目标文件。
步骤304,根据目标文件中携带的请求类型参数,构造目标请求。
由于测试服务器将接收到的实时请求以请求文件的形式进行保存,而在对目标功能进行测试时,需要使用真实的请求进行测试,所以测试服务器从请求文件中筛选出目标文件后,需要根据目标文件生成目标请求。
比如,测试服务器根据目标文件中携带的GET请求参数、Host信息、User-Agent和Cookie,采用蟒蛇(英文:python)语言生成目标请求,实现该步骤的代码可以如下所示:
步骤305,根据目标功能、目标请求以及与目标功能对应的测试点的标识生成测试文件;测试点用于检测目标请求是否被正确处理。
测试服务器中,每个功能都对应一个测试点,该测试点用于检测对应的功能是否正确处理接收到的请求,当检测到请求被正确处理时,即可以确定该功能正常;当检测到请求未被正确处理时,即可以确定该功能不正常。
由于测试服务器仅需要对部分功能进行,所以为了提高测试效率,测试服务器根据需要测试的目标功能,将用于测试目标功能的目标请求分配至该目标功能对应的测试点,由该测试点根据目标请求执行相应的测试。
作为一种可能的实现方式,测试服务器在生成目标请求后,根据需要检测的目标功能、目标请求以及与目标功能对应的测试点的标识生成测试文件,其中,目标功能与测试点的对应关系可以示意性如表二所示。
表二
功能 | 测试点的标识 |
功能1 | 测试点A |
功能2 | 测试点B |
功能3 | 测试点C |
功能4 | 测试点D |
功能5 | 测试点E |
步骤306,根据该标识将测试文件分配到对应的测试点。
测试服务器根据测试文件中测试点的标识,将该测试文件分配至相应的测试点,由测试点根据测试文件中包含的目标请求,对该目标功能进行测试。
需要说明的是,用户可以预先构建一个GUI(Graphical User Interface,图形用户接口)平台,并在该平台中定制测试服务器中的功能、功能对应的测试点、功能对应的过滤算法等信息。当需要对测试服务器中的部分目标功能进行测试时,只需要在预设的功能中进行选择,测试服务器即可根据用户选择的目标功能自动实现请求的筛选及测试过程,从而简化测试过程,大大提高测试效率。
步骤307,接收测试点生成的测试结果,并生成相应的测试报告。
测试服务器收集各个测试点生成的测试结果,从而确定各个测试点对应目标功能是否正常,并生成相应的测试报告,方便用户知悉测试结果,并对不正常的目标功能进行相应修改。
步骤308,接收测试点生成的日志信息,并生成相应的日志报告。
测试服务器收集各个测试点生成的测试结果的同时,还可以接收测试过程中产生的日志(英文名:log)信息,该log信息即目标功能对应实现代码的运行信息,比如,目标功能对应实现代码在第101行运行出错时,即会生成对应的log信息,该log信息用于代码在第101行出现运行错误。
测试服务器对收集到日志信息进行汇总归纳,生成相应的日志报告。当测试报告指示某个目标功能运行不正常时,用户即可通过该日志报告快速确定出错位置,并进行修改。
综上所述,本实施例提供的测试方法,通过从线上服务器引流的实时请求中,筛选出用于测试目标功能的目标请求,并使用该目标请求进行目标功能的测试;解决了测试服务器根据线上服务器引流的所有实时请求进行测试时,只能对测试服务器整体性能进行评估,无法对测试服务器中具体功能进行测试的问题;达到了根据需要测试的目标功能,有目的的筛选出目标请求并进行测试,提高了测试效率,节约测试资源的效果。
本实施例还通过根据实时请求中携带的请求类型参数生成实时请求对应的请求文件,使得后续根据需要测试的目标功能筛选出目标请求时,只需要根据请求文件对应的请求类型参数进行筛选即可,方便后续对目标请求的增加和删除,使得测试过程更加灵活且更具目的性。
由于预先设置的过滤算法未必适用于所有的请求,导致在测试过程中某些目标功能未被测试。所以为了提高测试的覆盖率,如图3B所示,该方法还可以包括如下步骤。
步骤309,在对目标功能进行测试时,计算目标请求的代码覆盖率;代码覆盖率是根据目标请求运行代码的行数和代码总行数确定的。
由于过滤算法的局限性,测试服务器根据筛选得到的目标请求对目标功能进行测试时,并不能覆盖所有的目标功能,导致目标功能测试的不完全。
为了避免这种情况,测试服务器在对目标功能进行测试的同时,将利用代码覆盖率测试工具计算目标请求对应的代码覆盖率,该代码覆盖率测试工具可以为Emma、Cobertura或Gcov等等,本发明并不对使用何种代码覆盖率测试工具进行限定。
步骤310,根据代码覆盖率以及目标功能与代码的对应关系,确定未测试目标功能。
测试服务器中预先存储有功能与代码的对应关系,该对应关系可以示意性如表三所示。
表三
功能 | 代码 |
功能1 | 代码A、代码B、代码C |
功能2 | 代码D、代码E |
功能3 | 代码F |
功能4 | 代码G、代码H、代码I |
功能5 | 代码J、代码K |
根据得到的代码覆盖率,并结合功能与代码的对应关系,测试服务器即可确定代码覆盖率较低的代码对应的目标功能,并将该目标功能确定为未测试目标功能。
需要说明的是,由于某些目标功能可能存在至少两个功能分支,而筛选得到的目标请求可能仅测试了部分功能分支,导致目标功能测试的不完全,所以,更为优选地,测试服务器中还存储有各个功能分支与代码的对应关系,使得用户更加直观了解到各个功能分支的测试情况。
比如,当测试的目标功能为登录功能时,由于存在登录成功和登录失败两种可能,当筛选出的目标请求仅对应登录成功这种情况时,该目标功能中登录失败对应的代码将不会被运行,造成目标功能测试的不完全,所以测试服务器中还存储有登录成功与代码的对应关系以及登录失败与代码的对应关系。
步骤311,根据未测试目标功能,调整过滤算法;调整后的过滤算法筛选出的目标请求的数量大于未调整前过滤算法筛选出的目标请求的数量。
对于未测试目标功能,测试服务器调整该未测试目标功能对应的过滤算法,使得通过调整后的过滤算法能够筛选出更多目标请求,从而提高目标功能的覆盖度。
需要说明的是,用户也可以根据未测试目标功能,手动构造用于测试该未测试目标功能的目标请求,并发送给测试服务器,从而实现对未测试目标功能的测试,本发明并不对此进行限定。
本实施例还通过在对目标功能进行检测的同时,计算代码覆盖率,根据该代码覆盖率和预先维护的目标功能与代码的对应关系确定未测试目标功能,并根据未测试目标功能对过滤算法进行相应调整,从而提高测试的全面性。
请参考图4,其示出了本发明一个实施例所提供的测试装置的结构方框图。该测试装置可以通过软件、硬件或者两者的结合实现成为图1A中测试服务器130的全部或者一部分。该测试装置,包括:
接收模块410,用于接收线上服务器发送的实时请求,实时请求是线上服务器接收到的各个线上客户端发送的请求;
筛选模块420,用于根据测试服务器中需要测试的目标功能,从实时请求中筛选出用于测试目标功能的目标请求;
测试模块430,用于根据目标请求对目标功能进行测试。
综上所述,本实施例提供的测试装置,通过从线上服务器引流的实时请求中,筛选出用于测试目标功能的目标请求,并使用该目标请求进行目标功能的测试;解决了测试服务器根据线上服务器引流的所有实时请求进行测试时,只能对测试服务器整体性能进行评估,无法对测试服务器中具体功能进行测试的问题;达到了根据需要测试的目标功能,有目的的筛选出目标请求并进行测试,提高了测试效率,节约测试资源的效果。
请参考图5,其示出了本发明另一实施例所提供的测试装置的结构方框图。该测试装置可以通过软件、硬件或者两者的结合实现成为图1A中测试服务器130的全部或者一部分。该测试装置,包括:
接收模块510,用于接收线上服务器发送的实时请求,实时请求是线上服务器接收到的各个线上客户端发送的请求;
筛选模块520,用于根据测试服务器中需要测试的目标功能,从实时请求中筛选出用于测试目标功能的目标请求;
测试模块530,用于根据目标请求对目标功能进行测试。
可选地,筛选模块520,包括:
第一生成单元521,用于根据所述实时请求中携带的请求类型参数,生成各个实时请求各自对应的请求文件,所述请求文件中携带有所述请求类型参数;
文件筛选单元522,用于根据预设的所述目标功能各自所对应的过滤算法,从所述请求文件中筛选出所述请求类型参数与所述目标功能对应的目标文件;
该装置,还包括:
请求构造模块540,用于根据所述目标文件中携带的所述请求类型参数,构造所述目标请求。
可选地,测试模块530,包括:
第二生成单元531,用于根据所述目标功能、所述目标请求以及与所述目标功能对应的测试点的标识生成测试文件;所述测试点用于检测所述目标请求是否被正确处理;
分配单元532,用于根据所述标识将所述测试文件分配到对应的所述测试点。
可选地,该装置,还包括:
第一报告生成模块550,用于接收所述测试点生成的测试结果,并生成相应的测试报告;
和/或,
第二报告生成模块560,用于接收所述测试点生成的日志信息,并生成相应的日志报告。
可选地,该装置,还包括:
计算模块570,用于在对所述目标功能进行测试时,计算所述目标请求的代码覆盖率;所述代码覆盖率是根据所述目标请求运行代码的行数和代码总行数确定的;
确定模块580,用于根据所述代码覆盖率以及所述目标功能与代码的对应关系,确定未测试目标功能;
调整模块590,用于根据所述未测试目标功能,调整所述过滤算法;调整后的所述过滤算法筛选出的所述目标请求的数量大于未调整前所述过滤算法筛选出的所述目标请求的数量。
综上所述,本实施例提供的测试装置,通过从线上服务器引流的实时请求中,筛选出用于测试目标功能的目标请求,并使用该目标请求进行目标功能的测试;解决了测试服务器根据线上服务器引流的所有实时请求进行测试时,只能对测试服务器整体性能进行评估,无法对测试服务器中具体功能进行测试的问题;达到了根据需要测试的目标功能,有目的的筛选出目标请求并进行测试,提高了测试效率,节约测试资源的效果。
本实施例还通过根据实时请求中携带的请求类型参数生成实时请求对应的请求文件,使得后续根据需要测试的目标功能筛选出目标请求时,只需要根据请求文件对应的请求类型参数进行筛选即可,方便后续对目标请求的增加和删除,使得测试过程更加灵活且更具目的性。
本实施例还通过在对目标功能进行检测的同时,计算代码覆盖率,根据该代码覆盖率和预先维护的目标功能与代码的对应关系确定未测试目标功能,并根据未测试目标功能对过滤算法进行相应调整,从而提高测试的全面性。
需要说明的是:上述实施例提供的测试装置在进行目标功能的测试时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将测试服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的测试装置与测试方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图6,其示出了本发明一个实施例提供的测试装置的方框图。该测试装置用于实施上述实施例中测试服务器130侧的测试方法。所述测试装置600包括中央处理单元(CPU)601、包括随机存取存储器(RAM)602和只读存储器(ROM)603的系统存储器604,以及连接系统存储器604和中央处理单元601的系统总线605。所述测试装置600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)606,和用于存储操作系统613、应用程序614和其他程序模块615的大容量存储设备607。
所述基本输入/输出系统606包括有用于显示信息的显示器608和用于用户输入信息的诸如鼠标、键盘之类的输入设备609。其中所述显示器608和输入设备609都通过连接到系统总线605的输入输出控制器610连接到中央处理单元601。所述基本输入/输出系统606还可以包括输入输出控制器610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器610还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备607通过连接到系统总线605的大容量存储控制器(未示出)连接到中央处理单元601。所述大容量存储设备607及其相关联的计算机可读介质为测试装置600提供非易失性存储。也就是说,所述大容量存储设备607可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器604和大容量存储设备607可以统称为存储器。
根据本发明的各种实施例,所述测试装置600还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即测试装置600可以通过连接在所述系统总线605上的网络接口单元611连接到网络612,或者说,也可以使用网络接口单元611来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本发明实施例提供的测试方法测试服务器侧的指令。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”(“a”、“an”、“the”)旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种测试方法,其特征在于,所述方法包括:
接收线上服务器发送的实时请求,所述实时请求是所述线上服务器接收到的各个线上客户端发送的请求;
根据测试服务器中需要测试的目标功能,从所述实时请求中筛选出用于测试所述目标功能的目标请求;
根据所述目标请求对所述目标功能进行测试。
2.根据权利要求1所述的方法,其特征在于,所述从所述实时请求中筛选出用于测试所述目标功能的目标请求,包括:
根据所述实时请求中携带的请求类型参数,生成各个实时请求各自对应的请求文件,所述请求文件中携带有所述请求类型参数;
根据预设的所述目标功能各自所对应的过滤算法,从所述请求文件中筛选出所述请求类型参数与所述目标功能对应的目标文件;
所述根据所述目标请求对所述目标功能进行测试之前,还包括:
根据所述目标文件中携带的所述请求类型参数,构造所述目标请求。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述目标请求对所述目标功能进行测试,包括:
根据所述目标功能、所述目标请求以及与所述目标功能对应的测试点的标识生成测试文件;所述测试点用于检测所述目标请求是否被正确处理;
根据所述标识将所述测试文件分配到对应的所述测试点。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标请求对所述目标功能进行测试之后,还包括:
接收所述测试点生成的测试结果,并生成相应的测试报告;
和/或,
接收所述测试点生成的日志信息,并生成相应的日志报告。
5.根据权利要求2所述的方法,其特征在于,所述方法,还包括:
在对所述目标功能进行测试时,计算所述目标请求的代码覆盖率;所述代码覆盖率是根据所述目标请求运行代码的行数和代码总行数确定的;
根据所述代码覆盖率以及所述目标功能与代码的对应关系,确定未测试目标功能;
根据所述未测试目标功能,调整所述过滤算法;调整后的所述过滤算法筛选出的所述目标请求的数量大于未调整前所述过滤算法筛选出的所述目标请求的数量。
6.一种测试装置,其特征在于,所述装置包括:
接收模块,用于接收线上服务器发送的实时请求,所述实时请求是所述线上服务器接收到的各个线上客户端发送的请求;
筛选模块,用于根据测试服务器中需要测试的目标功能,从所述实时请求中筛选出用于测试所述目标功能的目标请求;
测试模块,用于根据所述目标请求对所述目标功能进行测试。
7.根据权利要求6所述的装置,其特征在于,所述筛选模块,包括:
第一生成单元,用于根据所述实时请求中携带的请求类型参数,生成各个实时请求各自对应的请求文件,所述请求文件中携带有所述请求类型参数;
文件筛选单元,用于根据预设的所述目标功能各自所对应的过滤算法,从所述请求文件中筛选出所述请求类型参数与所述目标功能对应的目标文件;
所述装置,还包括:
请求构造模块,用于根据所述目标文件中携带的所述请求类型参数,构造所述目标请求。
8.根据权利要求6或7所述的装置,其特征在于,所述测试模块,包括:
第二生成单元,用于根据所述目标功能、所述目标请求以及与所述目标功能对应的测试点的标识生成测试文件;所述测试点用于检测所述目标请求是否被正确处理;
分配单元,用于根据所述标识将所述测试文件分配到对应的所述测试点。
9.根据权利要求8所述的装置,其特征在于,所述装置,还包括:
第一报告生成模块,用于接收所述测试点生成的测试结果,并生成相应的测试报告;
和/或,
第二报告生成模块,用于接收所述测试点生成的日志信息,并生成相应的日志报告。
10.根据权利要求7所述的装置,其特征在于,所述装置,还包括:
计算模块,用于在对所述目标功能进行测试时,计算所述目标请求的代码覆盖率;所述代码覆盖率是根据所述目标请求运行代码的行数和代码总行数确定的;
确定模块,用于根据所述代码覆盖率以及所述目标功能与代码的对应关系,确定未测试目标功能;
调整模块,用于根据所述未测试目标功能,调整所述过滤算法;调整后的所述过滤算法筛选出的所述目标请求的数量大于未调整前所述过滤算法筛选出的所述目标请求的数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510363672.3A CN105005521B (zh) | 2015-06-26 | 2015-06-26 | 测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510363672.3A CN105005521B (zh) | 2015-06-26 | 2015-06-26 | 测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105005521A true CN105005521A (zh) | 2015-10-28 |
CN105005521B CN105005521B (zh) | 2017-09-12 |
Family
ID=54378200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510363672.3A Active CN105005521B (zh) | 2015-06-26 | 2015-06-26 | 测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105005521B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776338A (zh) * | 2016-12-30 | 2017-05-31 | 北京金山安全软件有限公司 | 一种测试方法、装置及服务器 |
CN107154976A (zh) * | 2017-05-10 | 2017-09-12 | 北京微影时代科技有限公司 | 网站测试方法、装置以及系统 |
CN107273252A (zh) * | 2017-06-13 | 2017-10-20 | 北京小度信息科技有限公司 | 测试方法及装置 |
CN107368405A (zh) * | 2016-05-11 | 2017-11-21 | 腾讯科技(北京)有限公司 | 测试系统、测试方法、mock平台、拦截器和客户端 |
CN107395464A (zh) * | 2017-09-11 | 2017-11-24 | 北京奇艺世纪科技有限公司 | 一种服务器测试方法、装置及api网关 |
CN107590066A (zh) * | 2016-07-08 | 2018-01-16 | 广州市动景计算机科技有限公司 | 应用程序的测试方法、设备及可编程设备 |
CN108199923A (zh) * | 2018-01-23 | 2018-06-22 | 平安普惠企业管理有限公司 | 服务器测试方法、装置、计算机设备及可读存储介质 |
CN108304313A (zh) * | 2017-01-13 | 2018-07-20 | 阿里巴巴集团控股有限公司 | 一种用于数据测试的装置、客户端及方法 |
CN108933709A (zh) * | 2017-05-27 | 2018-12-04 | 腾讯科技(深圳)有限公司 | 测试服务器性能的方法和装置 |
CN109308266A (zh) * | 2018-11-30 | 2019-02-05 | 北京微播视界科技有限公司 | 测试用例的构建方法、测试方法、装置、设备和介质 |
CN109614314A (zh) * | 2018-11-01 | 2019-04-12 | 北京奇虎科技有限公司 | 性能测试方法、装置、服务器及可读存储介质 |
CN110413523A (zh) * | 2019-07-26 | 2019-11-05 | 百度时代网络技术(北京)有限公司 | 引流测试方法、引流测试中台及计算机可读存储介质 |
CN110874315A (zh) * | 2018-08-30 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 测试方法、装置、电子设备和存储介质 |
CN111104332A (zh) * | 2019-12-20 | 2020-05-05 | 广州品唯软件有限公司 | 覆盖率测试方法,测试装置,服务设备及可读存储介质 |
CN111723000A (zh) * | 2019-03-22 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 测试方法、装置、电子设备和存储介质 |
CN114218124A (zh) * | 2022-02-22 | 2022-03-22 | 深圳市吉方工控有限公司 | 快速部署bios设置环境方法、装置、设备及存储介质 |
CN110874315B (zh) * | 2018-08-30 | 2024-04-19 | 阿里巴巴新加坡控股有限公司 | 测试方法、装置、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070050846A1 (en) * | 2005-08-30 | 2007-03-01 | Fortinet, Inc. | Logging method, system, and device with analytical capabilities for the network traffic |
CN102420714A (zh) * | 2011-08-29 | 2012-04-18 | 展讯通信(上海)有限公司 | 测试管理方法、测试管理系统总控制中心及测试管理系统 |
-
2015
- 2015-06-26 CN CN201510363672.3A patent/CN105005521B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070050846A1 (en) * | 2005-08-30 | 2007-03-01 | Fortinet, Inc. | Logging method, system, and device with analytical capabilities for the network traffic |
CN102420714A (zh) * | 2011-08-29 | 2012-04-18 | 展讯通信(上海)有限公司 | 测试管理方法、测试管理系统总控制中心及测试管理系统 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107368405A (zh) * | 2016-05-11 | 2017-11-21 | 腾讯科技(北京)有限公司 | 测试系统、测试方法、mock平台、拦截器和客户端 |
CN107590066A (zh) * | 2016-07-08 | 2018-01-16 | 广州市动景计算机科技有限公司 | 应用程序的测试方法、设备及可编程设备 |
CN106776338B (zh) * | 2016-12-30 | 2020-04-03 | 北京金山安全软件有限公司 | 一种测试方法、装置及服务器 |
CN106776338A (zh) * | 2016-12-30 | 2017-05-31 | 北京金山安全软件有限公司 | 一种测试方法、装置及服务器 |
CN108304313B (zh) * | 2017-01-13 | 2022-05-27 | 阿里巴巴集团控股有限公司 | 一种用于数据测试的装置、客户端及方法 |
CN108304313A (zh) * | 2017-01-13 | 2018-07-20 | 阿里巴巴集团控股有限公司 | 一种用于数据测试的装置、客户端及方法 |
CN107154976A (zh) * | 2017-05-10 | 2017-09-12 | 北京微影时代科技有限公司 | 网站测试方法、装置以及系统 |
CN108933709B (zh) * | 2017-05-27 | 2021-03-26 | 腾讯科技(深圳)有限公司 | 测试服务器性能的方法、装置和计算机可读存储介质 |
CN108933709A (zh) * | 2017-05-27 | 2018-12-04 | 腾讯科技(深圳)有限公司 | 测试服务器性能的方法和装置 |
CN107273252A (zh) * | 2017-06-13 | 2017-10-20 | 北京小度信息科技有限公司 | 测试方法及装置 |
CN107395464A (zh) * | 2017-09-11 | 2017-11-24 | 北京奇艺世纪科技有限公司 | 一种服务器测试方法、装置及api网关 |
CN108199923A (zh) * | 2018-01-23 | 2018-06-22 | 平安普惠企业管理有限公司 | 服务器测试方法、装置、计算机设备及可读存储介质 |
CN110874315A (zh) * | 2018-08-30 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 测试方法、装置、电子设备和存储介质 |
CN110874315B (zh) * | 2018-08-30 | 2024-04-19 | 阿里巴巴新加坡控股有限公司 | 测试方法、装置、电子设备和存储介质 |
CN109614314A (zh) * | 2018-11-01 | 2019-04-12 | 北京奇虎科技有限公司 | 性能测试方法、装置、服务器及可读存储介质 |
CN109614314B (zh) * | 2018-11-01 | 2024-03-01 | 北京奇虎科技有限公司 | 性能测试方法、装置、服务器及可读存储介质 |
CN109308266A (zh) * | 2018-11-30 | 2019-02-05 | 北京微播视界科技有限公司 | 测试用例的构建方法、测试方法、装置、设备和介质 |
CN111723000A (zh) * | 2019-03-22 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 测试方法、装置、电子设备和存储介质 |
CN110413523A (zh) * | 2019-07-26 | 2019-11-05 | 百度时代网络技术(北京)有限公司 | 引流测试方法、引流测试中台及计算机可读存储介质 |
CN111104332A (zh) * | 2019-12-20 | 2020-05-05 | 广州品唯软件有限公司 | 覆盖率测试方法,测试装置,服务设备及可读存储介质 |
CN111104332B (zh) * | 2019-12-20 | 2024-01-30 | 广州品唯软件有限公司 | 覆盖率测试方法,测试装置,服务设备及可读存储介质 |
CN114218124A (zh) * | 2022-02-22 | 2022-03-22 | 深圳市吉方工控有限公司 | 快速部署bios设置环境方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105005521B (zh) | 2017-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105005521A (zh) | 测试方法及装置 | |
CN108600029B (zh) | 一种配置文件更新方法、装置、终端设备及存储介质 | |
US9501345B1 (en) | Method and system for creating enriched log data | |
CN109068179A (zh) | 一种多平台直播方法、计算机装置及计算机可读存储介质 | |
CN108256118B (zh) | 数据处理方法、装置、系统、计算设备以及存储介质 | |
CN104079445A (zh) | 分散式压力测试系统及其方法 | |
CN106533713B (zh) | 一种应用部署方法及设备 | |
CN111880902A (zh) | 一种pod创建方法、装置、设备及可读存储介质 | |
CN106911648B (zh) | 一种环境隔离方法及设备 | |
WO2022127504A1 (zh) | 网元管理方法、装置及存储介质 | |
US20230161541A1 (en) | Screen projection method and system | |
CN105095103A (zh) | 用于云环境下的存储设备管理方法和装置 | |
CN105991361A (zh) | 一种云计算平台中云服务器的监控方法和监控系统 | |
CN105227489A (zh) | 一种带宽管理方法及电子设备 | |
CN104468201A (zh) | 一种网络设备离线的自动删除方法和设备 | |
CN111158865A (zh) | 多路复用虚拟串口的实现方法 | |
CN104199683A (zh) | 一种iso镜像文件加载方法和设备 | |
CN105718299A (zh) | 虚拟机的配置方法、装置及系统 | |
CN104506893A (zh) | 一种信息更新方法、云端服务器及crm服务器 | |
CN103297514A (zh) | 基于云架构的虚拟机管理平台及管理方法 | |
CN106453118B (zh) | 一种流量控制方法及流量控制系统 | |
CN112787853B (zh) | 网络变更方案的自动生成方法、装置及相关设备 | |
CN108462897A (zh) | 一种网络故障的数据收集方法和装置 | |
CN105939278B (zh) | 一种流量处理方法及装置 | |
CN103795810A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |