应用的测试方法、系统、电子设备和存储介质技术方案

技术编号:20221608 阅读:34 留言:0更新日期:2019-01-28 20:10
本申请提供一种应用的测试方法、系统、电子设备和存储介质,其中方法包括:构建测试环境,包括待发布应用和Mock子系统;获取线上环境中已发布应用的运行数据,包括实际请求数据、关联服务数据和实际响应数据,将关联服务数据存储至Mock子系统;将实际请求数据依次在测试环境中回放,获取待发布应用根据关联服务数据处理实际请求数据所得的模拟响应数据;比对模拟响应数据和实际响应数据,对待发布应用的各功能单元进行筛查。本申请通过Mock子系统将请求在线上环境中运行时所依赖的关联服务数据实时记录下来,并在测试环境回放请求时返回对应的关联服务数据,排除不同环境下关联服务的差异性,对待发布应用进行基于真实数据流的测试筛查。

【技术实现步骤摘要】
应用的测试方法、系统、电子设备和存储介质
本申请涉及互联网
,具体地说,涉及一种应用的测试方法、系统、电子设备和存储介质。
技术介绍
应用程序在开发完成后,需要对系统和系统的各个模块进行测试。测试时,由开发人员构造测试用例,而后将系统的输出和预期输出进行比对,来判断系统针对该测试用例的反馈是否达到预期。上述测试至少存在如下问题:一是开发人员构造的测试用例具有局限性,不能重现生产环境中的输入数据;二是开发人员构造数目可观的测试用例的工作量较大,对开发工作本身造成较大影响。另外,生产环境中应用程序产生故障后,为了保障系统的可用性,需要立即将系统回滚至正常工作状态,其次才是在线下定位系统故障。这样做会影响故障诊断,也延缓了开发进度。需要说明的是,在上述
技术介绍
部分申请的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
有鉴于此,本申请提供一种应用的测试方法、系统、电子设备和存储介质,期望解决现有技术中构造测试用例受限、无法实时定位故障、影响应用开发效率的问题。根据本申请的一个方面,提供一种应用的测试方法,包括:构建测试环境,包括待发布应用和Mock子系统;获取线上环境中已发布应用的运行数据,包括实际请求数据、关联服务数据和实际响应数据,将所述关联服务数据存储至所述Mock子系统;将实际请求数据依次在所述测试环境中回放,获取所述待发布应用根据关联服务数据处理实际请求数据所得的模拟响应数据;比对所述模拟响应数据和所述实际响应数据,对所述待发布应用的各功能单元进行筛查。优选地,上述的测试方法还包括:将实际请求数据按预设的请求速率在所述测试环境中回放,获取所述待发布应用根据关联服务数据处理实际请求数据的输出数据;根据所述输出数据获取所述待发布应用基于所述预设的请求速率的压力测试结果。优选地,上述的测试方法还包括:调节请求速率,获取所述待发布应用基于不同请求速率的压力测试结果。优选地,上述的测试方法还包括:实时获取线上环境中已发布应用的异常请求数据;将所述异常请求数据在所述测试环境中回放,获取所述待发布应用处理所述异常请求数据生成的数据流;根据所述数据流对所述已发布应用进行故障分析。优选地,上述的测试方法中,构建的Mock子系统包括RedisMock子系统和SOAMock子系统。根据本申请的另一个方面,提供一种应用的测试系统,包括:测试环境,包括待发布应用和Mock子系统;数据获取模块,用于获取线上环境中已发布应用的运行数据,包括实际请求数据、关联服务数据和实际响应数据,将所述关联服务数据存储至所述Mock子系统;生产测试模块,用于将实际请求数据依次在所述测试环境中回放,获取所述待发布应用根据关联服务数据处理实际请求数据所得的模拟响应数据;并比对所述模拟响应数据和所述实际响应数据,对所述待发布应用的各功能单元进行筛查。优选地,上述的测试系统还包括:压力测试模块,用于将实际请求数据按预设的请求速率在所述测试环境中回放,获取所述待发布应用根据关联服务数据处理实际请求数据的输出数据;并根据所述输出数据获取所述待发布应用基于所述预设的请求速率的压力测试结果。优选地,上述的测试系统还包括:速率调节模块,用于调节请求速率,获取所述待发布应用基于不同请求速率的压力测试结果。优选地,上述的测试系统还包括:故障分析模块,用于实时获取线上环境中已发布应用的异常请求数据;将所述异常请求数据在所述测试环境中回放,获取所述待发布应用处理所述异常请求数据生成的数据流;并根据所述数据流对所述已发布应用进行故障分析。优选地,上述的测试系统中,所述测试环境的Mock子系统包括RedisMock子系统和SOAMock子系统。根据本申请的另一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述的应用的测试方法的步骤。根据本申请的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的应用的测试方法的步骤。本申请与现有技术相比的有益效果在于:本申请通过Mock子系统将请求在线上环境中运行时所依赖的关联服务数据实时记录下来,并在测试环境回放请求时返回对应的关联服务数据,排除不同环境下关联服务的差异性;通过在测试环境中回放线上环境的实际请求数据,对待发布应用进行基于真实数据流的测试筛查。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1至图3示出本申请实施例中几种应用的测试方法的步骤示意图;图4示出本申请实施例中一种应用的测试系统的模块示意图;图5示出本申请实施例中一种应用的测试系统的架构示意图;图6示出本申请实施例中一种电子设备的示意图;图7示出本申请实施例中计算机可读存储介质的示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式。相反,提供这些实施方式使得本申请将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。图1至图3示出本申请的一些实施例中几种应用的测试方法的步骤,图中的编号仅用于区分不同的步骤,并不限制各个步骤间的逻辑关系和执行顺序。参照图1所示,在本申请的一些实施例中,应用的测试方法包括但不限于以下步骤:S10、构建测试环境,包括待发布应用和Mock子系统。其中,待发布应用是指针对线上的已发布应用进行更新后的版本。Mock子系统是一套模拟系统,用来模拟待发布应用的各个功能单元的功能实现。Mock子系统可以减少各功能单元之间的依赖,保证各功能单元本身功能的稳定性和测试独立性。S20、获取线上环境中已发布应用的运行数据,包括实际请求数据、关联服务数据和实际响应数据,将关联服务数据存储至Mock子系统。在一些优选的实施例中,构建的Mock子系统包括RedisMock子系统和SOAMock子系统。Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。RedisMock子系统可以存储已发布应用在线上环境中运行处理请求所用到的一些缓存数据,供待发布应用在测试环境中处理相同请求时调用。SOA(Service-OrientedArchitecture,面向服务的架构)是一个组件模型,它将应用的不同功能单元(也称为服务)通过这些服务之间定义良好的接口和契约联系起来。SOAMock子系统可以存储已发布应用在线上环境中运行处理不同功能单元的请求所用到的一些服务数据,供待发布应用在测试环境中处理相同功能单元的请求时调用。其中,线上环境中已发布应用的运行数据存储于数据库中。线上环境将已发布应用的运行数据(即已发布应用运行产生的日志)按照一定的本文档来自技高网...

【技术保护点】
1.一种应用的测试方法,其特征在于,包括:构建测试环境,包括待发布应用和Mock子系统;获取线上环境中已发布应用的运行数据,包括实际请求数据、关联服务数据和实际响应数据,将所述关联服务数据存储至所述Mock子系统;将实际请求数据依次在所述测试环境中回放,获取所述待发布应用根据关联服务数据处理实际请求数据所得的模拟响应数据;比对所述模拟响应数据和所述实际响应数据,对所述待发布应用的各功能单元进行筛查。

【技术特征摘要】
1.一种应用的测试方法,其特征在于,包括:构建测试环境,包括待发布应用和Mock子系统;获取线上环境中已发布应用的运行数据,包括实际请求数据、关联服务数据和实际响应数据,将所述关联服务数据存储至所述Mock子系统;将实际请求数据依次在所述测试环境中回放,获取所述待发布应用根据关联服务数据处理实际请求数据所得的模拟响应数据;比对所述模拟响应数据和所述实际响应数据,对所述待发布应用的各功能单元进行筛查。2.如权利要求1所述的方法,其特征在于,还包括:将实际请求数据按预设的请求速率在所述测试环境中回放,获取所述待发布应用根据关联服务数据处理实际请求数据的输出数据;根据所述输出数据获取所述待发布应用基于所述预设的请求速率的压力测试结果。3.如权利要求2所述的方法,其特征在于,还包括:调节请求速率,获取所述待发布应用基于不同请求速率的压力测试结果。4.如权利要求1所述的方法,其特征在于,还包括:实时获取线上环境中已发布应用的异常请求数据;将所述异常请求数据在所述测试环境中回放,获取所述待发布应用处理所述异常请求数据生成的数据流;根据所述数据流对所述已发布应用进行故障分析。5.如权利要求1所述的方法,其特征在于,构建的Mock子系统包括RedisMock子系统和SOAMock子系统。6.一种应用的测试系统,其特征在于,包括:测试环境,包括待发布应用和Mock子系统;数据获取模块,用于获取线上环境中已发布应用的运行数据,包括实际请求数据、关联服务数据和实际响应数据,将所述关联服务数据存储至所...

【专利技术属性】
技术研发人员:尹胜赖飞李文广唐亚明
申请(专利权)人:携程旅游网络技术上海有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1