无线理论详备
无线测试和后台测试pk:
测试标准:1,是否满足需求文档设计;2,是否满足终端用户需求(包括用户体验);前者侧重功能,后者侧重用户体验
1,从侧重点看:无线测试除了功能性要求外,更注重用户体验,用户界面测试,用户体验:按钮风格是否一致(回退,回到顶部);锚点;需要用户思考的dialog;(要用户动脑子的设计都不是好设计)
2,测试方法上,目前自动化的程度低。在功能稳定前,自动化不要过早介入;同时自动化case最好覆盖主流程和主要功能,不要一味追求高覆盖率。
3,从测试类型看,无线测试上有适配测试,网络测试(2G/3G)等
android测试挑战:
android碎片化:机型、品牌厂商、分辨率
无线端测试类型:
冒烟测试:基本功能和性能确认
功能测试:1,用户角度。2.需求文档角度
用户界面测试:布局,美观等
性能测试:cpu、电量、流量、响应时间等(易测、摩天轮的性能测试)界面打开速度、操作流畅程度、通信时延的长短、流量电量消耗大小
兼容性或者适配测试:摩天轮
网络测试:摩天轮弱网络,fiddler模拟弱网络(无连接,有信号但是网络不可达,弱网络,2G,3G,wifi网络)
无线测试流程:
测试计划——>case设计——>冒烟测试——>功能测试——>性能测试——>安全测试——>适配测试——>网络测试
无线常见的测试点:
1,安装卸载(权限,内存与sd卡之间的移动)
2,登录注销(特殊字符集,密码不能明文保存)
3,手势(点击,触控,滑动等)
4,特殊按键 home,返回(禁用物理返回,返回后是缓存还是重新请求是否和业务逻辑一致)
5,同时调用系统服务
无线安全性测试
1,数据存储安全
内部sharepreference的存储安全(权限 linux下的ll,不要放置敏感信息)
数据库存储安全(不要放置敏感信息,权限以及加密算法)
通信安全:url参数是否出现明文密码
intent安全(隐式intent)<组件安全风险>:activity劫持,service劫持,broadcast窃听(注册同一个broadcast receiver),intent fuzzing攻击(没有参数或者无规律参数的intent)
登录:登录次数限制,验证码防止暴力攻击,防止明文传送密码,客户端不要存储明文密码等。
安全测试工具貌似有一个riskanalysis,但自己没用过
摩天轮测试
- 基础功能测试:安装、启动、卸载、包大小、支持OS版本识别、权限检测;
- 界面功能测试:智能遍历activity可用性、提供截图、crash信息捕获;
- 性能测试:极限稳定性压测,耗电/耗流量数据分析
- H5适配测试:控件可用性单测,页面性能响应耗时,页面布局
2.1.1 内存测试场景 一般情况下,Android的内存溢出主要有以下几种情况,每种情况在一些特定的场景下容易发生,测试时候可以重点关注: (1) 对象本身占用内存大,例如Bitmap对象; (2) 缓存机制不当引起; (3) 生命周期不一致引起; 易出现内存溢出的场景: a) 图片较多应用,注意不同界面切换、横竖屏、主题设置、读书阅读翻页、字体设置等频繁切换操作(会使Bitmap对象内存占用增加,而Bitmap对象在越高分辨率手机下生成的图片生成越大,占用内存越大,没有良好的缓存和释放机制,易出现内存溢出) b) 长列表展示界面,上下来回频繁拖动 (例如,ListView不使用convertView进行缓存,在item越来越多的情况,就易造成OOM了) c) 关注线程的生命周期,例如下载线程、同步线程等是否在被引用的activity退出后及时关闭; d) 一些生命周期长的对象是否引用application Context, 而非引用activity Context; e) 动画页面切换过程; 2.1.2 DDMS-内存测试工具 Android中自带一个强大的工具——DDMS工具包,它提供截屏,查看线程和堆的信息,同时也是一个内存测试工具。 windows->show view->other,输入ddms搜索即可打开DDMS的工作界面。 下面以读书客户端阅读界面频繁设置字体的场景为例,描述下测试的过程。 第一步,先用Heap(内存监测工具)监测应用进程使用内存情况: 1) DDMS视图,手机连接,连接时确认手机处于“USB调试”模式; 2) 选中监测的应用,例如com.taobao.reader; 3) 点击Devices视图图标中的 (Update Heap); 4) 点击Heap视图中的“Cause GC”按钮, Heap视图中便会显示当前应用的内存使用量的详细情况; 图 1-2 heap 视图 5) 手机上开始不断设置字体,观察heap size值和data object“Total Size” 的变化 ; 正常Total Size值都会稳定在一个有限的范围内。 发现:在不断设置字体的过程中,data object“Total Size”值螺旋式上升(从1.580M->3.032M),且在手动触发点击cause gc后,其值只回落了一点,初步估计有内存泄露的风险。 第二步,为具体定位到哪个类哪个方法,占用内存越来越大, 可使用DDMS另一个自带的内存分配跟踪工具Allocation tracker进行跟踪。