CN104021071A - 进程生命周期的获取方法及*** - Google Patents

进程生命周期的获取方法及*** Download PDF

Info

Publication number
CN104021071A
CN104021071A CN201310066582.9A CN201310066582A CN104021071A CN 104021071 A CN104021071 A CN 104021071A CN 201310066582 A CN201310066582 A CN 201310066582A CN 104021071 A CN104021071 A CN 104021071A
Authority
CN
China
Prior art keywords
thread
test
time point
sub
test pack
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201310066582.9A
Other languages
English (en)
Inventor
徐铮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201310066582.9A priority Critical patent/CN104021071A/zh
Publication of CN104021071A publication Critical patent/CN104021071A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提出一种进程生命周期的获取方法及***,其方法包括:在测试主线程中创建截取子线程;运行所述测试主线程和所述截取子线程,并通过所述截取子线程截取运行过程中的***日志;查找截取的所述***日志中预设的测试包名称下的开始时间点和结束时间点;根据查找出的所述开始时间点和所述结束时间点获取所述测试包名称所对应进程的生命周期。本发明不仅可以准确、快速地获取软件测试过程中各个进程的生命周期变化,提高软件测试的准确性,且可以完全通过程序控制由***自动化完成,无需人为监测,节约了人力资源。而且,在保证准确性的前提下,一个测试平台可以同时对多个移动终端进行软件测试,可以大大提高测试效率。

Description

进程生命周期的获取方法及***
技术领域
本发明涉及测试技术,特别涉及一种进程生命周期的获取方法及***。
背景技术
随着科学技术的迅速发展,通信科技的日新月异,移动通信终端已被人们广泛应用于日常生活和学习中,越来越多的人习惯于使用移动终端进行聊天、上网。
目前,云测试是移动终端软件测试常用的一种手段,云测试是基于云计算的一种测试方案,由服务商提供多种平台,用户在移动终端把自动化测试脚本编写好,然后通过网络与服务商连线,然后在服务商提供的平台上运行脚本并完成测试。
对于测试结果,可以由移动终端上某一屏进程的生命周期变化直接获得,某一屏进程的生命周期变化是指移动终端屏幕显示的某一个画面状态的进程从开始到结束的时间周期,例如在测试某一软件登录情况时,开始显示登录界面时该进程开始,登录成功并将显示的登录界面转换成其它界面时该进程结束,记录登录时间、是否登录成功等测试数据后完成测试。
目前,这种某一屏进程生命周期变化的测试通常都是由人工来测试,即通过测试员观测移动终端显示屏的变化来进行测试。由于移动终端软件种类繁多,经常需要进行反复测试,浪费了大量人力资源。而且,人为观测显示屏时,进程生命周期变化(进程开始和进程结束)时的时间点难以准确把握,难免会出现误差,影响测试准确性。
发明内容
本发明的目的是提供一种进程生命周期的获取方法及***,以解决现有的测试方法人力资源耗费大、准确性难以保证的问题。
本发明提出一种进程生命周期的获取方法,包括:
在测试主线程中创建截取子线程;
运行所述测试主线程和所述截取子线程,并通过所述截取子线程截取运行过程中的***日志;
查找截取的所述***日志中预设的测试包名称下的开始时间点和结束时间点;
根据查找出的所述开始时间点和所述结束时间点获取所述测试包名称所对应进程的生命周期。
本发明还提出一种进程生命周期的获取***,包括:
线程创建单元,用于在测试主线程中创建截取子线程;
处理单元,用于运行所述测试主线程和所述截取子线程,并通过所述截取子线程截取运行过程中的***日志;
搜索单元,用于查找截取的所述***日志中预设的测试包名称下的开始时间点和结束时间点;
计算单元,用于根据查找出的所述开始时间点和所述结束时间点获取所述测试包名称所对应进程的生命周期。
相对于现有技术,本发明的有益效果是:本发明不仅可以准确、快速地获取软件测试过程中各个进程的生命周期变化,且可以完全通过程序控制由***自动化完成,无需人为监测,节约了人力资源。而且,在保证准确性的前提下,一个测试平台可以同时对多个移动终端进行软件测试,可以大大提高测试效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为本发明实施例的一种进程生命周期的获取方法的流程图;
图2为本发明实施例的一种进程生命周期的获取***的结构图。
具体实施方式
为更进一步阐述本发明达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的进程生命周期的获取方法及***其具体实施方式、方法、步骤及功效,详细说明如后。
有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例详细说明中将可清楚的呈现。通过具体实施方式的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。
本发明提出一种进程生命周期的获取方法,可以用于自动化软件的测试,特别是可以用来计算移动终端显示屏显示的某一屏进程的生命周期变化。请参见图1,此方法包括以下步骤:
S11,在测试主线程中创建截取子线程。
测试主线程是指测试软件要运行的程序,截取子线程的作用是截取软件运行过程中的***日志,线程的执行构成软件测试的进程。移动终端***为安卓操作***的情况下,可以利用adb logcat命令在测试主线程中创建截取子线程。Adb(Android Debug Bridge,安卓***调试桥)是一种调试工具,adb logcat命令是指adb命令中进行日志截取的命令。
S12,运行所述测试主线程和所述截取子线程,并通过所述截取子线程截取运行过程中的***日志。
***日志是记录***中硬件、软件和***问题的信息,同时还可以监视***中发生的事件,其通常是txt文档。软件的测试进程也会记录在***日志中,通过截取软件测试过程中记录的***日志,就可以查看测试进程中的各种细节变化。
S13,查找截取的所述***日志中预设的测试包名称下的开始时间点和结束时间点。
软件的测试可以划分成若干个过程,例如可以包括登录过程、运行过程、结束过程等,这里所述的测试包名称是预先进行设置的,其指某一段进程所对应名称,这段进程在移动终端显示屏上表现出来的可以是一屏或连续多屏的显示画面。例如“登录”这个测试包名称,在移动终端显示屏上会显示一个登录状态的画面,表示一个登录进程,这个画面出现的时刻代表登录进程开始,这个画面结束并转换成其它画面(如登录成功或登录失败的画面)的时刻代表登录进程结束,而这些变化信息均可以在***日志中获得。
在查找测试包名称下的开始时间点和结束时间点时,可以用测试包名称作为关键字,按照由近到远的时间顺序,对截取出的***日志进行搜索(如果***日志是按照由上到下的顺序将程序运行信息记录在txt档案中,则搜索时则按照从下往上的顺序对txt档案中的信息进行查找),找出与测试包名称相匹配的记录,然后从找出的记录中再查找出相应的开始时间点和结束时间点。
S14,根据查找出的所述开始时间点和所述结束时间点获取所述测试包名称所对应进程的生命周期。
一个进程的生命周期是指开始到结束的过程,既然获取了测试包的开始时间点和结束时间点,则两者的时间差即为测试包所对应进程的生命周期。具体操作时,可以查找***日志中测试包名称下的ondestory时间点和oncreate时间点,oncreate命令的作用是注册进程中所要使用的变量,表示该进程的开始,ondestory命令的作用是反注册之前注册的变量,表示进程的结束,通过计算ondestory时间点和oncreate时间点之间的时间差,就可以获取该测试包所对应的进程生命周期。
为了进一步提高测试的准确性,可以在反复运行测试主线程和截取子线程后,获取同一个测试包的多个生命周期,由于每一次测试过程中的网络环境、***计算资源甚至硬件环境变化都有可能导致进程的生命周期发生变化,所以对经过多次测试后获取的同一个测试包的多个生命周期求平均值,并作为最终的进程生命周期进行反馈,这样可以更客观地反映软件运行情况,提高测试准确性。
本发明不仅可以准确、快速地获取软件测试过程中各个进程的生命周期变化,且可以完全通过程序控制由***自动化完成,无需人为监测,节约了人力资源。而且,在保证准确性的前提下,一个测试平台可以同时对多个移动终端进行软件测试,可以大大提高测试效率。
本发明还提出一种进程生命周期的获取***,请参见图2,其包括线程创建单元21、处理单元22、搜索单元23及计算单元24,处理单元22与线程创建单元21相连,搜索单元23与处理单元22相连,计算单元24与搜索单元23相连。
在软件测试之前,要先由线程创建单元21在测试主线程中创建截取子线程。测试主线程是指测试软件要运行的程序,截取子线程的作用是截取软件运行过程中的***日志,线程的执行构成软件测试的进程。移动终端***为安卓操作***的情况下,可以利用adb logcat命令在测试主线程中创建截取子线程。
软件测试时,处理单元22会运行所述测试主线程和所述截取子线程,并通过所述截取子线程截取运行过程中的***日志。
之后,搜索单元23会对截取到的***日志进行搜索,查找***日志中预设的测试包名称下的开始时间点和结束时间点。在查找测试包名称下的开始时间点和结束时间点时,可以用测试包名称作为关键字,按照由近到远的时间顺序,对截取出的***日志进行搜索(如果***日志是按照由上到下的顺序将程序运行信息记录在txt档案中,则搜索时则按照从下往上的顺序对txt档案中的信息进行查找),找出与测试包名称相匹配的记录,然后从找出的记录中再查找出相应的开始时间点和结束时间点。
最后,通过计算单元24根据查找出的所述开始时间点和所述结束时间点获取所述测试包名称所对应进程的生命周期。一个进程的生命周期是指开始到结束的过程,既然获取了测试包的开始时间点和结束时间点,则两者的时间差即为测试包所对应进程的生命周期。为了进一步提高测试的准确性,可以在反复运行测试主线程和截取子线程后,获取同一个测试包的多个生命周期,由于每一次测试过程中的网络环境、***计算资源甚至硬件环境变化都有可能导致进程的生命周期发生变化,所以通过计算单元24对经过多次测试后获取的同一个测试包的多个生命周期求平均值,并作为最终的进程生命周期进行反馈,这样可以更客观地反映软件运行情况,提高测试准确性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或网络设备等)执行本发明实施例各个实施场景所述的方法。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (10)

1.一种进程生命周期的获取方法,其特征在于,包括:
在测试主线程中创建截取子线程;
运行所述测试主线程和所述截取子线程,并通过所述截取子线程截取运行过程中的***日志;
查找截取的所述***日志中预设的测试包名称下的开始时间点和结束时间点;
根据查找出的所述开始时间点和所述结束时间点获取所述测试包名称所对应进程的生命周期。
2.如权利要求1所述的进程生命周期的获取方法,其特征在于,所述查找截取的所述***日志中预设的测试包名称下的开始时间点和结束时间点的步骤包括:
以所述预设的测试包名称作为关键字查找所述***日志中相匹配的记录;
从所述记录中查找预设的测试包名称下的开始时间点和结束时间点。
3.如权利要求2所述的进程生命周期的获取方法,其特征在于,所述以所述预设的测试包名称作为关键字查找所述***日志中相匹配的记录的步骤中,按照由近到远的时间顺序进行搜索。
4.如权利要求1所述的进程生命周期的获取方法,其特征在于,根据反复运行所述测试主线程和所述截取子线程获取所述测试包名称所对应进程的多个生命周期,并计算多个生命周期的平均值作为最终生命周期。
5.如权利要求1所述的进程生命周期的获取方法,其特征在于,根据adb logcat命令在测试主线程中创建截取子线程。
6.一种进程生命周期的获取***,其特征在于,包括:
线程创建单元,用于在测试主线程中创建截取子线程;
处理单元,用于运行所述测试主线程和所述截取子线程,并通过所述截取子线程截取运行过程中的***日志;
搜索单元,用于查找截取的所述***日志中预设的测试包名称下的开始时间点和结束时间点;
计算单元,用于根据查找出的所述开始时间点和所述结束时间点获取所述测试包名称所对应进程的生命周期。
7.如权利要求6所述的进程生命周期的获取***,其特征在于,所述搜索单元以所述预设的测试包名称作为关键字查找所述***日志中相匹配的记录,并从所述记录中查找所述预设的测试包名称下的开始时间点和结束时间点。
8.如权利要求7所述的进程生命周期的获取***,其特征在于,所述搜索单元以所述预设的测试包名称作为关键字查找所述***日志中相匹配的记录时,按照由近到远的时间顺序进行搜索。
9.如权利要求6所述的进程生命周期的获取***,其特征在于,所述计算单元根据反复运行所述测试主线程和所述截取子线程获取所述测试包名称所对应进程的多个生命周期,并计算多个生命周期的平均值作为最终生命周期。
10.如权利要求6所述的进程生命周期的获取***,其特征在于,所述线程创建单元根据adb logcat命令在测试主线程中创建截取子线程。
CN201310066582.9A 2013-03-01 2013-03-01 进程生命周期的获取方法及*** Pending CN104021071A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310066582.9A CN104021071A (zh) 2013-03-01 2013-03-01 进程生命周期的获取方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310066582.9A CN104021071A (zh) 2013-03-01 2013-03-01 进程生命周期的获取方法及***

Publications (1)

Publication Number Publication Date
CN104021071A true CN104021071A (zh) 2014-09-03

Family

ID=51437837

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310066582.9A Pending CN104021071A (zh) 2013-03-01 2013-03-01 进程生命周期的获取方法及***

Country Status (1)

Country Link
CN (1) CN104021071A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893251A (zh) * 2016-03-29 2016-08-24 工业和信息化部电信研究院 一种智能终端app启动所需时间的测试方法及***
CN108345530A (zh) * 2018-01-10 2018-07-31 链家网(北京)科技有限公司 一种软件开发效率的获取方法
CN112673354A (zh) * 2018-10-26 2021-04-16 深圳市欢太科技有限公司 一种***状态检测方法、***状态装置及终端设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0910018A3 (de) * 1997-10-15 2004-12-15 Alcatel Verfahren zur Fehlerprüfung von echtzeitfähiger Systemsoftware
CN102479151A (zh) * 2010-11-26 2012-05-30 腾讯科技(深圳)有限公司 一种网页访问速度的测试方法及装置
CN102479084A (zh) * 2010-11-26 2012-05-30 腾讯科技(深圳)有限公司 一种Android终端获取日志的方法及装置
CN102662690A (zh) * 2012-03-14 2012-09-12 腾讯科技(深圳)有限公司 应用程序启动方法和装置
CN102831045A (zh) * 2012-06-21 2012-12-19 北京奇虎科技有限公司 一种终端设备中启动项检测的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0910018A3 (de) * 1997-10-15 2004-12-15 Alcatel Verfahren zur Fehlerprüfung von echtzeitfähiger Systemsoftware
CN102479151A (zh) * 2010-11-26 2012-05-30 腾讯科技(深圳)有限公司 一种网页访问速度的测试方法及装置
CN102479084A (zh) * 2010-11-26 2012-05-30 腾讯科技(深圳)有限公司 一种Android终端获取日志的方法及装置
CN102662690A (zh) * 2012-03-14 2012-09-12 腾讯科技(深圳)有限公司 应用程序启动方法和装置
CN102831045A (zh) * 2012-06-21 2012-12-19 北京奇虎科技有限公司 一种终端设备中启动项检测的方法和装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893251A (zh) * 2016-03-29 2016-08-24 工业和信息化部电信研究院 一种智能终端app启动所需时间的测试方法及***
CN105893251B (zh) * 2016-03-29 2019-03-08 工业和信息化部电信研究院 一种智能终端app启动所需时间的测试方法及***
CN108345530A (zh) * 2018-01-10 2018-07-31 链家网(北京)科技有限公司 一种软件开发效率的获取方法
CN108345530B (zh) * 2018-01-10 2020-02-28 贝壳找房(北京)科技有限公司 一种软件开发效率的获取方法
CN112673354A (zh) * 2018-10-26 2021-04-16 深圳市欢太科技有限公司 一种***状态检测方法、***状态装置及终端设备
CN112673354B (zh) * 2018-10-26 2024-04-19 深圳市欢太科技有限公司 一种***状态检测方法、***状态装置及终端设备

Similar Documents

Publication Publication Date Title
CN109302522B (zh) 测试方法、装置以及计算机***和介质
WO2018010552A1 (zh) 测试方法和装置
CN109241174B (zh) 数据同步方法、装置、可读存储介质和电子设备
CN110347085B (zh) 自动化测试***、方法、车辆以及计算机可读介质
CN106982368B (zh) 视频响应速度检测方法和***
CN109657675B (zh) 图像标注方法、装置、计算机设备和可读存储介质
CN108536597A (zh) 一种终端测试方法、装置、终端设备及存储介质
CN110597704B (zh) 应用程序的压力测试方法、装置、服务器和介质
CN105204986A (zh) 产品的自动化测试方法、服务器及移动设备
US20140033179A1 (en) Application testing
CN113822654A (zh) 工程项目施工进度管理方法、装置、设备及存储介质
CN111967848A (zh) 获取简历的方法、装置、***及介质
CN111949509A (zh) 应用软件的响应时间测试方法、装置、设备及存储介质
CN104021071A (zh) 进程生命周期的获取方法及***
CN107368407B (zh) 信息处理方法和装置
CN105227949A (zh) 一种Android机顶盒自动化测试方法
CN108898229B (zh) 用于构建机器学习建模过程的方法及***
CN112416762A (zh) Api测试方法及装置、设备、计算机可读存储介质
CN114546814A (zh) 录制回放方法、装置及存储介质
CN112199273A (zh) 一种虚拟机压力/性能测试方法及***
US10169216B2 (en) Simulating sensors
CN111258893A (zh) 随机组装交易路径的移动端应用自动化测试装置
Dzhagaryan et al. An Environment for Automated Measuring of Energy Consumed by Android Mobile Devices.
CN109977953A (zh) 基于yolov3的目标检测算法在嵌入式设备上的实现方法
CN111008140B (zh) 一种跨平台的ui自动化测试方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20140903

RJ01 Rejection of invention patent application after publication