通过CTS学习Android API系列1——CTS结果分析及用例研究

来源:互联网 发布:淘宝安全中心找回密码 编辑:程序博客网 时间:2024/05/16 23:46

前言

之前写过一篇《Android自我修炼之路》,本已打定主意让大家来拍砖,谁知道大家都很善良,反而弄得我很不知所措。既然自己给自己指了一条路,就应该按照这条路走下去,不然岂不成了满嘴跑动车的人了?

第一阶段是学习JAVA,并通过CTS练手,OK,那就从CTS开始,找突破口,学习Android的API。

建议看我这个系列的人都提前看一下大牛宋立新(http://blog.csdn.net/zjujoe)的“Android CTS测试研究”系列,会对CTS有个整体的感受。信不信由你,反正我是信了。

OK,废话少说,开始咱们的CTS之旅吧,第一站,CTS结果分析(没跑过CTS的先自己去跑三天三夜再说,别嫌多,我已经跑了整整两周了,你不跑估计不会了解我在说些什么)。

运行“start --plan CTS”后:

不明白的人可能会开口喷,懂的人会知道,我这张图是个宝库。虽然,很多信息因为涉及公司机密被我隐藏,但大多数CTS容易遇到的问题都在我的“调查原因”中得以体现(剩下的15个fail的用例和我们项目本身相关,大家不用特别关注)。

下面我们一起来研究一下CTS用例集:

1.在Android官网(http://developer.android.com )上搜索该模块API,以蓝牙为例,搜索bluetooth,找到android.bluetooth,找到它有哪些Class

 2.点击某个class,找到它的Public Methods,这些公共方法就是bluetooth的API

3.将所有Public Methods统计到表里:


4.在~/Android/cts/tests/tests源码下搜索blutooth相关用例,我们找到

~/Android/cts/tests/tests/bluetooth/src/android/bluetooth/cts/BasicAdapterTest.java
这就是蓝牙的CTS单元测试用例

5.打开该用例,查看统计在表里的API哪些被CTS用例调用到,将其标记在表格里

6.学习Google是如何写蓝牙的测试用例的(参见“通过CTS学习Android API系列2——Bluetooth分析”)

7.我们需要覆盖的API包括:
a.CTS没覆盖到的API即为我们需要分析的API,但并不代表需要全部覆盖
b.CTS虽然覆盖,但测试不满足现在的需求,我们需要通过更完善的方案来覆盖

8.分析:
a. 首先分析这些API是不是现在版本可以测试的API(比如有的API是3.0新增,目前无法测试)
b.对于基本方法,如toString(), hashCode()和equals(Object o)等,也不需要专门覆盖
c.尽量每个API单写一个测试用例,但如果交叉较多,可以一个用例覆盖多个API
d.添加新用例是一方面,用例测试的深度是另一方面(参见“通过CTS学习Android API系列2——Bluetooth分析”)

 

OK,今天贴一下CTS的调查结果,也和大家一起研究了一下CTS用例集,算作一个开始,从下一篇起我将逐一分析我所需要的CTS用例,供大家学习参考,谢谢围观!

麻烦转载留一下原文地址,尊重原创,谢谢:http://www.cnblogs.com/xuben
分类: Android
原创粉丝点击