无线测试相关理论
一、无线测试类型
冒烟测试、功能测试、服务器侧接口测试、用户界面测试、用户体验易用性测试、安全性及访问控制测试、性能测试、兼容性或适配测试、网络测试
二、无线测试流程
测试设计(自动化,服务器侧测试)、冒烟测试、功能测试、性能测试、适配测试、网络测试
三、无线端常见测试点
1)安装/卸载
2)登录/注销
3)点击:单次点击(误触发)、多次点击、多指触控、滑动(滑动过程中点击应当视为终止滑动,而不是点击事件)
4)升级:强制升级、弱网络下的升级、升级文案等
5)特殊案件:home,返回
6)键盘/输入法:编辑框的默认文案,编辑过程中退出
7)前后台切换(home案件)、杀死进程
8)应用升级(回归老版本的功能)
四、网络测试
1)无网络
2)弱网络
3)有网络但是网络信号不可达
4)2G/3G/wifi网络
<是否有网络状态的友好提示,是否有超时机制>
五、安全测试
数据存储安全:
sharePrefence,内部文件的创建有三种模式:MODE_PROVATE,MODE_WRITABLE,MODE_READABLE;注意其中不要存放密码等敏感信息。
sd卡上的文件默认对others有读写权限
数据库读写安全
SQL注入
网络通信安全
利用fiddler,设置代理,查看是否有明文传递密码信息等的问题
Intent通信安全
Activity劫持:两个activity注册了相同的intent_filter,并且两个隐式intent的属性相同。
service劫持:与上面类似
broadcast窃听:恶意程序注册了相同的broadcastreceiver
检测方法:最好不要使用隐式的方法去启动
intent fuzzing攻击:intent参数畸形或者为空
六、无线自动化测试
instrumentation是google提供的自动化测试框架,其他的有sword,athrun,robutium等。回头重点钻研sword
七、自动化测试(见另一篇博客)
1) 新功能未稳定前不建议编写自动化脚本,反复维护得不偿失
2) UI自动化以覆盖主流程和稳定功能为主,无需追求高覆盖率,以服务回归为主
3) 不要迷恋客户端代码单元测试,耦合过高可复用太低
4) 重视服务端提供给客户端的接口测试,性价比较高
5) 成熟产品要强调自动化脚本在每日构建、持续集成中发挥作用