1.应用程序安装、升级和卸载的测试点
1)安装成功和安装失败的各种情况;2)重复安装;2)升级成功和升级失败的各种情况;3)升级成功后,不会删除聊天记录、浏览记录等本地数据,也不会恢复个人设置;4)卸载成功和卸载失败的各种情况。

2.app功能测试点
界面上的菜单:1)能否正常打开,结果是否正确;2)是否有缺少的菜单项?
各种手势:1)上划,2)下划,3)左划,4)右划,5)按住,6)横竖屏切换。
测试:1)接收电话,2)接收短信,3)接收通知板消息,4)没电弹出,5)第三方安全软件弹出报警,6)网络切换。
后台和锁屏之间的切换:1)从app中切出,然后切换到app;2)进入app后自动锁屏;解锁后,app会崩溃吗?
调用第三方功能:1)能不能打电话,2)能不能打电话发短信,3)能不能开摄像头,4)能不能打电话扫描,5)能不能访问相册,6)能不能访问通讯录,7)能不能使用位置,8)能不能打支付宝,9)能不能打微信支付,10)能不能使用蓝牙?
移动支付测试的两种方案:1)利用虚拟支付平台进行支付测试,如支付宝沙盒环境、微信支付沙盒环境;2)使用真实支付平台进行微支付测试。
免登录功能:1)很多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)上传脚本或程序文件。13)硬盘/[
提交按钮测试要点:1)提交成功后,检查显示的数据与之前输入的数据是否一致;2)中文内容提交成功后,会不会出现中文乱码;3)记录修改成功后,用更新后的值作为查询条件,看是否能搜索到这条记录;4)重复提交*5)各种提交失败,提示信息是否正确*6)同时提交;7)
删除按钮测试要点:1)点击删除按钮时,会弹出确认对话框吗?2)单次删除成功*3)单次删除失败的各种情况,以及提示信息是否正确*4)批量删除*5)重复删除?6)网络异常。

界面的测试点:主要检查界面风格是否与原型图一致,涉及的界面主要有:1)导航层、菜单栏2)列表页面3)详情页面4)添加记录5)编辑记录6)保存成功和失败的信息提示框7)删除成功和失败的信息提示框。
2.应用程序稳定性测试
猴子工具:测试Android应用程序的稳定性异常:异常ANR:无响应
猴子命令种子选项的作用:一般来说,猴子测试都是随机操作。如果在一个操作中出现了bug,并且很难重现bug,那么只需在每个操作中添加一个种子值。现在只要种子值不变,就能帮我们重现操作。monkey命令的throttle选项的作用:有时候monkey的事件执行的太快了,以至于click事件肉眼看不清楚。添加throttle参数可以控制每个事件之间的间隔时间,减缓执行动作,方便我们检查。
用猴子工具测试安卓app。
3.应用安全测试的理念
app安装包的安全性:1)开发者打包安装包的时候有没有签名?app程序可以反编译吗?
数据安全:1)1)App本地存储的数据和网络请求的数据是否涉及用户的隐私数据。2)检查敏感数据是否加密。
安全性:APP安全测试涉及的组件包括WebView,以及android的四大组件:活动、服务、广播接收器和内容提供者。对于组件测试,可以使用工具或第三方平台进行测试。
SQL注入漏洞:SQL注入安全性也通过第三方平台测试。
登录的测试思路:1)根据MTOP现有的规则,一个账号只能登录一台机器。所以需要查看一个账号是如何登录多部手机的。需要把原手机里的用户踢出去,给他们友好的提示。2)软键盘劫持3)登录失败的错误信息不要明确告知是用户名不存在还是密码错误,以免客户端使用暴力破解。4)对于只有成功登录后才能访问的数据,如果没有登录,可以通过接口地址直接访问。5)密码要使用密码强度策略,比如必须包含大写字母、小写字母和特殊字符,长度必须大于8位。6)登录失败后的限制策略,如连接失败5次,暂停用户登录,并将信息发送给系统管理员,告知客户端的IP地址。7)您应该在登录时使用图像验证码,包括一些后续的表单提交操作。避免使用工具发送数据包。目前,图片验证码是防止攻击最可靠的手段之一。
授权的测试思路:1)一般用户对自己的隐私问题非常敏感,所以我们需要检查APP申请某些特定权限的必要性,比如访问通讯录等。对于没有必要权限的,一般建议直接开发移除。2)使用不同角色的用户登录系统,检查用户的权限范围是否正确。3)直接输入接口地址,测试是否可以进行非授权调用。4)权限控制只能由系统管理员维护,非管理员用户不能进行任何修改。5)权限控制要细化,最好是增加、删除、勾选、更改这个功能,不同的模块有不同的权限。6)权限最好细化到数据的查看范围。
4.应用程序性能测试的理念

app的性能分为服务器端性能和移动端性能。可以使用LoadRunner或Jmeter工具测试服务器的性能。
以Jmeter工具为例,谈谈app项目服务器端性能测试的思路:1)确定App的性能测试功能点,如查询、提交数据、登录用户常用的这些功能,一般会选择这些功能进行性能测试;2)然后,根据该功能点的接口测试需求,或者使用fiddler捕获数据包,分析请求地址和参数;3)在jmeter上构造发送给服务器的请求数据;4)使用jmeter工具打开多线程向后台发送业务请求;5)做好对服务器的监控。
App手机的性能测试思路:1)我们会使用监控工具进行监控;2)运行监控工具,连接我们自己的手机;3)设置运行时间和监控内容;4)运行结束后,我们会根据监控图检查CPU、内存、流量、电量是否满足性能指标。如果不符合,则将不符合指标的报告和相应的logcat发送到开发方向。5)响应速度:使用fiddler工具。
5.应用兼容性测试的想法
1)兼容主流操作系统,如Android 8、Android 9、Android 10、iOS10、iOS112)兼容各种分辨率。


