一种自动回归测试方法、系统、设备及介质与流程

文档序号:17770962发布日期:2019-05-28 19:25阅读:190来源:国知局
一种自动回归测试方法、系统、设备及介质与流程

本发明涉及测试领域,尤其涉及一种自动回归测试方法、系统、设备及介质。



背景技术:

随着科技技术高速发展,各种网络设备功能和复杂性不断增加,在网络设备进行“质量保证”的活动中,测试人员面临回归测试执行的工作量巨大。通常,测试人员会进行自动化测试脚本编写,进行回归测试,来解决此类问题。但是,随着网络设备的各种配置组合的多样性,及预期结果判断的复杂性,都给自动化测试脚本增加了解答的写作难度。对每个自动化测试脚本的预期输出,需要逐一进行人工确认,需要通过测试建模,将预期结果和单独的每条操作步骤逐条绑定,效率低,无论是逐一确认,还是和操作步骤在测试建模时一次性绑定,都需人工干预。适应度低,操作组合复杂时,无法通过单独某条步骤来判断最终整体输出的预期结果,另外,真实性低,真实单纯针对现实业务的模拟和结果猜测。“预期结果正确与否的判断”,更需要仔细逐条确认,这是自动化测试脚本可信度的关键。提升“预期结果正确与否的判断”的效率,能够极大提升自动化测试脚本的写作和测试效率。



技术实现要素:

(一)要解决的技术问题

本发明提供了一种自动回归测试方法、系统、设备及介质,至少解决以上问题。

(二)技术方案

一方面,本发明提供了一种自动回归测试方法,用于对网络设备中的新版本模块进行回归测试,方法包括:s1,为具有老版本模块的网络设备和新版本模块的网络设备配置相同运行信息;s2,采集具有老版本模块的网络设备的第一运行数据记录和新版本模块的网络设备的第二运行数据记录;s3,比对第二运行数据记录与第一运行数据记录,得到比对结果,若比对结果大于预设阈值则该新版本模块没有通过回归测试,若比对结果小于预设阈值则该新版本模块通过回归测试。

可选地,第一运行数据记录和第二运行数据记录均包括:日志信息、系统状态信息以及数据包信息,对日志信息、系统状态信息以及数据包信息设置不同的阈值范围,分别对应第一阈值、第二阈值及第三阈值。

可选地,步骤s3具体包括:比对第二运行数据记录与第一运行数据记录,得到比对结果;若第二运行数据记录中的日志信息、系统状态信息以及数据包信息与第一运行数据记录中日志信息、系统状态信息以及数据包信息比对结果均在的第一阈值、第二阈值及第三阈值范围内,则该新版本模块通过回归测试,否则不通过。

可选地,在比对第二运行数据记录中的日志信息与第一运行数据记录中的日志信息之前去除第二运行数据记录中的日志信息与第一运行数据记录中的日志信息中的时间信息。

可选地,可通过基于行为的mbt、随机模型或蚁群算法遍历实现步骤s1中的为具有老版本模块的网络设备和新版本模块的网络设备配置相同运行信息。

可选地,步骤s2中相同的运行信息包括:位于同一网络,同时开始流量传输,传输流量相同、同时关闭流量传输。

可选地,比对第二运行数据记录与第一运行数据记录中的数据包信息之前包括将所述第二运行数据记录中的数据包信息和第一运行数据记录中的数据包信息转换为pcap格式,若第二运行数据记录中的数据包与第一运行数据记录中的数据包中的相同数量大于第三阈值该数据包信息通过测试。

另一方面,本发明提供了一种电子设备,所述设备包括:处理器;存储器,其存储有计算机可执行程序,该程序在被处理器执行时,使得处理器执行上述的自动回归测试方法。

又一方面,本发明提供了一种自动回归测试系统,包括:配置模块,用于为具有老版本模块的网络设备和新版本模块的网络设备配置相同运行信息;采集模块,用于采集具有老版本模块的网络设备的第一运行数据记录和新版本模块的网络设备的第二运行数据记录;判断模块,用于比对所述第二运行数据记录与第一运行数据记录,得到比对结果,若第二运行数据记录的比对结果不在预设阈值内则该新版本模块没有通过回归测试,若第二运行数据记录的在预设阈值内则该新版本模块通过回归测试。

又一方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行上述自动回归测试方法。

(三)有益效果

通过本发明提供了一种自动回归测试方法、系统、设备及介质,通过自动化为具有新版本模块的网络设备和具有老版本模块的网络设备配置相同的运行信息,以具有老版本模块的网络设备为参考,针对不同的运行结果信息设置不同的阈值范围,当具有新版本模块的网络设备的运行数据产生后自动与阈值范围进行比较,自动判断以得到测试结果,整个过程无需人为干预自动化程度高。

附图说明

图1示意性示出了本公开实施例的自动回归测试方法步骤图;

图2示意性示出了本公开实施例的自动回归测试方法中具有新版本模块的网络设备和具有老版本模块的网络设备的网络布置图;

图3示意性示出了本公开实施例的自动回归测试方法流程图;

图4示意性示出了本公开实施例的自动回归测试方法阈值确定时的网络设备的网络布置图;

图5示意性示出了本公开实施例的自动回归测试方法阈值确定时方法流程图;

图6示意性示出了本公开实施例的电子设备框图;

图7示意性示出了本公开实施例的自动回归测试系统框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

本发明提供了一种自动回归测试方法,参见图1,用于对网络设备中的新版本模块进行回归测试,方法包括:s1,为具有老版本模块的网络设备和新版本模块的网络设备配置相同运行信息;s2,采集具有老版本模块的网络设备的第一运行数据记录和新版本模块的网络设备的第二运行数据记录;s3,比对第二运行数据记录与第一运行数据记录,得到比对结果,若比对结果大于预设阈值则该新版本模块没有通过回归测试,若第比对结果小于预设阈值则该新版本模块通过回归测试。本发明实施例以一条测试用例进行阐述,该测试用例可在老版本模块和新版本模块上运行。此处的老版本模块为具有正确执行能力的模块。

具体的,s1,为具有老版本模块的网络设备和新版本模块的网络设备配置相同运行信息;

在相同的网络设备上分别配置老版本模块和新版本模块,如图2所示,其中,测试执行机1用于发布测试用例,并将在网络中同时配置设有老版本模块的网络设备和新版本模块的网络设备。将具有老版本模块的网络设备2和新版本模块的网络设备3配置于相同的真实的网络以得到真实的流量,本实施例中的两台网络设备均为透明模式传输,两股完全相同的流量同时分别接入具有老版本模块的网络设备和新版本模块的网络设备,为了不影响应用,可以使用流量复制装置4,将真实网洛流量引入两个网络设备中。

除了上述将具有老版本模块的网络设备2和新版本模块的网络设备3配置于相同的网络和流量外,上述运行信息还包括配置相同的开启流量通道、关闭流量通道、开启流量通道的时间、关闭流量通道的时间、流量记录及状态记录等。s2,采集具有老版本模块的网络设备的第一运行数据记录和新版本模块的网络设备的第二运行数据记录;

经过步骤s2,对具有老版本模块的网络设备和具有新版本模块的网络设备进行运行后生成运行数据,分别为第一运行数据记录和第二运行数据记录,内部网络中终端5采集上述运行数据记录,其中,第一运行数据记录和第二运行数据记录均包括日志信息、系统状态信息以及数据包信息,由于上述配置信息均相同,因此对运行数据记录进行分析时可排除配置参数对运行结果的影响。

s3,比对第二运行数据记录与第一运行数据记录,得到比对结果,若比对结果大于预设阈值则该新版本模块没有通过回归测试,若比对结果小于预设阈值则该新版本模块通过回归测试。

由上述步骤s2可知,该第二运行数据记录与第一运行数据记录包括日志信息、系统状态信息以及数据包信息。对不同的运行数据记录种类设置不同的阈值范围,本公开实施例中,对于日志信息设有第一阈值、对于系统状态信息设有第二阈值、对于数据包信息设有第三阈值,通过比对第二运行数据记录与第一运行数据记录,将比对结果分别与第一阈值、第二阈值和第三阈值进行比较,若比对结果均在第一阈值、第二阈值和第三阈值范围内,则该新版本模块通过测试,若有至少一项不满足则该新版本模块没有通过测试。

针对本公开实施例中的测试用例,具体的,针对日志信息的比对,日志信息比对前应去除时间信息,以去除时间差带来的误差,对日志信息进行比对具体为对日志信息的正确度进行比对,日志正确度的定义为成功的日志条数rn(rightnumver)与总日志条数tln(totallognumber)的比值,即日志正确度=rn/tln,当具有新版本模块的网络设备的日志记录的正确度大于第一阈值时,则该日志信息满足要求。

针对系统状态信息的比对,系统一般包括cpu、内存等信息,因此针对系统状态的比对包括cpu信息的比对、内存信息的比对等,具体的,cpu正确度=abs(新版本cpu使用率-老版本cpu使用率)/新版本cpu使用率,内存正确度=abs(新版本内存使用率-老版本内存使用率)/新版本内存使用率。cpu和内存状态包括系统级整体情况和各功能模块情况,具体需求根据各自产品的具体设定。例如可以细粒度的进行某个子功能的cpu和内存的比对。因此应分别对比第一运行数据记录和第二运行数据记录中的cpu、内存等信息,若cpu、内存等信息的正确度均大于预设正确度,则该新版本模块的系统状态在第二阈值范围内,否则不在阈值范围内。

针对数据包信息的比对,主要是比对输出的数据包,第一运行数据记录和第二运行数据记录中数据包会被转化为pcap格式,而后对数据包信息的正确度进行比对,数据包正确度的定义为相同的包的个数rn(rightnumber)与数据包总数tpn(totalpacketnumber)的比值,即数据包正确度=rn/tpn,第二运行数据记录中数据包正确度与第一运行数据记录中的数据包正确度之比大于第三阈值时,则数据包信息通过验证。

依据上述方式可比对第一运行数据记录和第二运行数据记录中多种信息的正确度,当第二运行数据记录中所有种类信息的正确度均满足要求时则新版本模块通过测试,否则没通过测试。

依照上述方式进行多种测试用例的测试,以对新版本模块进行客观评判。

综上可知,本发明实施例中的流程图如图3所示,通过为具有新版本模块的网络设备和具有老版本模块的网络设备匹配相同的测试用例,同时开启关闭流量,采取其允许数据记录,比对运行数据记录,若在阈值范围内则测试通过,可直接退出测试或进行下一个测试用例的测试,若不在阈值范围内则测试失败,此时需要将流量包数据、配置信息以及运行记录数据等归档存储以备参考使用。

可以参照历史合理值确定第一阈值、第二阈值或第三阈值,具体方法如图4和图5所示,使用两台老版本模块的网络设备同时上线测试,根据经验值判断,一般普通自动化用例正确性误报率在0.1%,因此首先第一步将0.1%作为阈值的参考输入,高于0.1%则调低阈值,低于0.1%则增加阈值,通过此方式可以得到第一阈值、第二阈值或第三阈值。在测试某一阈值时可以把其它的阈值调成0,默认不报错,依次求解每个正确度的阈值。例如求解cpu正确度阈值时,把内存、日志信息、数据包信息正确度参数可以设置为0,先求取cpu正确度的阈值基线。

综上所述,通过自动化为具有新版本模块的网络设备和具有老版本模块的网络设备配置相同的运行信息,以具有老版本模块的网络设备为参考,针对不同的运行结果信息设置不同的阈值范围,当具有新版本模块的网络设备的运行数据产生后自动与阈值范围进行比较,自动判断以得到测试结果,整个过程无需人为干预自动化程度高,大大提升自动化脚本写作和调试效率。;系统状态比对更具全面性,从配置,日志,状态,网络数据包变化,做全方面对比;.具备更强的真实性,基于真实现网上的测试。

另一方面,本发明还提供了一种电子设备,参见图6为本发明实施例的电子设备框图,电子设备600包括:处理器601和存储器602,该电子设备600可以执行根据本发明实施例的方法。

具体的,处理器601例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以是用于执行根据本发明实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

存储器602,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(hdd);光存储装置,如光盘(cd-rom);存储器,如随机存取存储器(ram)或闪存;和/或有线/无线通信链路。

存储器602可以包括计算机程序6021,该计算机程序6021可以包括代码/计算机可执行指令,其在由处理器601执行时使得处理器601执行例如上面本发明实施例的方法流程及其任何变形。

计算机程序6021可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序6021中的代码可以包括一个或多个程序模块,例如包括6021a、模块6021b、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器601执行时,使得处理器601可以执行例如上面结合本发明实施例的方法流程及其任何变形。

又一方面,本发明实施例提供了一种自动回归测试系统,参见图7,系统700包括:配置模块701、采集模块702以及判断模块703。

具体的,配置模块701,用于为具有老版本模块的网络设备和新版本模块的网络设备配置相同运行信息;采集模块702,用于采集具有老版本模块的网络设备的第一运行数据记录和新版本模块的网络设备的第二运行数据记录;判断模块703,用于比对第二运行数据记录与第一运行数据记录,得到比对结果,若第二运行数据记录的不在预设阈值内则该新版本模块没有通过回归测试,若第二运行数据记录的在预设阈值内则该新版本模块通过回归测试。

根据本申请的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本申请实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。

本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本申请实施例的方法。

根据本申请的实施例,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。

本领域技术人员可以理解,本申请的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本申请中。特别地,在不脱离本申请精神和教导的情况下,本申请的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本申请的范围。

尽管已经参照本申请的特定示例性实施例示出并描述了本申请,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本申请的精神和范围的情况下,可以对本申请进行形式和细节上的多种改变。因此,本申请的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

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