移动app测试经验分享

1、app安装、升级、卸载的测试点

1)安装成功的情况(检查版本号是否正确)和安装失败的各种情况
2)重复安装的情况(会不会报错)
2)升级成功的情况(检查版本号是否正确)和升级失败的各种情况
3)升级成功后,聊天记录,浏览记录等本地数据不会被删除,个人设置不会被还原
4)卸载成功的情况和卸载失败的各种情况

【参考】app测试的安装、卸载、更新所用到的测试点
https://blog.csdn.net/luck_yyf/article/details/78481785

2、app功能测试点

界面上的菜单(链接):
1)能否正常打开并且结果正确
2)是否存在菜单项遗漏问题(导致用户无法使用一些功能)

各种手势(划屏事件):
1)上划的情况(加载下一屏的数据)
2)下划的情况(刷新数据)
3)左划的情况
4)右划的情况
5)按住不放的情况
6)横竖屏切换的情况

干扰测试:
1)收到电话的情况(比如:玩游戏的时候有电话打过来)
2)收到短信的情况
3)收到通知栏消息的情况
4)无电提示框弹出的情况
5)第三方安全软件告警弹出的情况
6)网络发生切换(从wifi切换到4G)的情况(比如:玩游戏的时候,wifi断掉了,自动切换到4G的情况)

前台后台之间的切换以及锁屏的情况:
1)从app里面切出来(切换到手机桌面),再切换到app里面的情况
2)进入到app里面,自动锁屏,解锁后,app是否会崩溃

第3方功能的调用:
1)能否发起呼叫
2)能否调用发送短信
3)能否打开摄像头(成功的情况和失败的各种情况,比如:没有权限使用摄像头)
*4)能否调用扫一扫
5)能否访问相册(成功的情况和失败的各种情况,比如:没有访问相册的权限)
6)能否访问通讯录
7)能否使用定位
8)能否调用支付宝(成功的情况和失败的各种情况,比如:手机上没有安装支付宝)
9)能否调用微信支付(成功的情况和失败的各种情况,比如:手机上没有安装微信)
10)能否使用蓝牙

移动支付测试的两个方案:
1)使用虚拟的支付平台进行支付测试,比如:支付宝沙箱环境、微信支付沙箱环境
2)使用真实的支付平台进行小额支付测试(建议先到测试的数据库里面修改商品的单价,确保订单的支付金额比较低)

【参考】关于支付、关于安全的一些总结
https://testerhome.com/topics/9356
【参考】支付功能怎么测试
https://www.jianshu.com/p/4ebb1988ca00

免登录特性:
1)很多app提供免登录功能,把app关掉,重新打开app时自动以上一次登录的用户身份来使用app
2)用户主动退出登录后,下次启动APP,需要重新输入账号和密码

文本输入框的测试点:
1)必填的字段输入为空的情况
2)输入的内容过长的情况
3)输入的内容包含特殊字符(比如单引号,双引号等)
4)输入的内容包含中文的情况
5)如果是单行文本框,输入的内容包含换行符的情况
6)输入的内容是空格的情况
7)检查不允许编辑的字段能否被修改
8)数值类型的输入框,数值过大的情况
9)数值类型的输入框,数值过小的情况
*10)数值类型的输入框,输入非数值的情况
11)检查字段的默认值是否正确
12)能否被脚本注入
*13)是否会被屏幕键盘遮挡

下拉列表框的测试点:
1)检查默认值是否正确
2)检查选项列表是否正确(是否有遗漏,是否出现重复)
3)如果要求单选,检查下能同时选择多个
4)如果选项很多的话,应支持搜索

日期控件的测试点:
1)检查默认值是否正确
2)如果是必填项,输入为空的情况
3)日期的格式不正确的情况
4)日期过大的情况
5)日期过小的情况

上传控件的测试点:
*1)文件类型不符合要求的情况
2)上传的文件过大
3)上传文件的名字过长的情况
4)上传文件的名字包含中文的情况
*5)上传图片完成后,到详情页面检查下图片能否正常显示
*6)上传图片完成后,打开编辑页面检查下图片是否正常显示
*7)到编辑页面重新上传图片,检查显示出来的图片是否是最新的
8)压缩格式的附件下载下来后,可以正常打开,并且里面的内容是正确
9)如果上传的是视频的话,要检查能否正常播放或预览
10)如果支持批量上传的话,批量上传的文件过多的情况
11)上传的文件是空文件(比如:空的记事本文件)
12)上传脚本或者程序文件的情况(exe文件)
13)服务器上面硬盘空间不够的情况

提交(保存)按钮的测试点:
1)提交成功后,检查显示出来的数据是否与之前输入的数据一致(是否显示出来的还是原来的)
2)输入中文内容,提交成功后,是否会出现中文乱码
3)记录修改成功后,使用更新后的值作为查询条件,看下这条记录能不能被搜索出来
4)重复提交的情况(连续点击两次提交按钮)
*5)提交失败的各种情况,提示信息是否正确
*6)同时(并发)提交的情况
7)网络发生异常的情况

删除按钮的测试点:
1)点击删除按钮的时候,是否会弹出确认对话框
2)单个删除成功的情况
*3)单个删除失败的各种情况,提示信息是否正确
*4)批量删除的情况
*5)重复删除的情况
6)网络发生异常的情况

界面的测试点:
主要是检查界面的样式是否跟原型图一致,涉及到的界面主要包括:
1)导航层,菜单栏
2)列表页面(删除按钮和确认对话框,编辑按钮,添加按钮)
3)详情页面
4)添加记录(表单)
5)编辑记录(表单)
6)保存成功和失败的信息提示框
7)删除成功和删除失败的信息提示框

2、app稳定性测试

monkey工具:
测试安卓app的稳定性(是否出现异常和无响应)
Exception: 异常
ANR: 无响应

monkey命令(工具)seed选项的作用:
通俗一点说monkey测试都是一些随机操作,如果一次操作中出现了bug,如果要复现bug是比较难的,就在每次操作的时候加上一个seed值,现在操作只要seed值是一样的,就能帮助我们复现操作。
monkey命令(工具)throttle选项的作用:
有时候monkey的事件执行的很快,肉眼根本看不清点击事件,加上throttle参数就可以控制每个事件之间的间隔时间,使执行动作慢下来,方便我们查看。

使用monkey工具对安卓app进行测试

monkey工具参考资料:
https://blog.csdn.net/sunny_7777/article/details/80704025
monkey使用教程:
https://www.jianshu.com/p/c2aca7019ddf
https://www.jianshu.com/p/b462d6defb36

3、app安全性测试的思路

app安装包的安全性(了解):
1)开发人员打包的时候有没有对安装包进行签名
2)app程序能否被反编译(窃取源代码)

数据安全:
1)App本地存储的数据和网络请求数据中有没有涉及到用户的隐私数据。
2)检查敏感数据是否被加密

组件安全(了解):
APP安全测试的会涉及的组件包括WebView,和android四大组件Activity、Service、Broadcast Receiver、Content Provider。对于组件测试可以借用工具或第三方平台(爱内测)进行测试。

SQL注入漏洞(了解):
SQL注入安全同样借用第三方平台(阿里云测)进行测试。

参考资料:
https://blog.csdn.net/xia_xia0919/article/details/50502224
https://www.jianshu.com/p/d79a30a7ed94

登录的测试思路:
1)根据MTOP的现有规则,一个帐户只允许登录一台机器。所以,需要检查一个帐户登录多台手机的情况。原手机里的用户需要被踢出,给出友好提示。
2)软键盘劫持(金融类APP登录页面的用户名密码输入框)
3)登录失败的错误提示消息不应该明确告知是用户名不存在还是密码错误,避免客户端使用暴力破解方式。
4)对于必须要登录成功后才能访问的数据,如果没有登录就直接通过接口地址进行访问的情况。
5)密码需要使用密码强度策略,比如必须包含大写字母,小写字母和特殊字符,长度必须大于 8 位。
6)登录失败后的限制策略,比如连接 5 次登录失败,应该暂停用户登录,并将该信息发送给系统管理员,并告知客户端的 IP 地址。
7)登录时应该使用图片验证码,包括后续的一些表单提交的动作,都要使用图片验证码。 避免使用工具发送数据包,目前图片验证码是被证明最可靠的防攻击手段之一。

授权的测试思路:
1)一般用户对自己的隐私问题十分敏感,因此,我们需要对APP申请某些特定权限的必要性进行检查,如访问通讯录等。对于没有必要的权限,一般都建议开发直接移除。
2)使用不同角色的用户登录系统,检查用户的权限范围是否正确。
3)测试是否可以通过直接输入接口地址的方式进行越权调用。
4)权限的控制只能由系统管理员来维护,非管理员用户不能做任何修改。
5)权限控制要细,最好细到增删查改这种功能上,并且不同模块有不同的权限。
6)权限最好细化到数据的查看范围

4、app性能测试的思路

app的性能分为服务器端(后台)的性能和手机端的性能。
服务器端的性能,可以用LoadRunner或Jmeter工具进行测试。

以Jmeter工具为例子说一下App项目服务器端的性能测试的思路:
1)确定app的性能测试功能点,比如,查询,提交数据,登陆这些用户常用的功能,一般会被选来做性能测试;
2)然后,根据该功能点的接口测试需求,或使用fiddler抓包分析请求地址和参数;
3)在jmeter上构造向服务器发送的请求数据;
4)使用jmeter工具开启多个线程(模拟很多手机设备)发送业务请求给后台;
5)做好服务器的监控。

App项目手机端(客户端)的性能测试思路:
1)我们会使用监控工具进行监控
2)运行监控工具,连接自己的手机
3)设定好运行时长,监控内容(一般监控cpu、内存、流量,电量等)
4)待运行结束后,我们根据监控图,检查CPU,内存,流量,电量是否符合性能指标。如果不符合,就把不符合指标的报表和对应的logcat发给开发定位。
5)响应速度(app请求的响应时间):使用fiddler工具

5、app兼容性测试的思路

1)兼容主流的操作系统,比如:安卓8, 安卓9, 安卓10, iOS10, iOS11
2)兼容各种分辨率
【参考】如何保证APP兼容性覆盖测试
https://www.jianshu.com/p/c3ba4e3b2f0a

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容

  • App测试点: 1、 安装查看在安装过程中存在的提示信息是否明确,意思是否明确在安装过程中,点击取消按钮,能否...
    理智_b3b0阅读 1,319评论 2 5
  • 移动APP测试流程及测试点 APP测试基本流程 1.1.测试周期 测试周期可按项目的开发周期来确定测试时间,一般...
    浩瀚如星辰阅读 1,294评论 0 8
  • APP测试基本流程 测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根...
    点滴产品阅读 4,714评论 0 5
  • Web网站测试流程和方法(转载) 1测试流程与方法 1.1测试流程 进行正式测试之前,应先确定如何开展测试,不可盲...
    夏了夏夏夏天阅读 1,274评论 0 0
  • 时间,从心的尖上漫过 漫过黄昏和黎明 漫过山川和森林 也漫过痛苦的曾经 我是时间海里的一朵浪花 飘忽着不定 但,因...
    诗与远方工作室阅读 365评论 0 0