发明内容
有鉴于此,本发明的目的是提供一种智能路由器自动化测试方法和系统,能对智能路由器进行页面访问速度、文件下载(上传)速度、及压力下的稳定性等自动化测试。
为了达到上述目的,本发明提供了一种智能路由器自动化测试方法,包括有:
步骤A、智能路由器从服务器上下载测试资源,然后实时读取、并记录自身的各种状态参数值,所述测试资源包括测试页面、测试文件及测试资源描述文件;
步骤B、自动化测试设备通过wifi连接上智能路由器,从智能路由器的测试资源描述文件中读取初始测试强度、测试页面列表和测试文件下载列表,其中测试强度是开启的测试线程数量,然后启动初始测试强度对应数量的测试线程,并由所有测试线程负责对测试页面列表中的所有页面、或测试文件下载列表中的所有文件进行循环的访问、下载或上传操作,
步骤B还包括有:
步骤B1、自动化测试设备通过wifi连接上智能路由器,向智能路由器发送状态参数获取请求,然后将智能路由器返回的若干个实时读取的状态参数作为智能路由器无压力时的状态参数保存在智能路由器的状态参数表中;
步骤B2、自动化测试设备定时向智能路由器发送状态参数获取请求,然后将智能路由器返回的若干个实时读取的状态参数、以及状态参数的读取时间保存在智能路由器的状态参数表中;
步骤B3、自动化测试设备根据当前的测试强度、以及智能路由器的状态参数来计算下一时刻t+1的测试强度SNt+1;
步骤B4、在t+1时刻,自动化测试设备根据计算出的SNt+1对启动的测试线程数量进行调整,并将SNt+1及调整时间保存在测试强度记录表中,
步骤B3进一步包括有:
步骤B31、自动化测试设备判断当前的测试强度是否是初始测试强度,如果是,则继续步骤B32;如果否,则继续步骤B33;
步骤B32、自动化测试设备从状态参数表中提取出智能路由器无压力时的状态参数、以及当前时刻t读取的状态参数,并根据初始测试强度来计算下一时刻t+1的测试强度:SNt+1=min(α1,α2,…αn)+SN0,其中,SN0是初始测试强度,α1,α2,…αn分别是智能路由器的每种状态参数对应的初始测试强度调整因子,n是智能路由器读取的状态参数类型总数,min(α1,α2,…αn)是智能路由器的所有非零的状态参数对应的初始测试强度调整因子的最小值,进一步的说,Pi t是状态参数表中智能路由器的第i种状态参数在当前时刻t的值,Pi 0是智能路由器无压力时的第i种状态参数值,当Pi t-Pi 0=0时,则αi=0,本流程结束;
步骤B33、自动化测试设备从状态参数表中提取上一时刻t-1和当前时刻t读取的状态参数,并根据当前时刻t的测试强度来计算下一时刻t+1的测试强度:SNt+1=(SNt+min(λ1,λ2,…λn))*V,其中V是测试强度调整随机因子,SNt是当前时刻t的测试强度,λ1、λ2、…λn分别是智能路由器的每种状态参数对应的测试强度调整因子,n是智能路由器读取的状态参数类型总数,min(λ1,λ2,…λn)是智能路由器的所有非零的状态参数对应的测试强度调整因子的最小值,进一步的说,Pi t是状态参数表中智能路由器的第i种性能参数在当前时刻t的值,Pi t-1是智能路由器的第i种性能参数在上一时刻t-1的值,SNt是当前时刻t的测试强度,SNt-1是测试强度记录表中上一时刻t-1的测试强度,当Pi t-Pi t-1=0时,则λi=0,本流程结束。
为了达到上述目的,本发明还提供了一种智能路由器自动化测试系统,包括有:
智能路由器,用于从服务器上下载测试资源,然后实时读取、并记录自身的各种状态参数值,所述测试资源包括测试页面、测试文件及测试资源描述文件;
自动化测试设备,用于通过wifi连接上智能路由器,从智能路由器的测试资源描述文件中读取初始测试强度、测试页面列表和测试文件下载列表,其中测试强度是开启的测试线程数量,然后启动初始测试强度对应数量的测试线程,并由所有测试线程负责对测试页面列表中的所有页面、或测试文件下载列表中的所有文件进行循环的访问、下载或上传操作,
自动化测试设备进一步包括有:
测试线程控制装置,用于定时通知测试强度计算装置计算下一时刻的测试强度SNt+1,然后在下一时刻对启动的测试线程装置数量进行相应调整,同时将SNt+1及调整时间保存在测试强度记录表中;
测试强度计算装置,用于根据当前的测试强度、以及智能路由器的状态参数来计算下一时刻的测试强度;
测试线程装置,用于模拟人的行为,分别对测试页面列表中的所有页面、以及测试文件下载列表中的所有文件进行循环的访问、下载或上传操作;
状态参数获取装置,当通过wifi刚连接上智能路由器时,向智能路由器发送状态参数获取请求,然后将智能路由器返回的若干个实时读取的状态参数作为智能路由器无压力时的状态参数保存在智能路由器的状态参数表中;当接收到测试线程控制装置发送的测试通知消息后,定时向智能路由器发送状态参数获取请求,然后将智能路由器返回的若干个实时读取的状态参数、以及状态参数的读取时间保存在智能路由器的状态参数表中,
测试强度计算装置进一步包括有:
初始强度调整单元,当前的测试强度是初始测试强度时,从状态参数表中提取出智能路由器无压力时的状态参数、以及当前时刻t读取的状态参数,并根据初始测试强度来计算下一时刻t+1的测试强度:SNt+1=min(α1,α2,…αn)+SN0,其中,SN0是初始测试强度,α1,α2,…αn分别是智能路由器的每种状态参数对应的初始测试强度调整因子,n是智能路由器读取的状态参数类型总数,min(α1,α2,…αn)是智能路由器的所有非零的状态参数对应的初始测试强度调整因子的最小值,智能路由器的第i种状态参数对应的初始测试强度调整因子的计算公式如下:其中,Pi t是状态参数表中智能路由器的第i种状态参数在当前时刻t的值,Pi 0是智能路由器无压力时的第i种状态参数值,当Pi t-Pi 0=0时,则αi=0;
非初始强度调整单元,当前的测试强度不是初始测试强度时,从状态参数表中提取上一时刻t-1和当前时刻t读取的状态参数,并根据当前时刻t的测试强度来计算下一时刻t+1的测试强度:SNt+1=(SNt+min(λ1,λ2,…λn))*V,其中V是测试强度调整随机因子,SNt是当前时刻t的测试强度,λ1、λ2、…λn分别是智能路由器的每种状态参数对应的测试强度调整因子,n是智能路由器读取的状态参数类型总数,min(λ1,λ2,…λn)是智能路由器的所有非零的状态参数对应的测试强度调整因子的最小值,智能路由器的第i种状态参数对应的测试强度调整因子的计算公式如下:其中,Pi t是状态参数表中智能路由器的第i种性能参数在当前时刻t的值,Pi t-1是智能路由器的第i种性能参数在上一时刻t-1的值,SNt是当前时刻t的测试强度,SNt-1是测试强度记录表中上一时刻t-1的测试强度,当Pi t-Pi t-1=0时,则λi=0,
V是0.8到1.2之间的一个随机值。
与现有技术相比,本发明的有益效果是:本发明中对智能路由器的自动化测试无须人工干涉,只需自动化测试设备通过wifi连接上智能路由器即可快速自动的对路由器各方面性能状态指标进行测试,测试项目全面,测试结果一目了然;测试资源部署简单,配置灵活,可以进行长时间的压力测试;通过对智能路由器、自动化测试设备上报的信息进行整合,服务器端可以呈现出智能路由器全面的测试结果;压力测试时,本发明采用动态反馈,可以根据智能路由器的当前状况,实时调整测试强度,从而能准确测试出智能路由器的压力承受情况及在接近极限压力下的工作情况。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
如图1所示,本发明一种智能路由器自动化测试方法,进一步包括有:
步骤A、测试的智能路由器从服务器上下载测试资源,然后实时读取、并记录自身的各种状态参数值,所述测试资源包括测试页面、测试文件及测试资源描述文件,所述状态参数值可以是智能路由器的CPU占用百分比、内存占用百分比等;
步骤B、自动化测试设备通过wifi连接上测试的智能路由器,从智能路由器的测试资源描述文件中读取初始测试强度、测试页面列表和测试文件下载列表,其中测试强度是开启的测试线程数量,然后启动初始测试强度对应数量的测试线程,并由所有测试线程负责对测试页面列表中的所有页面、或测试文件下载列表中的所有文件进行循环的访问、或下载/上传操作。
步骤A中,还包括有:将实时读取的多种状态参数值上报至服务器中。测试页面包括静态页面、动态页面以及文件上传页面,用以测试不同页面的访问速度及文件上传速度。测试文件用以测试智能路由器内文件的下载速度。测试资源描述文件对测试资源用json格式进行描述,当测试资源需要调整时,只需要改变测试资源描述文件即可实现新的自动化测试。
步骤B中的自动化测试设备可以是智能手机,这样不需额外的测试设备,还可以很方便的实时移动,从而对不同距离下智能路由器的性能效果进行测试。
值得一提的是,在进行压力测试时,本发明还可以采用动态反馈实时调整测试强度,从而能准确测试出智能路由器的压力承受情况和在接近极限压力下的工作情况,如图2所示,步骤B进一步包括有:
步骤B1、自动化测试设备通过wifi连接上测试的智能路由器,向智能路由器发送状态参数获取请求,然后将智能路由器返回的若干个实时读取的状态参数作为智能路由器无压力时的状态参数保存在智能路由器的状态参数表中;
步骤B2、自动化测试设备从智能路由器的测试资源描述文件中读取初始测试强度、测试页面列表和测试文件下载列表等信息,然后启动初始测试强度对应数量的测试线程,所述多个测试线程用于模拟人的行为,分别对测试页面列表中的所有页面、以及测试文件下载列表中的所有文件进行循环的访问、下载/或上传操作,同时将初始测试强度及测试线程的启动时间保存在测试强度记录表中;
步骤B3、自动化测试设备定时向智能路由器发送状态参数获取请求,然后将智能路由器返回的若干个实时读取的状态参数、以及状态参数的读取时间保存在智能路由器的状态参数表中;
步骤B4、自动化测试设备根据当前的测试强度、以及智能路由器的状态参数等信息来计算下一时刻t+1的测试强度SNt+1;
步骤B5、在t+1时刻,自动化测试设备根据计算出的SNt+1对启动的测试线程数量进行调整,并将SNt+1及调整时间保存在测试强度记录表中,然后由各个测试线程继续对测试页面列表中的所有页面、以及测试文件下载列表中的所有文件进行循环访问、下载/或上传操作;
步骤B6、自动化测试设备判断是否达到了设定的测试阈值?如果是,则继续步骤B7;如果否,则转向步骤B3,所述测试阈值可以是页面访问、或文件下载/或上传的测试总次数;
步骤B7、自动化测试设备关闭所有测试线程,并根据所有测试线程的页面访问时间、或文件下载/或上传操作时间,统计出智能路由器的平均页面访问速度、或文件上传/下载速度,然后上传到服务器中。
图2的步骤B4还可以进一步包括有:
步骤B41、自动化测试设备判断当前的测试强度是否是初始测试强度?如果是,则继续步骤B42;如果否,则继续步骤B43;
步骤B42、自动化测试设备从状态参数表中提取出智能路由器无压力时的状态参数、以及当前时刻t读取的状态参数,并根据初始测试强度来计算下一时刻t+1的测试强度:SNt+1=min(α1,α2,…αn)+SN0,其中,SN0是初始测试强度,α1,α2,…αn分别是智能路由器的每种状态参数对应的初始测试强度调整因子,n是智能路由器读取的状态参数类型总数,min(α1,α2,…αn)是智能路由器的所有非零的状态参数对应的初始测试强度调整因子的最小值,进一步的说,Pi t是状态参数表中智能路由器的第i种状态参数在当前时刻t的值,Pi 0是智能路由器无压力时的第i种状态参数值,当Pi t-Pi 0=0时,则αi=0,本流程结束;
步骤B43、自动化测试设备从状态参数表中提取上一时刻t-1和当前时刻t读取的状态参数,并根据当前时刻t的测试强度来计算下一时刻t+1的测试强度:SNt+1=(SNt+min(λ1,λ2,…λn))*V,其中V是测试强度调整随机因子,SNt是当前时刻t的测试强度,λ1、λ2、…λn分别是智能路由器的每种状态参数对应的测试强度调整因子,n是智能路由器读取的状态参数类型总数,min(λ1,λ2,…λn)是智能路由器的所有非零的状态参数对应的测试强度调整因子的最小值,进一步的说,Pi t是状态参数表中智能路由器的第i种性能参数在当前时刻t的值,Pi t-1是智能路由器的第i种性能参数在上一时刻t-1的值,SNt是当前时刻t的测试强度,SNt-1是测试强度记录表中上一时刻t-1的测试强度,当Pi t-Pi t-1=0时,则λi=0,本流程结束。
所述步骤B43中,V的计算公式还可以进一步如下:V=Radom(0.8,1.2),即V是0.8到1.2之间的一个随机值,通过引入测试强度调整随机因子V,可以使不同的自动化测试设备的测试强度有所差异,从而对智能路由器在不同情况下的现实使用情况进行充分模拟,获取得到更为全面的测试性能。
如图3所示,本发明一种智能路由器自动化测试系统,包括有:
智能路由器,用于从服务器上下载测试资源,然后实时读取、并记录自身的各种状态参数值,所述测试资源包括测试页面、测试文件及测试资源描述文件,所述状态参数值可以是智能路由器的CPU占用百分比、内存占用百分比等;
自动化测试设备,用于通过wifi连接上测试的智能路由器,从智能路由器的测试资源描述文件中读取初始测试强度、测试页面列表和测试文件下载列表,其中测试强度是开启的测试线程数量,然后启动初始测试强度对应数量的测试线程,并由所有测试线程负责对测试页面列表中的所有页面、或测试文件下载列表中的所有文件进行循环的访问、或下载/上传操作。
所述智能路由器,进一步包括有:
测试脚本装置,用于实时读取智能路由器的多种状态参数值,并上报至服务器中。
所述自动化测试设备可以是智能手机。如图4所示,自动化测试设备还可以进一步包括有:
状态参数获取装置,当通过wifi刚连接上测试的智能路由器时,向智能路由器发送状态参数获取请求,然后将智能路由器返回的若干个实时读取的状态参数作为智能路由器无压力时的状态参数保存在智能路由器的状态参数表中;当接收到测试线程控制装置发送的测试通知消息后,定时向智能路由器发送状态参数获取请求,然后将智能路由器返回的若干个实时读取的状态参数、以及状态参数的读取时间保存在智能路由器的状态参数表中;
测试线程控制装置,用于定时通知测试强度计算装置计算下一时刻的测试强度SNt+1,然后在下一时刻对启动的测试线程装置数量进行相应调整,同时将SNt+1及调整时间保存在测试强度记录表中;
测试强度计算装置,用于根据当前的测试强度、以及智能路由器的状态参数来计算下一时刻的测试强度;
测试线程装置,用于模拟人的行为,分别对测试页面列表中的所有页面、以及测试文件下载列表中的所有文件进行循环的访问、下载或上传操作。
所述测试线程控制装置还可以包括有:
测试线程启动单元,用于从测试的智能路由器的测试资源描述文件中读取初始测试强度、测试页面列表和测试文件下载列表等信息,然后启动初始测试强度对应数量的测试线程装置,并将初始测试强度及测试线程装置的启动时间保存在测试强度记录表中,同时向状态参数获取装置发送测试通知消息;
测试线程关闭单元,用于当达到了设定的测试阈值时,关闭所有测试线程装置,并根据所有测试线程装置的页面访问时间、文件下载或上传操作时间,统计出智能路由器的平均页面访问速度、文件上传或下载速度,然后上传到服务器中,所述测试阈值可以是页面访问、或文件下载/或上传的测试总次数。
如图5所示,测试强度计算装置还可以进一步包括有:
测试强度判断单元,用于判断当前的测试强度是否是初始测试强度,如果是,则通知初始强度调整单元来计算下一时刻的测试强度;如果否,则通知非初始强度调整单元来计算下一时刻的测试强度;
初始强度调整单元,用于从状态参数表中提取出智能路由器无压力时的状态参数、以及当前时刻t读取的状态参数,并根据初始测试强度来计算下一时刻t+1的测试强度:SNt+1=min(α1,α2,…αn)+SN0,其中,SN0是初始测试强度,α1,α2,…αn分别是智能路由器的每种状态参数对应的初始测试强度调整因子,n是智能路由器读取的状态参数类型总数,min(α1,α2,…αn)是智能路由器的所有非零的状态参数对应的初始测试强度调整因子的最小值,进一步的说,Pi t是状态参数表中智能路由器的第i种状态参数在当前时刻t的值,Pi 0是智能路由器无压力时的第i种状态参数值,当Pi t-Pi 0=0时,则αi=0;
非初始强度调整单元,用于从状态参数表中提取上一时刻t-1和当前时刻t读取的状态参数值,并根据当前时刻t的测试强度来计算下一时刻t+1的测试强度:SNt+1=(SNt+min(λ1,λ2,…λn))*V,其中V是测试强度调整随机因子,SNt是当前时刻t的测试强度,λ1、λ2、…λn分别是智能路由器的每种状态参数对应的测试强度调整因子,n是智能路由器读取的状态参数类型总数,min(λ1,λ2,…λn)是智能路由器的所有非零的状态参数对应的测试强度调整因子的最小值,进一步的说,Pi t是状态参数表中智能路由器的第i种性能参数在当前时刻t的值,Pi t-1是智能路由器的第i种性能参数在上一时刻t-1的值,SNt是当前时刻t的测试强度,SNt-1是测试强度记录表中上一时刻t-1的测试强度,当Pi t-Pi t-1=0时,则λi=0。
V的计算公式还可以进一步如下:V=Radom(0.8,1.2),即V是0.8到1.2之间的一个随机值,通过引入测试强度调整随机因子V,可以使不同的自动化测试设备的测试强度有所差异,从而对智能路由器在不同情况下的现实使用情况进行充分模拟,获取得到更为全面的测试性能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。