一种服务器多元测试系统及方法与流程

文档序号:20874860发布日期:2020-05-26 16:21阅读:320来源:国知局
一种服务器多元测试系统及方法与流程

本发明涉及服务器测试技术领域,具体地说是一种服务器多元测试系统及方法。



背景技术:

服务器测试,是服务器低成本高质量高产出的必经之路。为保证出厂服务器的质量,需要进行功能测试。

传统的手工测试,每个功能每次测试都需要进行手工操作,效率低、重复工作量大。而自动化测试实施过程中,出现不在规则内的环境变化,系统异常等都不能做出有效的应对,容错率较低,且测试功能单一,无法发现测试点以外的错误。

以上这些问题都严重影响了测试效率。



技术实现要素:

本发明实施例中提供了一种服务器多元测试系统及方法,以解决现有技术中服务器测试效率低的问题。

为了解决上述技术问题,本发明实施例公开了如下技术方案:

本发明第一方面提供了一种服务器多元测试系统,所述系统包括:

辅助测试模块,测试过程中进行测试环境的监控,在监测到环境异常后报错,并停止测试流程;

单元模块,调用测试脚本,进行单元测试;

延伸测试模块,对每个单元测试项,收集多种测试方法,在当前单元测试报错时,选用不同的方法进行测试,验证单元测试结果的准确性,并标记报错节点。

进一步地,所述系统还包括规则模块,所述规则模块用于建立测试系统各功能模块的工作规则。

进一步地,所述系统还包括

分析模块,解析分析规则,建立解析模型,通过解析模型解析每条报错数据并进行数据留存;

学习模块,创建机器学习机制,通过分析模块的分析数据,建立数据分析模型,通过数据训练学习,准确定位bug。

本发明第二方面提供了一种服务器多元测试方法,所述方法包括以下步骤:

持续监控测试环境,并在监测异常时,停止测试流程,测试环境无异常时,执行下一步骤;

执行测试流程,在测试异常报错时,引入不同测试方法对当前报错项进行测试,根据引入测试方法的报错结果确定所述异常报错的处理方式。

进一步地,所述测试环境包括服务器网络环境、内存状态、硬盘状态、cpu状态和响应时间,测试节点网络环境、内存状态、硬盘状态和cpu状态,以及测试报文记录情况。

进一步地,所述根据引入测试方法的报错结果确定所述异常报错的处理方式具体为:

查看引入的测试方法测试后,是否报错,

若是,则确认当前测试项异常;

若否,则记录当前节点,重新执行测试流程。

进一步地,所述记录当前节点后,还包括:将此节点存入保存节点的链表中,当后续测试节点中的测试需要依赖该节点的测试数据时,进行跳过或杀死进程操作。

进一步地,所述方法还包括步骤:

对异常报错进行分析,通过机器学习,得到bug情况及产生原因。

进一步地,对所述bug情况形成统计表。

发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:

本发明实施例在单一测试点出现异常问题时,进行延伸测试,选取另外的测试方法进行多元重复测试,保证测试结果的准确性,深度发现问题。通过对报错点进行分析及学习,较快的定位问题所在,整个测试过程无需人为参与,节省人力,提高测试效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明所述系统的结构示意图;

图2是本发明所述方法的流程示意图;

图3是本发明所述方法实施例的流程示意图。

具体实施方式

为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。

如图1所示,本发明的服务器多元测试系统包括辅助测试模块、单元模块、延时测试模块、分析模块、学习模块和规则模块。

辅助测试模块用于测试过程中进行测试环境的监控,在监测到环境异常后报错,并停止测试流程;单元模块用于调用测试脚本,进行单元测试;延伸测试模块在单元测试报错时,选用不同的方法进行测试,验证单元测试结果的准确性,并标记报错节点。分析模块用于解析分析规则,建立解析模型,通过解析模型解析每条报错数据并进行数据留存;学习模块用于创建机器学习机制,通过分析模块的分析数据,建立数据分析模型,通过数据训练学习,准确定位bug。规则模块用于建立测试系统各功能模块的工作规则。

辅助测试模块的优先级最高,用于服务器网络环境监测,服务器内存、硬盘、cpu状态监测、服务器响应时间监测;测试节点网络环境监测,测试节点内存、硬盘、cpu状态监测;测试报文及命令日志文件的记录监测。

辅助测试模块在监测到网络环境异常后,报错并停止整个测试流程;在监测到某个单元测试中,内存、硬盘或cpu等异常时,进行异常记录并报错;在监测到服务器响应时间异常时,处理手段包括:(1)网络延迟较大,继续监控,不做处理,(2)各项环境正常,响应时间过长,将该单元测试进行标记并在测试结束后进行提示,(3)内存、硬盘或cpu异常,响应时间过程,将该单元测试进行标记并在测试结束后进行提示,(4)无响应,直接报错。

延伸测试模块的优先级低于辅助测试模块,高于单元模块。延时测试模块围绕每个单元测试收集不同的测试方法,并在默认测试方法的测试结果报错时,运行其余测试方法。延时测试模块围绕测试中的每个子流程,在内存中存留流程上下文的测试结果,即上一测试节点和下一测试节点的测试结果,用于分析和学习。

当单元模块报错时,运行当前测试项的不同测试方法,判断bug是否准确,并定位bug的具体位置;在报错时,标记当前节点,将此节点存入报错节点的链表中,当后续测试节点中的测试数据有需要依赖该节点的测试数据时,进行跳过或杀死进程操作,避免连环报错,无法定位出错的具体位置。

规则模块用于制定辅助测试模块各项监控报错规则、制定延伸测试模块每个单元测试节点报错后的验证规则、制定学习模块的学习规则以及分析模块的分析规则。

学习模块用于建立机器学习机制。通过导入辅助测试模块及分析模块的数据,建立数据分析模型,通过大量数据进行训练,辅助并快速定位bug原因并产生解决方案。例如通过不断的测试及系统迭代,产生bug的曲线,用于分析bug的产出趋势、某个bug的频率图,某个bug几个出现原因的占比。

分析模块解析规则模块的分析规则,建立解析模型;建立解析数据库,便于学习模块收集数据及生成各种指标图表。分析模块通过解析模型解析每条报错数据并进行数据留存,并生成整体bug频率走向图、生成单个bug频率走向图、生成bug影响因素指标。

如图2、3所示,本发明的服务器多元测试方法,包括以下步骤:

s1,持续监控测试环境,并在监测异常时,停止测试流程;

s2,执行测试流程,在测试异常报错时,引入不同测试方法对当前报错项进行测试,根据引入测试方法的报错结果确定所述异常报错的处理方式。

步骤s1中,测试环境包括服务器网络环境、内存状态、硬盘状态、cpu状态和响应时间,测试节点网络环境、内存状态、硬盘状态和cpu状态,以及测试报文记录情况。

所述根据引入测试方法的报错结果确定所述异常报错的处理方式具体为:查看引入的测试方法测试后,是否报错;若是,则确认当前测试项异常;若否,则记录当前节点,重新执行测试流程。记录当前节点后,将此节点存入保存节点的链表中,当后续测试节点中的测试需要依赖该节点的测试数据时,进行跳过或杀死进行操作。

对异常报错进行分析,通过机器学习,得到bug情况及产生原因。对所bug情况形成统计表。

结合图3,以http方式用户登录web获取用户数据的场景为例,对测试方法进行进一步说明:用户首先需要进行登录,登录成功后服务器返回登录成功信息及请求携带的token,之后的每个动作都需要携带此token进行操作。

开始该测试流程,首先启动辅助测试模块,进行整体的测试环境监控,报错后将信息传递给分析模块,如果测试过程中发现服务器ip无法ping通,或者测试环境网络端口,则中断该测试流程。

开始进行登录测试,测试流程调用登录的测试方法,将需要访问的http请求,用户名,密码等配置好以后,发送测试请求,获取服务器返回的http状态码,返回数据等。根据状态码和数据进行判断该测试节点是否成功。如果该节点测试结果与预期不符,将该节点的测试信息发送给规则模块。

规则模块首先查看环境是否正常,其次判断该节点相关信息有无输入错误,然后查看该节点有无辅助测试方法,将该节点信息发送给延伸测试模块。

延伸测试模块运行和登录请求相关的方法,如查看数据库有无该用户数据,使用其他账户进行测试登录等,最终测试结果收集起来,如果确实为测试bug,则将测试信息发送给分析模块,并中断该测试流程,因为该测试节点后的每个节点都需要第一步登录产生的token。

分析模块发现该bug为http请求bug,存储http请求的bug分类中,并进行整理,学习,输出bug情况及产生原因等报表。

测试结束。

以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1