安卓开发底层,应用,测试必看

来源:互联网 发布:二端口纯电阻 编辑:程序博客网 时间:2024/05/19 20:49

转自:http://blog.csdn.net/carlalovedog/article/details/6637593


 android 手机开发者

首先开发者有两部分,其中大部份为上层应用的开发者,他们主要利用SDK进行开发,也就是我们平时看到的应用部分。也有一部分为库/驱动开发者,他们主要讲Android移植到自己的硬件上的工作,还有一些库文件的增加裁剪(需要注意地是为了考虑到Market上软件的兼容性,一般会只增加,很多问题也是由此而来),这些也直接决定一个系统的稳定性,这些开发人员要求对arm,linux驱动程序开发移植工作非常熟悉。

 

作为一个应用开发者:

1. 读读What's android

2. Android application的构成和运行机制

3. Development Tools

4. 研究一下Android Apps各组件的生命周期

5. 动手制作自己的Android app,对各个组件进行练习(APIDemo等也行),然后按照Notepad例子逐渐走下去

6. 熟悉Debug

 

作为一个底层开发者:

1. 从Bootloader开始

2. Linux内核裁剪和移植(http://wiki.kldp.org/wiki.php/AndroidPortingOnRealTarget?refresh=1)

3. 电源管理

4. 内核选项配置

5. 设备驱动

6. 根文件系统制作

7. 系统优化和调整

 

参考书目:

Android内核的简单分析http://blog.chinaunix.net/u2/85263/showart_1729098.html

分析Android 根文件系统启动过程(init守护进程分析)

http://www.hiapk.com/bbs/thread-6388-1-1.html

Android.Essential

設計招式之美(高焕堂)

Android_应用框架原理与程序设计(高焕堂)

Hello Android(Ed Burnette)

Android的Message Queue(高焕堂)

作为测试者:

作为测试者,我们就不仅要熟悉该平台上的应用程序,还要对相应的开发技术有所了解,我们不必要做到跟开发者一样熟悉,但是也必须对该平台上的API有所了解,一个应用程序最容易在什么地方出现问题很清楚,这样才更有针对性的去测试。

测试有很多种测试,如果按照V模型的话,最初的单元测试(JUnit)一般有开发者自己完成,这根据公司的财力状况了,一般都是开发粗略的测一下。集成测试然后是系统测试,集成测试接触的不是很多,就不单独列出来讲了。说说系统测试吧。

就测试方法和传统应该来说没有什么改变,不过更有针对性,应该更有针对性,就是就Android应用的特征设计测试用例。

针对这点首先我们必须了解这个平台的特点,下面列出要熟悉的技术:

1. 什么是Android?熟悉Android Architecture

2. Android手机应用都包含组件(Application Framework),各个应用的具体细节部分,和传统的手机功能的区别

3. 该平台最有特点的地方

4. Android手机应用程序的运行机制

     各个组件的特点

     各个组件的生命周期

     针对各个组件的测试方法

5. 可以练习开发一些应用以了解熟悉各个API的特点,这样有利于我们了解一个应用程序的在什么地方最脆弱,什么地方才是开发最容易忽视的地方。

6. 要熟练掌握各个抓log的工具的使用,各个log参数还有它们在什么时候使用

7. 要能够根据打出的log通过定位应用程序的问题(当然这个要开发把必要的log打出来)

8. Monkey压力测试工具

9. 各种shell命令(对android支持的linux命令需要熟悉他们的参数和用法。)


了解上面之后,我们才能在系统测试更有针对性的设计用例,比如对于相同content provider进行交互测试,看看应用程序对资源共享有无冲突等。


资料:

1. 安装android SDK 

     docs\sdk\index.html

2. What is Android?   \docs\guide\basics\what-is-android.html

3. Application Fundamentals  \docs\guide\topics\fundamentals.html

4. User Interface     \docs\guide\topics\ui\index.html

5. Intents and Intent Filters      \docs\guide\topics\intents\intents-filters.html

6. Data Storage     \docs\guide\topics\data\data-storage.html

7. Content Providers       \docs\guide\topics\providers\content-providers.html

8. Security and Permissions    \docs\guide\topics\security\security.html

9. Graphics      \docs\guide\topics\graphics\index.html

10. Audio and Video     docs\guide\topics\media\index.html

11. Location and maps     \docs\guide\topics\location\index.html

12. App Widgets    \docs\guide\topics\appwidgets\index.html

13. ADB用法   \docs\guide\developing\tools\adb.html

14. DDMS用法  \docs\guide\developing\tools\ddms.html

15. UI/Application Exerciser Monkey    \docs\guide\developing\tools\monkey.html

16. Notepad Tutorial      docs\guide\tutorials\notepad\index.html

0 0