进程生命周期的获取方法及系统的制作方法

文档序号:6500267阅读:106来源:国知局
进程生命周期的获取方法及系统的制作方法
【专利摘要】本发明提出一种进程生命周期的获取方法及系统,其方法包括:在测试主线程中创建截取子线程;运行所述测试主线程和所述截取子线程,并通过所述截取子线程截取运行过程中的系统日志;查找截取的所述系统日志中预设的测试包名称下的开始时间点和结束时间点;根据查找出的所述开始时间点和所述结束时间点获取所述测试包名称所对应进程的生命周期。本发明不仅可以准确、快速地获取软件测试过程中各个进程的生命周期变化,提高软件测试的准确性,且可以完全通过程序控制由系统自动化完成,无需人为监测,节约了人力资源。而且,在保证准确性的前提下,一个测试平台可以同时对多个移动终端进行软件测试,可以大大提高测试效率。
【专利说明】进程生命周期的获取方法及系统
【技术领域】
[0001]本发明涉及测试技术,特别涉及一种进程生命周期的获取方法及系统。
【背景技术】
[0002]随着科学技术的迅速发展,通信科技的日新月异,移动通信终端已被人们广泛应用于日常生活和学习中,越来越多的人习惯于使用移动终端进行聊天、上网。
[0003]目前,云测试是移动终端软件测试常用的一种手段,云测试是基于云计算的一种测试方案,由服务商提供多种平台,用户在移动终端把自动化测试脚本编写好,然后通过网络与服务商连线,然后在服务商提供的平台上运行脚本并完成测试。
[0004]对于测试结果,可以由移动终端上某一屏进程的生命周期变化直接获得,某一屏进程的生命周期变化是指移动终端屏幕显示的某一个画面状态的进程从开始到结束的时间周期,例如在测试某一软件登录情况时,开始显示登录界面时该进程开始,登录成功并将显示的登录界面转换成其它界面时该进程结束,记录登录时间、是否登录成功等测试数据后完成测试。
[0005]目前,这种某一屏进程生命周期变化的测试通常都是由人工来测试,即通过测试员观测移动终端显示屏的变化来进行测试。由于移动终端软件种类繁多,经常需要进行反复测试,浪费了大量人力资源。而且,人为观测显示屏时,进程生命周期变化(进程开始和进程结束)时的时间点难以准确把握,难免会出现误差,影响测试准确性。

【发明内容】

[0006]本发明的目的是提供一种进程生命周期的获取方法及系统,以解决现有的测试方法人力资源耗费大、准确性难以保证的问题。
[0007]本发明提出一种进程生命周期的获取方法,包括:
[0008]在测试主线程中创建截取子线程;
[0009]运行所述测试主线程和所述截取子线程,并通过所述截取子线程截取运行过程中的系统日志;
[0010]查找截取的所述系统日志中预设的测试包名称下的开始时间点和结束时间点;
[0011]根据查找出的所述开始时间点和所述结束时间点获取所述测试包名称所对应进程的生命周期。
[0012]本发明还提出一种进程生命周期的获取系统,包括:
[0013]线程创建单元,用于在测试主线程中创建截取子线程;
[0014]处理单元,用于运行所述测试主线程和所述截取子线程,并通过所述截取子线程截取运行过程中的系统日志;
[0015]搜索单元,用于查找截取的所述系统日志中预设的测试包名称下的开始时间点和结束时间点;
[0016]计算单元,用于根据查找出的所述开始时间点和所述结束时间点获取所述测试包名称所对应进程的生命周期。
[0017]相对于现有技术,本发明的有益效果是:本发明不仅可以准确、快速地获取软件测试过程中各个进程的生命周期变化,且可以完全通过程序控制由系统自动化完成,无需人为监测,节约了人力资源。而且,在保证准确性的前提下,一个测试平台可以同时对多个移动终端进行软件测试,可以大大提高测试效率。
[0018]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
【专利附图】

【附图说明】
[0019]图1为本发明实施例的一种进程生命周期的获取方法的流程图;
[0020]图2为本发明实施例的一种进程生命周期的获取系统的结构图。
【具体实施方式】
[0021]为更进一步阐述本发明达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的进程生命周期的获取方法及系统其【具体实施方式】、方法、步骤及功效,详细说明如后。
[0022]有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例详细说明中将可清楚的呈现。通过【具体实施方式】的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。
[0023]本发明提出一种进程生命周期的获取方法,可以用于自动化软件的测试,特别是可以用来计算移动终端显示屏显示的某一屏进程的生命周期变化。请参见图1,此方法包括以下步骤:
[0024]SI I,在测试主线程中创建截取子线程。
[0025]测试主线程是指测试软件要运行的程序,截取子线程的作用是截取软件运行过程中的系统日志,线程的执行构成软件测试的进程。移动终端系统为安卓操作系统的情况下,可以利用adb 1gcat命令在测试主线程中创建截取子线程。AdbCAndroid Debug Bridge,安卓系统调试桥)是一种调试工具,adb 1gcat命令是指adb命令中进行日志截取的命令。
[0026]S12,运行所述测试主线程和所述截取子线程,并通过所述截取子线程截取运行过程中的系统日志。
[0027]系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件,其通常是txt文档。软件的测试进程也会记录在系统日志中,通过截取软件测试过程中记录的系统日志,就可以查看测试进程中的各种细节变化。
[0028]S13,查找截取的所述系统日志中预设的测试包名称下的开始时间点和结束时间点。
[0029]软件的测试可以划分成若干个过程,例如可以包括登录过程、运行过程、结束过程等,这里所述的测试包名称是预先进行设置的,其指某一段进程所对应名称,这段进程在移动终端显示屏上表现出来的可以是一屏或连续多屏的显示画面。例如“登录”这个测试包名称,在移动终端显示屏上会显示一个登录状态的画面,表示一个登录进程,这个画面出现的时刻代表登录进程开始,这个画面结束并转换成其它画面(如登录成功或登录失败的画面)的时刻代表登录进程结束,而这些变化信息均可以在系统日志中获得。
[0030]在查找测试包名称下的开始时间点和结束时间点时,可以用测试包名称作为关键字,按照由近到远的时间顺序,对截取出的系统日志进行搜索(如果系统日志是按照由上到下的顺序将程序运行信息记录在txt档案中,则搜索时则按照从下往上的顺序对txt档案中的信息进行查找),找出与测试包名称相匹配的记录,然后从找出的记录中再查找出相应的开始时间点和结束时间点。
[0031]S14,根据查找出的所述开始时间点和所述结束时间点获取所述测试包名称所对应进程的生命周期。
[0032]一个进程的生命周期是指开始到结束的过程,既然获取了测试包的开始时间点和结束时间点,则两者的时间差即为测试包所对应进程的生命周期。具体操作时,可以查找系统日志中测试包名称下的ondestory时间点和oncreate时间点,oncreate命令的作用是注册进程中所要使用的变量,表示该进程的开始,ondestory命令的作用是反注册之前注册的变量,表示进程的结束,通过计算ondestory时间点和oncreate时间点之间的时间差,就可以获取该测试包所对应的进程生命周期。
[0033]为了进一步提高测试的准确性,可以在反复运行测试主线程和截取子线程后,获取同一个测试包的多个生命周期,由于每一次测试过程中的网络环境、系统计算资源甚至硬件环境变化都有可能导致进程的生命周期发生变化,所以对经过多次测试后获取的同一个测试包的多个生命周期求平均值,并作为最终的进程生命周期进行反馈,这样可以更客观地反映软件运行情况,提高测试准确性。
[0034]本发明不仅可以准确、快速地获取软件测试过程中各个进程的生命周期变化,且可以完全通过程序控制由系统自动化完成,无需人为监测,节约了人力资源。而且,在保证准确性的前提下,一个测试平台可以同时对多个移动终端进行软件测试,可以大大提高测试效率。
[0035]本发明还提出一种进程生命周期的获取系统,请参见图2,其包括线程创建单元21、处理单元22、搜索单元23及计算单元24,处理单元22与线程创建单元21相连,搜索单元23与处理单元22相连,计算单元24与搜索单元23相连。
[0036]在软件测试之前,要先由线程创建单元21在测试主线程中创建截取子线程。测试主线程是指测试软件要运行的程序,截取子线程的作用是截取软件运行过程中的系统日志,线程的执行构成软件测试的进程。移动终端系统为安卓操作系统的情况下,可以利用adb 1gcat命令在测试主线程中创建截取子线程。
[0037]软件测试时,处理单元22会运行所述测试主线程和所述截取子线程,并通过所述截取子线程截取运行过程中的系统日志。
[0038]之后,搜索单元23会对截取到的系统日志进行搜索,查找系统日志中预设的测试包名称下的开始时间点和结束时间点。在查找测试包名称下的开始时间点和结束时间点时,可以用测试包名称作为关键字,按照由近到远的时间顺序,对截取出的系统日志进行搜索(如果系统日志是按照由上到下的顺序将程序运行信息记录在txt档案中,则搜索时则按照从下往上的顺序对txt档案中的信息进行查找),找出与测试包名称相匹配的记录,然后从找出的记录中再查找出相应的开始时间点和结束时间点。
[0039]最后,通过计算单元24根据查找出的所述开始时间点和所述结束时间点获取所述测试包名称所对应进程的生命周期。一个进程的生命周期是指开始到结束的过程,既然获取了测试包的开始时间点和结束时间点,则两者的时间差即为测试包所对应进程的生命周期。为了进一步提高测试的准确性,可以在反复运行测试主线程和截取子线程后,获取同一个测试包的多个生命周期,由于每一次测试过程中的网络环境、系统计算资源甚至硬件环境变化都有可能导致进程的生命周期发生变化,所以通过计算单元24对经过多次测试后获取的同一个测试包的多个生命周期求平均值,并作为最终的进程生命周期进行反馈,这样可以更客观地反映软件运行情况,提高测试准确性。
[0040]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是⑶-R0M,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或网络设备等)执行本发明实施例各个实施场景所述的方法。
[0041]以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
【权利要求】
1.一种进程生命周期的获取方法,其特征在于,包括: 在测试主线程中创建截取子线程; 运行所述测试主线程和所述截取子线程,并通过所述截取子线程截取运行过程中的系统日志; 查找截取的所述系统日志中预设的测试包名称下的开始时间点和结束时间点; 根据查找出的所述开始时间点和所述结束时间点获取所述测试包名称所对应进程的生命周期。
2.如权利要求1所述的进程生命周期的获取方法,其特征在于,所述查找截取的所述系统日志中预设的测试包名称下的开始时间点和结束时间点的步骤包括: 以所述预设的测试包名称作为关键字查找所述系统日志中相匹配的记录; 从所述记录中查找预设的测试包名称下的开始时间点和结束时间点。
3.如权利要求2所述的进程生命周期的获取方法,其特征在于,所述以所述预设的测试包名称作为关键字查找所述系统日志中相匹配的记录的步骤中,按照由近到远的时间顺序进行搜索。
4.如权利要求1所述的进程生命周期的获取方法,其特征在于,根据反复运行所述测试主线程和所述截取子线程获取所述测试包名称所对应进程的多个生命周期,并计算多个生命周期的平均值作为最终生命周期。
5.如权利要求1所述的进程生命周期的获取方法,其特征在于,根据adb1gcat命令在测试主线程中创建截取子线程。
6.一种进程生命周期的获取系统,其特征在于,包括: 线程创建单元,用于在测试主线程中创建截取子线程; 处理单元,用于运行所述测试主线程和所述截取子线程,并通过所述截取子线程截取运行过程中的系统日志; 搜索单元,用于查找截取的所述系统日志中预设的测试包名称下的开始时间点和结束时间点; 计算单元,用于根据查找出的所述开始时间点和所述结束时间点获取所述测试包名称所对应进程的生命周期。
7.如权利要求6所述的进程生命周期的获取系统,其特征在于,所述搜索单元以所述预设的测试包名称作为关键字查找所述系统日志中相匹配的记录,并从所述记录中查找所述预设的测试包名称下的开始时间点和结束时间点。
8.如权利要求7所述的进程生命周期的获取系统,其特征在于,所述搜索单元以所述预设的测试包名称作为关键字查找所述系统日志中相匹配的记录时,按照由近到远的时间顺序进行搜索。
9.如权利要求6所述的进程生命周期的获取系统,其特征在于,所述计算单元根据反复运行所述测试主线程和所述截取子线程获取所述测试包名称所对应进程的多个生命周期,并计算多个生命周期的平均值作为最终生命周期。
10.如权利要求6所述的进程生命周期的获取系统,其特征在于,所述线程创建单元根据adb 1gcat命令在测试主线程中创建截取子线程。
【文档编号】G06F11/36GK104021071SQ201310066582
【公开日】2014年9月3日 申请日期:2013年3月1日 优先权日:2013年3月1日
【发明者】徐铮 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1