[wordpress搬家]Android Testing — 应该被测试到的内容
来源:互联网 发布:网络蜘蛛能做什么 编辑:程序博客网 时间:2024/06/05 09:12
[2013.10.10]
最近某一个项目原型已经搭建完成,需要进入测试环节,想想android的测试有很多可以抽象出来的用例,这里罗列一下,只是个人的一些经验总结,我会不断完善的,欢迎使劲拍砖。
代码走查
#编码规范(包、窥孔优化、工程结构、架构、Log细节、冗余代码)
#代码逻辑/状态机(无效逻辑剪枝、状态机优化、底层代码临界化)
#sql/io读写归并z
单元测试
#对于Service/Dao/Util/Android Dao层的事务测试
功能测试
#对应于App的feature,从使用角度入手进行测试
#UI相关测试(activity stack, 无冗余,工作堆栈互相无干扰; 增删改查后对应页面数据刷新,无错误)
#服务测试(杀死服务,重启后服务启动状态)
QA
#Binary混淆是否能够被反向工程
#安装包大小、图片资源的控制
#App发布
#升级策略
#电量测试
#CPU使用率
#网络流量
#Scalability测试(用户数量、数据数量最大值)
#性能测试(UI响应时间、)
#UI/UX等
#冒烟测试/Sanity Test
两种侧重不太一样,冒烟测试主要是最最基本的功能能够用就Ok
Sanity Test更像是一个小的迭代测试集合,选出一部分用例,在每个迭代时跑一边,覆盖绝大部分功能,让程序的正确度到一个较高的水平。
后者需要尽可能的自动化和高效。
#灾难测试(不同状态下杀死进程,高cpu/高流量/高负载(内存)下程序是否能够被杀死或者正确保存状态)
g
同时设计测试用例的时候永远要考虑的问题
#测试手动化 vs 测试自动化的
-有些测试只能手动测试,但这样的例子是不可迭代测试,或者花费很多人工
-有些用例能够进行自动化测试,但是框架太难搭建,也需要很多人工
-有些测试不用自动化你就会死,比如Scalability之类的测试
能够比较容易进行自动化测试的用例还是要设计成自动化的,Android工程支持xUnit测试,而且Java对应的JUnit已经广为人知,这点是其得天独厚的优势。理论上来讲单元测试都要自动化,功能测试能自动化的都要自动化,对于很难自动化的就需要进行精确度与人工的权衡了。
#真机测试 vs 虚拟机测试
手机有很多,真机最好能够覆盖所有主流机型,这需要对Android的Rom很熟悉,哪些Rom来自哪些开源构建等,在Android的版本树上作剪枝,钱花在刀刃上(如果能有个大方的老板最好……)。
但是虚拟机测试也是必须的,市面上上百种rom不可能都买个手机,即使都买过来也不太可能每个rom版本都测一遍,这就需要哪些所谓的云测试平台,如TestIn等,上面泡泡脚本,测测是否崩溃,没坏处。
- [wordpress搬家]Android Testing — 应该被测试到的内容
- [wordpress搬家]Android 基础 — 经常打交道的Support Library
- [wordpress搬家]Android Hack — BLE
- [wordpress搬家]Android 基础 — 状态栏
- CSDN博客搬家到WordPress
- CSDN博客搬家到WordPress
- CSDN博客搬家到WordPress
- [wordpress搬家]nutch的二三事 — 2.2.1版本抓取到mysql中
- 搬家Testing.
- [wordpress搬家]Android 基础 — 版本对照表
- Android Testing(Android 测试)
- [wordpress搬家]nutch的二三事
- wordpress搬家到本地URL修改问题
- wordpress搬家到本地URL修改问题
- [wordpress搬家]nutch的二三事 —与solr配合
- [wordpress搬家]nutch的二三事 —抓取大众点评
- [wordpress搬家]nutch的二三事 — 数据清洗
- wordpress搬家
- 对最近工作的总结
- hdu 2011 多项式求和
- 循环链表创建
- curl命令详解
- 理解MySQL——索引与优化
- [wordpress搬家]Android Testing — 应该被测试到的内容
- IOS开发-项目的完整重命名方法,图文教程。
- 删除重复字符串
- Android listview下拉刷新学习
- android获取com.android.internal.R
- [wordpress搬家]马来西亚 你好
- Windows CE6.0下使用IAMStreamConfig接口更改拍摄图像的分辨率
- Python -Eclipse + Pydev 开发Python
- java 多线程详解