[0026] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0027] 需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0028] 请参阅图1,本发明提供一种基于SSH协议进行登陆认证的测试方法。所述测试方法主要由用户设备和被测设备来执行。其中,所述用户设备与被测设备通过网络串行接口相连。其中,在被测设备中预存了对应各种登陆认证的认证测试程序。为了便于对所述被测设备的认证过程、大流量环境下认证过程等功能和性能进行测试,本方法执行以下步骤:
[0029] 在步骤S1中,所述用户设备按照预设的生成规则生成登陆信息对,并将所述登陆信息对中的至少一个登陆信息发送至被测设备。
[0030] 其中,所述生成规则与所要测试的认证过程相关。例如,所要测试的认证过程包括:用户名密码认证测试,则所述生成规则为按照预设的用户名长度和密码长度随机生成用户名、密码的规则。又如,所要测试的认证过程包括:密钥认证测试,则所述生成规则为选择预设的密钥生成器生成公钥、私钥的规则。再如,所要测试的认证过程包括:密钥认证测试和版本认证测试,则所述生成规则包括:选择预设的密钥生成器生成公钥和私钥,以及生成版本号的规则。其中,所述密钥生成器包括:puttygen工具等。
[0031] 根据测试人员所选择的一个生成规则、或多个选定顺序的生成规则,所述用户设备生成至少一个登陆信息对。其中,所述登陆信息对包括:用户名和密码对、和/或公钥和私钥对等。
[0032] 还根据所生成的登陆信息对,将其中的至少一个登陆信息发送至被测设备。
[0033] 例如,所述登陆信息对为公钥和私钥对,则将所述公钥发送至被测设备。
[0034] 又如,所述登陆信息对为用户名和密码对,则将所述用户名和密码均发送至所述被测设备。
[0035] 在此,为了便于被测设备选择认证测试程序,所述用户设备在上传各登陆信息时还上传所对应的登陆信息类型。其中,所述登陆信息类型包括:密码类型、和密钥类型。
[0036] 所述用户设备通过串行接口将所述登陆信息对发送给所述被测设备。
[0037] 优选地,所述用户设备可以连续测试多种登陆认证。故而,本步骤中,所述用户设备还可以按照预设的对应各登陆信息对的生成规则的顺序,依次生成相应的登陆信息对,并将每次所生成的登陆信息对中的至少一个登陆信息发送给被测设备。当所述被测设备与所述用户设备执行了后续的步骤S2-S5后,再发送后续生成的登陆信息对中的至少一个登陆信息。以此类推,直至完成所有登陆认证测试。
[0038] 在步骤S2中,所述被测设备保存来自用户设备所生成的登陆信息对中的至少一个登陆信息,并基于所获取的登陆信息对确定相应的认证测试程序。
[0039] 具体地,所述被测设备通过分析所述登陆信息的格式、数量和所获取的登录信息类型中的至少一种来确定相应的认证测试程序。例如,所获取的登陆信息为文本格式,则确定所对应的认证测试程序为密码认证测试程序。所获取的登陆信息的数量为两个,则确定所对应的认证测试程序为密钥认证测试程序。
[0040] 在步骤S3中,所述用户设备基于SSH协议将所述登陆信息对中的至少另一个登陆信息发送给所述被测设备。
[0041] 具体地,所述用户设备此时开始进行登陆认证测试,模拟正常的用户登陆过程,将登陆时所需发送的登陆信息发送至所述被测设备。例如,所述用户设备利用SSH协议将用户名和密码均发送给被测设备,则所述被测设备执行步骤S4。
[0042] 在步骤S4中,所述被测设备执行所确定的认证测试程序并记录执行过程中的测试信息。
[0043] 具体地,所述被测设备执行所确定的认证测试程序,并按照所述认证测试程序中的日志记录点,记录测试过程和测试结果。其中,所述测试过程包括但不限于:正常的阶段测试信息、异常的阶段测试信息、测试人员预设的所要查看的其他测试过程等。所述测试结果包括但不限于:测试成功率、测试是否通过等。
[0044] 在步骤S5中,所述被测设备将包含测试过程和测试结果的测试信息反馈给所述用户设备。如此,测试人员可直接在用户设备上检查测试信息。
[0045] 为了及时提供带有异常测试情况的测试信息,所述被测设备采用以下方式反馈测试信息。
[0046] 1)实时的将所记录的测试信息反馈给所述用户设备,并基于来自所述用户设备的停止指令停止执行所述认证测试程序。
[0047] 具体地,所述被测设备实时的将所记录的新的测试信息反馈给用户设备,由所述用户设备进行解析,若解析到所接收的测试信息为异常信息时,则发出停止指令。所述被测设备基于所述停止指令,停止继续执行相应的认证测试程序。
[0048] 2)所述被测设备基于所记录的测试信息中的异常信息,停止执行所述认证测试程序,并将当前所记录的测试信息反馈给所述用户设备。
[0049] 具体地,所述被测设备在记录测试信息的过程中,检测带有异常信息的标记,若检测监测到异常信息,则将从执行认证测试程序大屏检测到异常信息之间的测试信息予以保存,并停止相应认证测试程序的执行。再将所得到的测试信息发送给用户设备。由此,测试人员可通过监测用户设备来得到认证测试程序的运行情况。
[0050] 请参阅图2,本发明还提供一种基于SSH协议进行登陆认证测试的系统。所述测试系统包括:用户设备和被测设备。其中,所述用户设备与被测设备通过网络串行接口相连。其中,在被测设备中预存了对应各种登陆认证的认证测试程序。为了便于对所述被测设备的认证过程、大流量环境下认证过程等功能和性能进行测试,所述用户设备1包括:自动生成处理模块11、第一通信模块12;所述被测设备2包括:第二通信模块21和测试模块22。
[0051] 所述自动生成处理模块11用于按照预设的生成规则生成登陆信息对。
[0052] 其中,所述生成规则与所要测试的认证过程相关。例如,所要测试的认证过程包括:用户名密码认证测试,则所述生成规则为按照预设的用户名长度和密码长度随机生成用户名、密码的规则。又如,所要测试的认证过程包括:密钥认证测试,则所述生成规则为选择预设的密钥生成器生成公钥、私钥的规则。再如,所要测试的认证过程包括:密钥认证测试和版本认证测试,则所述生成规则包括:选择预设的密钥生成器生成公钥和私钥,以及生成版本号的规则。其中,所述密钥生成器包括:puttygen工具等。
[0053] 根据测试人员所选择的一个生成规则、或多个选定顺序的生成规则,所述用户设备1生成至少一个登陆信息对。其中,所述登陆信息对包括:用户名和密码对、和/或公钥和私钥对等。
[0054] 还根据所生成的登陆信息对,将其中的至少一个登陆信息传递给所述第一通信模块12,以便其发送至被测设备2。
[0055] 例如,所述登陆信息对为公钥和私钥对,则将所述公钥发送至被测设备2。
[0056] 又如,所述登陆信息对为用户名和密码对,则将所述用户名和密码均发送至所述被测设备2。
[0057] 在此,为了便于被测设备2选择认证测试程序,所述自动生成处理模块11在上传各登陆信息时还上传所对应的登陆信息类型。其中,所述登陆信息类型包括:密码类型、和密钥类型。
[0058] 所述第一通信模块12通过串行接口将所述登陆信息对发送给所述被测设备2。
[0059] 优选地,所述用户设备1可以连续测试多种登陆认证。故而,所述自动生成处理还可以按照预设的对应各登陆信息对的生成规则的顺序,依次生成相应的登陆信息对,并将每次所生成的登陆信息对中的至少一个登陆信息发送给被测设备2。当所述被测设备2与所述用户设备1中各模块执行完一次测试后,所述自动生成处理模块11再通过所述第一通信模块12发送后续生成的登陆信息对中的至少一个登陆信息。以此类推,直至完成所有登陆认证测试。
[0060] 所述第二通信模块21用于保存来自所述第一通信模块12所提供的登陆信息对中的至少一个登陆信息。
[0061] 所述测试模块22用于基于所获取的登陆信息对确定相应的认证测试程序。
[0062] 具体地,所述测试模块22通过分析所述登陆信息的格式、数量和所获取的登录信息类型中的至少一种来确定相应的认证测试程序。例如,所获取的登陆信息为文本格式,则确定所对应的认证测试程序为密码认证测试程序。所获取的登陆信息的数量为两个,则确定所对应的认证测试程序为密钥认证测试程序。
[0063] 所述第一通信模块12还用于基于SSH协议将所述登陆信息对中的至少另一个登陆信息发送给所述被测设备2。
[0064] 具体地,所述第一通信模块12此时开始进行登陆认证测试,模拟正常的用户登陆过程,将登陆时所需发送的登陆信息发送至所述被测设备2。例如,所述第一通信模块12利用SSH协议将用户名和密码均发送给被测设备2,则所述被测设备2中的测试模块22继续执行。
[0065] 所述测试模块22还用于执行所确定的认证测试程序并记录执行过程中的测试信息。
[0066] 具体地,所述测试模块22执行所确定的认证测试程序,并按照所述认证测试程序中的日志记录点,记录测试过程和测试结果。其中,所述测试过程包括但不限于:正常的阶段测试信息、异常的阶段测试信息、测试人员预设的所要查看的其他测试过程等。所述测试结果包括但不限于:测试成功率、测试是否通过等。
[0067] 所述第二通信模块21还用于将包含测试过程和测试结果的测试信息反馈给所述用户设备1。如此,测试人员可直接在用户设备1上检查测试信息。
[0068] 为了及时提供带有异常测试情况的测试信息,所述被测设备2还包括:停止模块。(未予图示)
[0069] 所述停止模块用于指示所述第二通信模块21实时的将所记录的测试信息反馈给所述用户设备1,并基于来自所述用户设备1的停止指令停止执行所述认证测试程序。
[0070] 具体地,所述停止模块指示所述第二通信模块21实时的将所记录的新的测试信息反馈给用户设备1,由所述用户设备1中的分析模块(未予图示)进行解析,若解析到所接收的测试信息为异常信息时,则发出停止指令。所述停止模块基于所述停止指令,停止继续执行相应的认证测试程序。
[0071] 所述停止模块用于基于所记录的测试信息中的异常信息,停止执行所述认证测试程序,并将当前所记录的测试信息反馈给所述用户设备1。
[0072] 具体地,所述停止模块在记录测试信息的过程中,检测带有异常信息的标记,若检测监测到异常信息,则将从执行认证测试程序大屏检测到异常信息之间的测试信息予以保存,并停止相应认证测试程序的执行。再将所得到的测试信息发送给用户设备1。由此,测试人员可通过监测用户设备1来得到认证测试程序的运行情况。
[0073] 综上所述,本发明通过自动生成登陆信息对,能够便于测试人员进行批量测试,无需手动操作,从而避免了人工参与所带来的测试效率低、错误率高等缺点;另外,当测试信息出现异常时,及时停止测试,有利于测试人员及时处理;还有,按照预设登陆认证顺序来进行测试,能够与实际运营相符合,有利于用测试结果为真实运营情况提供数据支撑。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0074] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。