一种手机软件的自动化测试方法

文档序号:6435796阅读:1336来源:国知局
专利名称:一种手机软件的自动化测试方法
技术领域
本发明涉及一种可以对手动的测试操作进行录制,然后回放所录制的脚本来进行自动化测试的方法。
背景技术
随着手机的越来越普及,特别是越来越多的人开始使用智能手机,手机软件测试工作变得越来越重要,尤其是智能手机的开放性,更是给手机测试增加了很多不确定因素,如果仍然使用传统的手动测试方法,工作量将会变得非常庞大,对测试人员的能力要求也大大提高,因此,自动化测试在手机软件测试领域变得越来越重要。

发明内容
为了在这个各种类手机快速发展的时代,提高手机软件测试的效率和质量,本发明通过修改手机系统的framework层,对底层事件进行捕获,从而实现对手动测试操作的录制,并能够将录制完成的脚本写入手机然后通过工具进行调用,使其在手机上自动运行,以完成手机的自动测试。以Android系统为例,对Android系统的framework层做相应修改,然后对按键、触屏点击、触屏滑动、轨迹球滚动等操作进行函数定义,之后便可以对这些事件进行捕获,从而可以将这些操作录制为脚本,通过adb可以将脚本写入手机,然后调用,手机便可以自动执行脚本中的操作了。除了录制和运行以外,通过此方法录制下来的脚本还可以进行修改,使其可以更加适应本手机升级以后的软件,或者写入到同平台的其他手机中进行运行以实现对同平台其他手机的自动化测试。此方法录制的脚本具有通俗易懂的特点,修改起来也会比较容易,即使是没有深入学习过编程的人也可以轻松进行脚本的修改,甚至可以直接编写脚本。不仅仅是Android系统,其他手机平台亦可以用此方法实现自动化测试。本发明解决了纯手动测试工作量大的问题,也解决了由于测试人员技能水平和能力的差异而导致的会经常漏测的问题,只需要将测试步骤操作一遍即可以将其完整录制下来,录制完成的脚本既可以用于本手机的回归测试或者验证难以复现的bug,也可以将脚本进行部分修改,然后复用到其他手机进行相关测试。
具体实施例方式

图1所示,首先对手机系统的framework层进行相应修改(这种修改不会对手机本身的功能造成影响),然后将手机与PC进行连接,用户下达指令启动录制功能,启动录制后在手机上进行测试操作,如按键、触屏点击、触屏滑动、轨迹球滚动等,用户每进行一步操作,系统都会将该步操作记录下来,然后执行该操作,执行完一步后再去记录用户的下一步操作然后执行,如此循环(如图2),最终将用户的所有操作记录在脚本中。待操作完成后,用户下达指令停止录制,生成脚本。脚本根据需要修改后(或不修改)写入手机中运行,运行脚本时,系统先读取脚本进行解析,然后根据脚本中记录的操作生成相应的事件执行操作(如图3)。
此方法的脚本内容记录的是用户事件,比如按键、触屏。在脚本中对于按键操作记录的是按键的键值,而对于触屏操作记录的是触屏坐标。显然,对于不同分别率的手机存在脚本兼容性的问题以及重新设计界面布局后脚本复用性的问题。由于按键的键值和分辨率无关,所有手机的键值都是相同的,所以按键操作不存在兼容性的问题。对于触屏操作,在本发明中是通过两级映射来解决上述问题的。将各界面的软键分别进行按键定义,并且定义每一个软键的热区范围,此为第一级映射;然后针对不同分辨率的手机分别定义一个映射表,记录每个软键的有效坐标(此坐标落于软键的热区范围中),此为第二级映射。于是脚本中的操作可以是每个软键的键值,再通过一个脚本解析程序根据映射表将软键键值转换为对应坐标,即可以供手机执行。对于不同分辨率的手机只需要使用不同的映射表即可以解决兼容性的问题,对于重新设计布局后的界面只需要修改脚本中的软键键值即可以解决复用性的问题。通过此方法甚至可以直接根据测试用例将测试脚本编写出来,这就使得测试脚本更加灵活。录制完成后的脚本主要可以用于如下测试1、可以将该脚本直接写入到本手机,然后调用该脚本执行。此用途主要是对升级软件后的手机进行回归测试。2、此方法录制的脚本在运行时可以自定义重复执行的次数,因此对于难以复现的非必现问题,将操作步骤录制为脚本后调用该脚本反复执行,可以方便的对此类问题进行复现。3、如果手机中的某功能进行了更改,可以直接在脚本中针对软件更改部分进行脚本的修改使其符合更改后的软件,然后可以直接在新版软件中运行该修改过的脚本进行自动化测试,这样就不用在每次更改手机软件后都重新录制一遍脚本。4、可以修改脚本用于同平台其他型号手机的自动化测试,只需针对新型号手机的功能和特点将脚本中相应部分进行修改即可,这样只需要录制和维护一套脚本就可以对该平台所有手机进行自动化测试,这个复用的特点使得软件测试的效率大大提高。5、兼容性测试。录制完成的脚本可以直接或者进行部分修改后写入到其他手机中运行以测试某些程序在不同手机中的兼容性。例如开发一款应用程序后需要将其安装到不同的手机中测试其兼容性,此时只需要在一台手机上操作测试步骤然后将其录制为脚本,再将脚本写入到所有需要测试兼容性的手机中运行就可以完成兼容性的测试,不需要在每一台手机上都手动测试一遍,测试工作量被大大减少。不仅仅是手机,这种兼容性测试同样也可以用在如平板电脑等其他终端上。6、在录制脚本时可以分模块进行录制,这样将得到一个脚本集合,包含记录各个模块测试操作的一系列脚本。在使用脚本进行测试时,可以根据具体的测试需要从该集合中选择需要的脚本然后进行适当的组合,形成一个恰当的测试序列,还可以在该测试序列中添加一些必要的测试步骤以完善测试流程。录制时的模块大小可以根据需要任意划分。7、其他测试。如单元测试、压力测试等,测试的同时会记录trace信息,将测试过程中产生的trace信息和正确的trace信息对比,判断是否存在问题,如有问题则修改脚本或软件再次进行测试,如无问题则测试结束。同时在执行测试时还可以记录测试的操作步骤为脚本,在出现问题时将此脚本回放复现问题,从而快速的进行问题定位。
权利要求
1.一种手机自动化测试方法,其特征在于 将手机系统进行部分修改扩展,可以用于对底层事件的捕获。
2.根据权利要求1所述方法,其特征在于 使用修改后的系统,可以将对手机的按键、触屏点击、触屏滑动、轨迹球滚动等手动操作进行录制、回放。
3.根据权利要求1或2所述功能,其特征在于 手机连接PC后,可以通过PC控制手机启动脚本录制、停止脚本录制、运行脚本等功能,并且录制后的脚本可以进行修改。
4.根据权利要求2或3所述功能,其特征在于 录制完成的脚本可以直接或者经过修改后用于如下测试 a、用于本手机升级版本的回归测试;b、对非必现问题进行复现;c、用于本手机修改部分功能后的测试;d、用于同平台其他型号手机的测试;e、兼容性测试;f、分模块进行脚本录制,然后组合,用于不同的测试需要;g、其他测试。
5.根据权利要求4所述功能,其特征在于,进一步包括 运行脚本的同时会记录trace信息,将此trace信息和正确的trace信息进行对比,可以判断是否存在问题,如果存在问题则修改脚本或软件重新测试,同时在执行测试时还可以记录测试的操作步骤为脚本,在出现问题时将此脚本回放复现问题。
6.根据权利要求3或4所述内容,其特征在于,进一步包括 测试脚本可以进行修改或直接编写,在编辑脚本时,按键操作记录为键值,而触屏操作则将各软键定义键值,然后根据针对不同分辨率定义好的映射表使用脚本解析程序将键值转换为坐标供手机执行。
全文摘要
本发明为一种手机软件的自动化测试方法。目前手机的普及程度几乎达到了人手一部,随着手机的不断发展,使用智能手机的人也越来越多,特别是近几年快速兴起的Android手机,越来越多的公司开始进行Android手机的开发,但是智能手机软件的复杂性特别是Android系统的高度开放性使其软件测试工作变得非常复杂,即使是目前仍广泛使用的功能手机(featurephone)包含的功能也越来越多,如果使用传统的手动黑盒测试,工作量将随之激增。本发明为一种基于录制、回放思想的自动化测试方法,可以将手动测试操作录制为脚本,然后通过回放脚本来实现自动化测试。这个发明可以使大量的手动测试工作转化为自动测试,大大提高了测试效率。
文档编号G06F11/36GK103064781SQ20111031728
公开日2013年4月24日 申请日期2011年10月18日 优先权日2011年10月18日
发明者万忠翔 申请人:飞图科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1