专利名称:一种平均无故障时间的测试方法和装置的制作方法
技术领域:
本发明属于软件测试领域,尤其涉及一种平均无故障时间的测试方法和装置。
背景技术:
各种终端中使用的软件程序,如移动终端中的软件程序在发布以前,为了保证软件程序的稳定性,给用户一个良好的体验,一般都需要进行平均无故障时间测试(Mean Time To Failure,MTTF)。其中平均无故障时间测试是指对软件程序进行稳定性测试,以测试软件程序平均能够正常运行多长时间,才发生一次故障。现有的平均无故障时间的测试方法原理如下一般在安装有软件程序的终端(如移动终端)上安装MTTF测试工具,该MTTF测试工具运行在后台,其可以模拟用户的操作, 如模拟按键启动或退出程序等。当需要测试软件程序时,启动MTTF测试工具并设置一个运行时间,由MTTF测试工具模拟用户的操作来启动被测程序,并通过其随机的模拟按键以对被测程序进行随机测试。如果在MTTF测试工具模块用户按键的过程中,被测程序出现错误而退出,则MTTF测试工具停止测试,并记录从开始测试到出现错误的总时间,从而测试该被测程序的平均无故障时间。这种平均无故障时间的测试方法在被测程序发生异常而退出时,停止测试,从而只能得到被测程序存在问题,测试人员无法获知该被测程序的出错信息,从而难以定位被测程序的错误。
发明内容
本发明实施例的目的在于提供一种平均无故障时间的测试方法,旨在解决现有的平均无故障时间测试方法难以定位错误的问题。本发明实施例是这样实现的,一种平均无故障时间的测试方法,所述方法包括下述步骤在对被测程序进行随机测试前,设置被测程序的期望运行时间;当被测程序异常退出且被测程序的实际运行时间小于期望运行时间时,记录被测程序异常退出时的出错信息,同时重新对被测程序进行随机测试。优选地,所述方法还包括下述步骤控制摄像头实时的对测试过程中的用户界面进行摄像,并保存摄像信息。优选地,所述出错信息包括出错原因信息、出错时间信息以及被测程序的详细运行日志信息。优选地,所述记录被测程序异常退出时的出错信息的步骤具体为从进程句柄获取被测程序异常退出时的出错原因信息,并记录被测程序异常退出时的时间信息,同时记录被测程序的详细运行日志信息。优选地,采用平均无故障时间测试工具对被测程序进行随机测试。本发明实施例的另一目的在于提供一种平均无故障时间的测试装置,所述装置包括运行时间设置单元,用于在对被测程序进行随机测试前,设置被测程序的期望运行时间;出错信息记录单元,用于在被测程序异常退出且被测程序的实际运行时间小于期望运行时间时,记录被测程序异常退出时的出错信息;以及程序重启单元,用于在被测程序异常退出且被测程序的实际运行时间小于期望运行时间时,重新对被测程序进行随机测试。优选地,所述装置还包括测试摄像单元,用于控制摄像头实时的对测试过程中的用户界面进行摄像,并保存摄像信息。在本发明实施例中,当被测程序异常退出且被测程序的实际执行时间小于期望执行时间时,记录被测程序异常退出时的出错信息,从而可以快速、准确、高效的定位被测程序的出错信息,根据出错信息即可定位出错的类型,测试人员可以通过对出错的类型进行分析,有利于测试人员调试被测程序。
图1是本发明第一实施例提供的平均无故障时间的测试方法的实现流程图;图2是本发明第二实施例提供的平均无故障时间的测试方法的实现流程图;图3是本发明实施例提供的平均无故障时间的测试装置的结构框图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。在本发明实施例中,在启动MTTF测试工具对被测程序进行随机测试前,设置被测程序的期望运行时间,当被测程序异常退出且被测程序的实际运行时间小于期望运行时间时,记录被测程序异常退出的出错信息,同时MTTF测试工具重新启动被测程序进行随机测试,从而可以快速、准确、高效的定位被测程序的出错信息。实施例一图1示出了本发明第一实施例提供的平均无故障时间的测试方法实现流程,详述如下在步骤SlOl中,在对被测程序进行随机测试前,设置被测程序的期望运行时间。其中被测程序的期望运行时间是指从执行MTTF测试到结束MTTF测试整个过程的时间,即包括了被测程序异常退出后,重新启动被测程序的时间。 在本发明实施例中,可以采用MTTF测试工具模拟用户的操作来对被测程序进行自动测试。此时,在启动MTTF测试工具对被测程序进行测试前,设置被测程序的期望运行时间。 在步骤S102中,当被测程序异常退出且被测程序的实际运行时间小于期望运行时间时,记录被测程序异常退出时的出错信息,同时重新启动被测程序进行随机测试。
在本发明实施例中,在启动MTTF测试工具对被测程序进行随机测试后,如果被测程序发生异常,导致被测程序异常退出,且从被测程序开始运行到异常退出的实际运行时间小于期望运行时间时,记录被测程序异常退出时的出错信息。其中出错信息包括但不限于出错原因信息、出错时间信息以及被测程序的详细运行日志信息。当然还可以包括其他信息,在此不再一一举例说明。其中检测被测程序是否发生异常的方式可以采用现有技术提供的任意一种方式,也可以采用本发明实施例提供的以下两种方式一种是检查被测程序的进程是否因为异常退出,另一种是检查被测程序的任务是否存在,如果不存在,则被测程序异常退出,否则被测程序正常。其中记录被测程序异常退出时的出错信息的步骤具体为从被测程序的进程句柄获取被测程序异常退出时的出错原因信息,并记录被测程序异常退出时的时间信息,同时记录被测程序的详细运行日志信息。其中被测程序的详细运行日志信息包括测试过程中对被测程序执行的每一次按键操作以及该按键操作对应的时间信息。在本发明实施例中,当被测程序由于发生异常而退出时,则MTTF测试工具可能没有对被测程序的所有功能均进行了测试,也就是说,当被测程序异常退出时,可能被测程序还未被测试完毕,为了一次性对被测程序进行随机测试,当被测程序异常退出时,MTTF测试工具重新启动被测程序,并继续对被测程序进行随机测试。在MTTF测试工具重新启动被测程序后,可以重新对该被测程序进行随机测试,也可以对被测程序中未进行测试的部分继续进行随机测试。在本发明实施例中,在MTTF测试工具对被测程序进行随机测试时,如果被测程序异常退出且其实际运行时间小于期望运行时间时,记录被测程序异常退出时的出错信息, 从而可以快速、准确、高效的定位被测程序的出错信息,根据出错信息即可定位出错的类型,可以重现错误,从而使测试人员可以通过对出错的类型进行分析,有利于测试人员调试被测程序。实施例二 图2示出了本发明第二实施例提供的平均无故障时间的测试方法的实现流程,其中步骤S201、S202分别与图1所示的方法中的步骤S101、S102相同,不同之处仅在于,还包括下述步骤在步骤S203中,控制摄像头实时的对测试过程中的用户界面进行摄像,并保存摄像信息。在本发明实施例中,在采用MTTF测试工具对被测程序进行随机测试时,一般都会通过显示设备输出测试过程中的用户界面。如当对移动终端中的程序进行测试时,一般在移动终端的显示屏中输出测试过程中的用户界面,如在MTTF测试工具模拟用户按键时,会在移动终端的显示屏中输出模拟的用户按键操作的用户界面。此时,通过控制摄像头实时的对测试古城中的用户界面进行摄像,并保存摄像信息,从而当被测程序异常退出时,可以根据摄像信息看出异常退出时的用户界面的情况,进一步结合记录的出错信息,即可有利于测试人员更快、更好的定位被测程序的出错信息。图3示出了本发明实施例提供的平均无故障时间的测试装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分。该平均无故障时间的测试装置可以是内置于移动终端中的软件单元、硬件单元或者软硬件相结合的单元,或者作为独立的挂件集成到移动终端或者移动终端的应用系统中。其中运行时间设置单元1在启动MTTF测试工具对被测程序进行随机测试前,设置被测程序的期望运行时间.其中设置的被测程序的期望运行时间为在采用MTTF测试工具对被测程序进行测试时,对该被测程序的所有功能均测试完毕且不发生异常时的被测程序的运行时间。出错信息记录单元2在被测程序异常退出且被测程序的实际运行时间小于期望运行时间时,记录被测程序异常退出的出错信息。在本发明实施例中,在启动MTTF测试工具对被测程序进行随机测试后,如果被测程序发生异常,导致被测程序异常退出,且从被测程序开始运行到异常退出的实际运行时间小于期望运行时间时,出错信息记录单元2记录被测程序异常退出时的出错信息。其中出错信息包括但不限于出错原因信息、出错时间信息以及被测程序的详细运行日志信息。 当然还可以包括其他信息,在此不再一一举例说明。在本发明实施例中,出错信息记录单元2从进程句柄获取被测程序异常退出的原因信息,并记录被测程序异常退出时的时间信息,同时记录被测程序的详细运行日志信息。程序重启单元3在被测程序异常退出且被测程序的实际运行时间小于期望运行时间时,重新启动被测程序进行随机测试。在重新启动被测程序后,可以重新对该被测程序进行随机测试,也可以对被测程序中未进行测试的部分继续进行随机测试。在本发明另一实施例中,该装置还包括测试摄像单元4。该测试摄像单元4控制摄像头实时对测试过程中的用户界面进行摄像,并保存摄像信息。为了便于理解,以下以采用本发明提供的平均无故障时间的测试装置的MTTF工具对移动终端中的程序进行测试的具体实现过程为例,进行示例说明在移动终端启动MTTF工具,并将移动终端连接到电脑。其中将移动终端连接到电脑有三种方式可以选择数据线连接、蓝牙连接或者Socket连接。启动MTTF工具在电脑桌面上的客户端,并以相同的连接方式连接移动终端的平均无故障时间测试工具。将一个摄像头对准移动终端的屏幕,同时在客户端选择需要存储录像的编码格式。此时,可以在桌面端MTTF工具上看到摄像头拍摄的视频信息。在客户端MTTF工具界面中,选择被测程序。MTTF工具会获取到移动终端上已经安装的所有软件的信息。设置期望运行时间。启动测试,此时,MTTF工具启动被测程序,并开始进行按键模拟,同时使用摄像头拍摄移动终端界面并以视频的形式存储在电脑上。在测试的过程中,记录每一次的按键信息和按键时间,并且与摄像头拍摄的视频相对应。同时,将按键信息以字幕的形式与视频对应的存储在电脑上。在测试过程中,如果检测到被测程序异常退出,MTTF工具记录该次异常退出的退出原因以及时间,并存储。同时如果测试时间小于设置的运行时间,重新启动被测程序继续进行测试。测试完成后,即测试时间达到设置的运行时间,关闭摄像头的录制,停止对被测程序的模拟按键,并关闭被测程序。在本发明实施例中,当被测程序异常退出且被测程序的实际执行时间小于期望执行时间时,记录被测程序异常退出时的出错信息,从而可以快速、准确、高效的定位被测程序的出错信息,根据出错信息即可定位出错的类型,从而使测试人员可以通过对出错的类型进行分析,有利于测试人员调试被测程序。同时MTTF测试工具重新启动被刺程序进行随机测试,从而可以一次性对被测程序进行随机测试。通过控制摄像头实时的对测试过程中的用户界面进行摄像,并保存摄像信息,从而当被测程序异常退出时, 可以根据摄像信息看出异常退出时的用户界面的情况,进一步结合记录的出错信息,即可有利于测试人员更快、更好的定位被测程序的出错信息。 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种平均无故障时间的测试方法,其特征在于,所述方法包括下述步骤 在对被测程序进行随机测试前,设置被测程序的期望运行时间;当被测程序异常退出且被测程序的实际运行时间小于期望运行时间时,记录被测程序异常退出时的出错信息,同时重新启动被测程序进行随机测试。
2.如权利要求1所述的方法,其特征在于,所述方法还包括下述步骤 控制摄像头实时的对测试过程中的用户界面进行摄像,并保存摄像信息。
3.如权利要求1或2所述的方法,其特征在于,所述出错信息包括出错原因信息、出错时间信息以及被测程序的详细运行日志信息。
4.如权利要求1或2所述的方法,其特征在于,所述记录被测程序异常退出时的出错信息的步骤具体为从进程句柄获取被测程序异常退出时的出错原因信息,并记录被测程序异常退出时的时间信息,同时记录被测程序的详细运行日志信息。
5.如权利要求1或2所述的方法,其特征在于,所述被测程序异常退出包括 检查被测程序的进程因为异常退出;或者检查被测程序的任务是否存在,如果不存在,则被测程序异常退出,否则被测程序正堂巾ο
6.如权利要求1或2所述的方法,其特征在于,采用平均无故障时间测试工具对被测程序进行随机测试。
7.—种平均无故障时间的测试装置,其特征在于,所述装置包括运行时间设置单元,用于在对被测程序进行随机测试前,设置被测程序的期望运行时间;出错信息记录单元,用于在被测程序异常退出且被测程序的实际运行时间小于期望运行时间时,记录被测程序异常退出时的出错信息;以及程序重启单元,用于在被测程序异常退出且被测程序的实际运行时间小于期望运行时间时,重新对被测程序进行随机测试。
8.如权利要求7所述的装置,其特征在于,所述装置还包括测试摄像单元,用于控制摄像头实时的对测试过程中的用户界面进行摄像,并保存摄像信息。
全文摘要
本发明适用于软件测试领域,提供了一种平均无故障时间的测试方法和装置,所述方法包括下述步骤在对被测程序进行随机测试前,设置被测程序的期望运行时间;当被测程序异常退出且被测程序的实际运行时间小于期望运行时间时,记录被测程序异常退出时的出错信息,同时重新对被测程序进行随机测试。本发明实施例在被测程序异常退出且被测程序的实际执行时间小于期望执行时间时,记录被测程序异常退出时的出错信息,从而可以快速、准确、高效的定位被测程序的出错信息。
文档编号G06F11/36GK102279787SQ20101019531
公开日2011年12月14日 申请日期2010年6月8日 优先权日2010年6月8日
发明者丁如敏, 叶方正, 李龙, 罗巍 申请人:腾讯科技(深圳)有限公司