Android测试和调试的一些学习笔记

《移动开发:Android应用测试与调试实战》

    本书主要好处是提供代码,内容有些太老了,但确实挺用心的。

1、学习的内容

  ch1-2前面介绍安装测试环境和Android系统,有些新的东西是,Android应用程序的单UI线程模型。

1) 安装环境,还是记录一下:JDK+Eclipse+ADT(Android Development Tools)(一般不翻墙不行)

    当然,现在一般直接上AndroidStudio,但是更新:SDK Manager 和AVD的库很困难,一般建议去:

                    “Android Studio 中文社区论坛-安卓开发者社区http://forum.android-studio.org/forum.php”之类直接下载。

2)采用最小权限,不同签名的应用在不同进城运行。  应用可以申请访问敏感数据的权限,但必须 在安装时由实际用户显式同意。主要是AndroidManifest.xml。

通过Intent通讯。

Android应用程序的单UI线程模型:UI线程只有主线程可以操作,其余硬件、后台线程等通过消息队列通知,UI线程负责事件的监听和绘图。

  ch3-4 Android界面自动化白盒测试/黑盒测试,基本都接触过,收获不大。

ch3   主要是白盒

Instrumentation,有代码情况下的调试,还是要用代码,继承ActivityInstrumentationTestCase2,发送按键和各种操作等,实现自动化测试。主要限制是针对单个Activity,必须有代码

Robotium,类似Instrumentation,是支持集成测试的开源框架,优势是可以创建自动化测试机器人solo,可以同时调用多个Activity,获取不同活动界面的控件的方式更加简单。

如果没有源码的话,就需要重新签名打包。  resign.sh

由于是针对屏幕来的,要注意不同屏幕分辨率带来的操作问题。像素和图标的缩放等。

ch4   黑盒  传统的monkey 和monkeyRunner

monkey一般就是单纯的稳定性测试了。  adb shell monkey  xxxxx    。就是简单的命令,一些操作和比例等设定。通过脚本来看,一般就是健壮性测试

MonkeyRunner   除了编写脚本,可以录制、回访用例。可以使用python等语言来编制脚本,但API有限。

  ch5-10,似懂非懂,回头再翻一下。

ch5 测试 serviceProvider    继承ServiceTestCase ,可以用jMock,EasyMock。 -----没搞明白,感觉暂时也不用去管这种模块测试的东西,后面几章节类似。  

ch6  ContentProvider  类似数据表操作,继承 ProviderTestCase。 ContentProvider ContentResolver等来模拟,隔离外部环境。--不太明白,反正就是数据表操作独立隔离起来测试。实际项目试试就会了。

Ch7   Android  HTML5  测试   关注:1、WebView注意多种分辨率的测试;2、使用QUnit测试JavaScript。不太适合多个网页切换的场景。

Ch8 Slenium 测试 HTML5  ,这个感觉和一般的B/S的网页测试类似吧。   都还是不太明白

Ch9 Andorid NDK测试  --- unittest++   跳过

Ch10    1、Android 兼容性测试  CTS,Android提供的一套兼容性测试用例集合,以判断运行Android系统的设备是否完全兼容Android规范。提供了8类测试时计划:函数签名、安全模型、虚拟机、性能、(API)兼容性、JAVA平台API兼容性、RefAPP(计算器、日历等典型应用)冒烟测试、以上所有的集合  可以自己添加测试用例和编辑测试计划。  

    2、 SL4A脚本     3、国际化测试。  4、利用telnet链接后,通过命令模拟来电、短信等

Ch11 持续集成自动化  Ant、Maven、Emma等工具的使用。    但现在AS使用Gradle了。也不太明白,一定要实际项目使用才行。

Ch12     1、Eclipse;2、logcat  3、adb  各种命令,这个备查就行,使用时熟悉即可。一些有用的命令比如:dumpsys

ch13    性能测试之分析操作日志  

      1、TraceView工具  在源码里面显式地startMethodTracing,stopMethodTracing来记录日志,将日志文件取出用工具分析就可以看到漂亮的图形。

       2、DDMS工具,在没有源码的情况下,从外部启用和停止日志,不够精确,但也算管用。运行时监视连接的Android设备的应用。还可以模拟发电话、短信、GPS位置信息等。

  3、通过am命令。可以直接关注到进程。


   ch14介绍内存测试和内存处理机制。

介绍了内存处理机制,通过DDMS的分析来判断内存泄漏情况。    也可以使用MAT(eclipse的工具,Android的 HPROF需要先转换)来检查。MAT有OQL(对象查询语言,类似SQL)方便分析检索。分析步骤,直接插个图吧:



ch15 多线程调试、HTML5调试, 不太明白。

 ch16介绍NDK,没有怎么看了。


  

猜你喜欢

转载自blog.csdn.net/hgstclyh/article/details/73008351