1.手机自动化测试的现状2.手机实现自动化的主要方法和思路3.目前主要的手机自动化工具4.android手机自动化实现的方法5.android手机程序开发简介手机自动化测试简介手机自动化测试的现状1.在手机设计公司中,由于手机软件平台设计的封闭性,原本的软件黑盒测试基本是通过手动测试来实现的,只有少数的研发实力很强的公司(西门子,诺基亚等),才会引入部分测试内容的自动化所以在这些公司,通常有着非常多的软件测试工程师岗位;2.最近几年来,智能机的出现让手动测试的难度越来越高;而产品设计周期不断缩短,设计成本的不断压缩,使得各家公司开始尝试用自动化测试来代替人工,以降低测试成本,提高产品质量。手机自动化测试的现状主要的软件测试项:1.预测试:有些也叫sanitytest;2.功能测试;3.冲突测试;4.压力测试;5.Stability(MTBF)稳定性测试;6.Monkey测试;7.多语种测试(本地化测试);8.场测;手机自动化是以性能测试优先覆盖,功能测试次之的方式;自动化测试实现的方法基础手机自动化测试的实现主要有三种模式:1.开发程序,安装在手机上,直接进行程序测试;2.开发工具,安装在PC上,通过PC与手机通讯,驱动手机动作,模拟操作;3.以上两种兼用;对手机进行PC控制和模拟操作需要依赖于以下两个条件:1.用户操作的模拟;2.PC和手机间的通讯实现;目前主要的手机自动化工具1.TestQuestTestQuest是一家专门从事手机自动化研究的公司,他们的平台可以对很多手机厂商的产品进行用户操作的模拟。(移动研究院)。TQ的实现采用的是PC端控制手机通讯和按键模拟,同时在手机内针对手机平台不同植入agent库,负责PC消息(主要是按键消息)向手机底层消息的转换和转发。2.各个手机平台的自由的测试框架:iOS,window,Android等3.QTP插件(实现方式TQ,用的人很少,不知道怎么样)android手机自动化实现的方法1.MonkeyRunnerMonkeyRunner是Android官方提供的一套基于UI的测试工具,他主要用来通过adb通讯连接,从PC上模拟用户操作消息发送给手机,触发手机发生指定的动作;该工具可以提供的用户事件模拟,包括按键和触屏。另外添加了截图的功能,使用者可以通过编写脚本自行设计测试方法,对手机进行测试。android手机自动化实现的方法MonkeyRunner优点:提供了完整的手机驱动接口,测试者不需要了解驱动原理,只需要写脚本就可以自行进行程序测试;缺点:同一时间只能驱动单一设备。android手机自动化实现的方法2.自行设计手机按键模拟方式:monkey:android提供了一个叫做Monkey的工具,这个工具用来向用户界面发送随机模拟事件,进行monkey测试。monkey工具的实现,说明手机底层存在一套机制,可以接受按键消息,并产生事件模拟;android手机自动化实现的方法2.自行设计手机按键模拟方式:一个实验:C:\Usersadbshell$monkey--port10831083monkey--port10831083^CC:\Usersadbforwardtcp:1083tcp:1083C:\Userstelnet127.0.0.11083利用左边这个原理,我们可以自行代码实现monkeyrunner的功能,并增加多设备多线程的控制,log监控,结果反馈,报告生成等更多的支持。android手机自动化实现的方法3.其他手机平台的自动化实现方式:手机平台设计通常都有对外的测试接口,只是并不开放;比如iOS,有自己的测试框架;Symbian也有自己的测试框架;FeatruePhone的自动化测试控制大多数使用AT指令集及扩展来实现;android手机应用程序的开发简介1.Android环境搭建所需软件:JDK:1.6以上Eclipse:3.4以上AndroidSDK:ADT:安装JDK、配置java环境2.Eclipse安装3.安装SDK:下载解压后,运行“SDKSetup.exe”,选择要安装的API。4.SDK配置:将SDK安装文件夹下的tools文件夹的路径加入环境变量“Path”中;5.ADT:AndroidDevelopmentToolsPlug-in,是Android在Eclipse上的开发工具6.安装ADT:启动eclipse-Help-勾选SoftwareUpdate和AvaiableSoftware-AddSite-输入地址关联SDK:菜单window-Preferences-Android-Browse…,选择AndroidSDK安装路径,-OKandroid手机应用程序的开发简介2.Android-HelloAndroid(1)右键New——Project…,在“NewProject”对话框中选择Android——AndroidProjectandroid手机应用程序的开发简介2.Android-HelloAndroid(2)点击“next”按钮,进入“NewAndroidProject”,Projectname中输入“HelloAndroid”,BuildTarget中选择“Android2.0”或其他Applicationname中输入“HelloAndroid”Packagename中输入“com.thunderst.android.helloAndroid”CreateActivity中输入“HelloAndroid”点击“Finish”,HelloAndroid项目创建完成android手机应用程序的开发简介2.Android-HelloAndroidsrc/java原代码存放目录gen/自动生成目录,项目中所有资源的索引文件目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的xml界面文件、图标与常量,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了界面、图标、常量等各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。res/资源目录在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。AndroidManifest.xml功能清单文件这个文件列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、GPS服务等等)。另外当你新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此Activity。receiverandroid:name=.MyBroadcastReceiverintent-filteractionandroid:name=ScriptMsg//intent-filter/receiverdefault.properties项目环境信息,一般是不需修改此文件android手机应用程序的开发简介2.Android-HelloAndroidandroid手机应用程序的开发简介2.Android-HelloAndroidHelloAndroid.java分析:1.此类必须继承Activity,至少应该覆盖onCreate()方法2.setContentView(R.layout.main)方法设置了此Activity显示的UI3.查看日志的方法::Log类v:verbosed:debugi:infoe:errorw:warn2.Android-HelloAndroidLayout/main.xml分析:1.UI界面的布局文件2.LinearLayout:线性版面配置,所有组件由上到下排列android:orientation表示从上到下垂直排列android:layout_width当前视图占屏幕的宽度android:layout_heigth当前视图占屏幕的高度android:text填充的文字fill_parent填充整个屏幕wrap_content根据文字栏位的大小改变此视图的高或宽android手机应用程序的开发简介2.Android-HelloAndroidandroid手机应用程序的开发简介R.java分析:1.在建立项目自动生成,是只读文件,不能更改,是项目中所有资源的索引文件2.定义了很多常量,这些常量的名字都与res文件夹中的文件名相同3.在项目中加入新的资源时,只要刷新一下该项目,R.java文件便可以自动生成新的资源索引2.Android-HelloAndroidandroid手机应用程序的开发简介AndroidManifest.xml分析:manifest:根节点xmlns:命名空间package:应用程序包application:application级别组件的根节点application:icon应用程序图标application:label应用程序名称activity:与实际的Activity类对应Intent-filter:此activity支持的intent值action:组件支持的Intentactioncategory:组件支持的IntentCategoryuses-sdk:此应用程序使用的SDK版本2.Android-HelloAndroidandroid手机应用程序的开发简介Values/strings.java分析:定义了字符串资源android手机应用程序的开发简介2.Android架构3.应用的生命周期完全生命周期开始于onCreate()结束于onDestroy()。可见生命周期开始于onStart()结束于onStop()前台生命周期开始于onResume()结束于onPause()Activity:1.Android应用最基本的模块,称之为“活动”2.一个activity就是一个单独的屏幕3.每个activity都被实现为一个独立的类,都继承自android.app.Activity4.每个activity都会显示由视图UI组成的用户接口,对事件进行响应android手机应用程序的开发简介4.相关资料地址1.其他android手机应用程序的开发简介