发明内容
针对相关技术中Linux操作系统测试难度大、可靠性低的问题,本发明提出一种Linux操作系统的测试方法和装置,以简单的方式对不同的Linux系统进行测试,并且能够避免测试过程中文件损坏而无法恢复的问题,提高测试的可靠性。
本发明的技术方案是这样实现的:
根据本发明的实施例,提供了一种Linux操作系统的测试方法。
该方法包括:步骤S101,在第一操作系统启动的情况下,在所述第一操作系统中配置测试模块,得到第二操作系统,其中,所述测试模块用于对所述第二操作系统进行测试;步骤S103,所述测试模块根据预先设置的测试参数对所述第二操作系统进行测试;步骤S105,在本次测试完成后,根据预先备份的所述第一操作系统对所述第二操作系统进行还原。
其中,在首次测试时,根据预先设置的测试参数对所述第二操作系统进行测试进一步包括:所述测试模块提供界面,并接收用户通过所述界面输入的所述测试参数。
此外,根据预先设置的测试参数对所述第二操作系统进行测试包括:在每一次测试中,所述测试模块检测所述第二操作系统的硬件配置信息,并将本次测试检测到的硬件配置信息与之前测试时检测到的硬件配置信息进行比较,并将比较结果作为本次测试的结果。
另外,在每一次测试完成后,所述测试模块将以下信息中的至少之一提示给用户:本次测试的结果、当前测试的次数、剩余的等待时间,其中,在所述等待时间结束前用户能够选择是否在本次测试后中止测试。
此外,在所述第一操作系统对用户进行登录身份验证之前,在所述第一操作系统中配置测试模块,得到第二操作系统,其中,所述测试模块还用于使所述第二操作系统跳过对用户进行登录身份验证的步骤。
另外,在根据预先备份的所述第一操作系统对所述第二操作系统进行还原之后,该方法进一步包括:在本次测试完成后,如果需要进行下一次测试,则进一步执行所述步骤S101至所述步骤S105。
此外,在每次测试完成后,所述测试模块记录以下信息中的至少之一:本次测试的结果、本次测试所占用的时间、本次测试结束时的时刻。
可选地,所述测试参数包括以下至少之一:是否需要对网络进行测试、执行测试的总次数、每次测试完毕后的等待时间,其中,在所述等待时间结束前用户能够选择是否在本次测试后中止测试。
此外,所述第一操作系统包括xinitrc文件,并且,所述测试模块被配置在所述xinitrc文件中。
根据本发明的另一方面,提供了一种Linux操作系统的测试装置。
该装置包括:配置模块,在第一操作系统启动的情况下,在所述第一操作系统中配置测试模块,得到第二操作系统,其中,所述测试装置用于对所述第二操作系统进行测试;所述测试模块,用于根据预先设置的测试参数对所述第二操作系统进行测试;还原模块,用于在本次测试完成后,根据预先备份的所述第一操作系统对所述第二操作系统进行还原;备份模块,用于预先对所述第一操作系统进行备份。
本发明通过对操作系统进行备份,并在测试时在操作系统中配置用于测试的测试模块(测试程序),从而不必根据不同的操作系统而编写复杂的测试程序,降低了测试的难度,实现了测试的通用化,并且,通过对被测系统进行备份后进行测试,能够在测试完成后对改变后的操作系统进行还原,从而能够避免测试过程中文件损坏而无法恢复的问题,提高测试的可靠性。
具体实施方式
根据本发明的实施例,提供了一种Linux操作系统的测试方法。
如图1所示,根据本发明实施例的Linux操作系统的测试方法包括:
步骤S101,在第一操作系统启动的情况下,在第一操作系统中配置测试模块,得到第二操作系统,其中,测试模块用于对第二操作系统进行测试;
步骤S103,测试模块根据预先设置的测试参数对第二操作系统进行测试;
步骤S105,在本次测试完成后,根据预先备份的第一操作系统对第二操作系统进行还原。
借助于上述处理,通过对操作系统进行备份,并在测试时在操作系统中配置用于测试的测试模块(测试程序),从而不必根据不同的操作系统而编写复杂的测试程序,降低了测试的难度,实现了测试的通用化,并且,通过对被测系统进行备份后进行测试,能够在测试完成后对改变后的操作系统进行还原,从而能够避免测试过程中文件损坏而无法恢复的问题,提高测试的可靠性。
对于首次测试,在根据预先设置的测试参数对第二操作系统进行测试时,测试模块可以提供界面,并接收用户通过界面输入的测试参数,从而根据输入的测试参数进行测试。
在根据预先设置的测试参数对第二操作系统进行测试时,对于每一次测试,测试模块能够检测第二操作系统的硬件配置信息,并将本次测试检测到的硬件配置信息与之前测试时检测到的硬件配置信息进行比较,并将比较结果作为本次测试的结果。
其中,对于首次测试,可以不进行比较,而将首次检测到的硬件配置信息作为后续检测信息比较的参照。
在上述处理中,可以在第一操作系统对用户进行登录身份验证之前,在第一操作系统中配置测试模块,得到第二操作系统,其中,测试模块还用于使第二操作系统跳过对用户进行登录身份验证的步骤。
由于为了保证系统的安全性,Linux操作系统通常不支持开机无密码、自动登录的方式。通过跳过用户身份验证的步骤,能够有效保证每次重启都可以以弹出窗口的方式提示终断测试,需要实现开机无密码自动登录。
在根据预先备份的第一操作系统对第二操作系统进行还原之后,如果需要进行下一次测试,则进一步执行步骤S101至步骤S105。
此外,可选地,在每次测试完成后,测试模块记录以下信息中的至少之一:本次测试的结果、本次测试所占用的时间、本次测试结束时的时刻。
此外,可选地,上述测试参数可以包括以下至少之一:是否需要对网络进行测试、执行测试的总次数、每次测试完毕后的等待时间,其中,在等待时间结束前用户能够选择是否在本次测试后中止测试。
也就是说,假设等待时间为10秒,此时,在每次测试后,都会进行10秒的等待,如果用户在这10秒期间选择中止测试,则会还原系统(还原为第一操作系统),从而并且不会进一步进行检测;如果用户在这10秒期间内没有给出中止测试的指示(或者用户选择了不中止测试),则继续重新启动系统进而进一步进行测试,直至完成了预定次数的测试。
此外,可选地,在每次测试之后的等待时间结束前,用户除了可以选择是否中止测试之外,还可以对测试参数进行调整。
并且,在等待时间到达之前,测试模块可以将以下信息中的至少之一提示给用户:本次测试的结果、当前测试的次数、剩余的等待时间,其中,在等待时间结束前用户能够选择是否在本次测试后中止测试。
通过该处理,能够克服相关技术中无法对测试信息进行收集,可能会导致一些关键的问题被忽略,通过本发明的方案,即使系统一旦出现问题,也能够保证将足够的数据给测试人员进行判断。
另外,由于在长期的测试过程中,发现有些硬件故障是在长期使用过程中出现的,多次的开关机测试是模拟用户正常使用一种加速老化方案,因此,可以高时间密度地进行上述检测,并且,对每次系统重启都进行一次硬件检测,可以很好的判断服务器本身各个硬件的稳定性。
图2是根据本发明实施例的测试方法的具体执行实例的流程图。
如图2所示,根据本发明实施例的测试方法具体可以包括:
首先,程序开始;
之后,运行测试模块,出现提示界面。其中,这里的界面可以包括两个部分,即,交互界面和主界面,交互界面用于接收用户输入的测试参数,,主界面则用于提示测试的状况,例如,可以将测试的参数以及当前测试完成的状况(例如,测试的当前次数和剩余执行次数、是否出现故障、测试的占用时间和结束的时刻、是否检测网络、等待时间长度(剩余等待时间)、测试结果)提示给用户,而用户通过交互界面则可以输入是否检测网络、测试总次数、等待时间等参数。在设定完毕后,开始检测是否存在系统备份文件。如有备份文件,则进行系统的配置,从而跳过登录验证并检测硬件信息,如果没有备份文件则不需要进行系统的配置,而直接检测硬件信息。
在检测硬件信息时,工具(例如,可以对应于上述测试模块或具备测试模块的部分功能)自动检测服务器的硬件配置信息,并与第一次得到的配置信息进行比较,如果相同进入下一步,不同则将错误日志记录到文件中。
硬件信息检测完成后,测试主界面会提示是否中止。如果用户选择中止测试,则测试结束,测试结果会出现在弹出窗口中。如果不中止测试,在设定的等待时间结束后进入下一个环节。
此时,会判断是否达到了预定的测试次数(圈数),如果达到,则程序结束,测试过程结束,如果没有达到测试次数,且用户没有中止测试,则会完成系统重启,并显示主界面,继续进行下一次测试。
接下来,工具自动记录当前时间,并执行重启命令。待系统重新启动后,首先会开启自动登陆的服务,从而图形界面被打开,而后自启动程序发挥作用,弹出窗口。此时工具会记录当前时间,并与之前记录的关机时间相减,这就得到了我们需要的服务器完全重启所需要的时间。在这里,工具会以表格形式记录每一次重启的时间和与其对应的启动次序。新得到的重启时间会与表中最小时间比较,大于四倍的最小重启时间,则判定重启出错,记录错误信息到文件中。这时再次进入主程序界面,检测硬件信息等步骤。
其中,对于操作系统的备份,为了防止之后的设置导致系统破坏,工具自动备份需要修改的系统文件,备份完成后进入设定自动登录和开机自启动的设置。为了实现Linux系统实现自动登录,这里添加了自己设定的自动登录服务到系统中。由于在出现登录界面前,Linux系统会先开启服务进程,如果服务进程中加入以root权限开启图形界面的命令就可以跳过登录界面了。可选地,开机自启动程序是通过修改xinitrc来实现的,测试模块被配置在xinitrc文件中。其中,Linux操作系统是通过加载xinitrc的方式启动图形界面的,如果将需要进行的自启动程序加到xinitrc中,就可以保证图形界面成功打开后,立刻自动开启弹出画面了。
根据本发明的实施例,还提供了一种Linux操作系统的测试装置。
如图3所示,根据本发明实施例的Linux操作系统的测试装置包括:
配置模块31,在第一操作系统启动的情况下,在第一操作系统中配置测试模块32,得到第二操作系统,其中,测试装置用于对第二操作系统进行测试;
测试模块32,用于根据预先设置的测试参数对第二操作系统进行测试;
还原模块33,用于在本次测试完成后,根据预先备份的第一操作系统对第二操作系统进行还原;
备份模块34,用于预先对第一操作系统进行备份。
并且,该装置能够实现上述方法实施例中所描述的处理,具体过程这里不再重复。
综上所述,借助于本发明的上述技术方案,通过对操作系统进行备份,并在测试时在操作系统中配置用于测试的测试模块(测试程序),从而不必根据不同的操作系统而编写复杂的测试程序,降低了测试的难度,提高了测试效率,实现了测试的通用化,并且,通过对被测系统进行备份后进行测试,能够在测试完成后对改变后的操作系统进行还原,从而能够避免测试过程中文件损坏而无法恢复的问题,提高测试的可靠性;并且,本发明的测试方案能够根据用户的指示手动中止,还能够,自动检测CPU、硬盘、内存和网卡工作状态,自动记录重启时间,自动判断重启时间是否异常(也就是说,除了硬件配置信息之外,测试结果中还可以包括每次重启所占用的时间等信息),提高测试过程中的错误检出率,记录测试的相关信息,为故障排除提供足够的分析依据。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。