一、 UI测试
(1) 页面布局
① 页面布局合理且友好,符合用户习惯
② 列表型界面有滚动条
③ 功能入口明显,容易找到
(2) 图形测试
① 图片大小合适且清晰
② 页面字体与风格一致
③ 背景颜色和字体、图片颜色搭配得当,让用户视觉体验良好
(3) 内容测试
① 文字表达准确,符合APP功能
② 文字没有错别字
③ 文字用语简洁友好
二、 功能测试
注册、登录、运行、切换(后台切换、删除进程、锁屏)、推送、更新等等
(1) 切换测试
① 后台切换:当并行运行多个程序时,在程序之间进行切换,要确保再次切换回来时APP还保持在原来的页面上。
② 删除进程:测试从后台直接删除进程后,当再次APP时是否符合概要设计描述,同时测试删除进程时是否将APP建立的会话一起删除。
③ 锁屏:锁屏包括手动锁屏和自动锁屏,测试锁屏之后APP相应是否符合概要设计的要求,例如再次打开APP还保持原有的页面可以继续使用,当锁屏达到一定时间后就退出程序。
(2) 推送测试:
① 系统推送:这种推送是最及时的,即使APP后台没有服务也可以推送,这种一般都是需要集成相应系统的推送SDK,比如小米手机有米push,华为手机有华为的推送渠道,不过现在很多的第三方都会集成所有的推送方式。
② 软件推送:这种推送一般情况下是应用进程未被杀死,在前台或者后台运行的情况下,可以接受推送信息。
三、专项测试
安装测试、卸载测试、升级测试、交互性测试、弱网测试、耗电量测试
① 安装测试
1) 安装来源:各大应用市场:360应用市场、小米、华为、oppo、应用宝等等
2) 设备类型:不同型号的设备安装APP,如Android系统的手机 不同品牌的不同型号
3) 取消安装 :取消安装是否进行回滚测试
4) 安装过程出现死机、重启、电量耗尽关机等,如中断安装当再次开机时继续安装;启动后台进程守护安装,当再次开机时,提示APP安装完成。
5) 设备空间不足,要有相应的提示
6) APP安装过程要进行UI测试,如果提供安装进度条提示
7) APP安装完成后,测试其是否能正常运行
② 卸载测试
1) 在卸载时,要有卸载的信息提示
2) APP卸载过程中是否支持取消卸载
3) 卸载软件过程中如果出现意外情况,如死机、重启、电量耗尽关机等,要有相应的处理措施
4) 卸载过程要进行UI测试,给用户提供进度条提示,目前卸载的百分比
5) 卸载完成后,APP相应的安装信息是否要全部删除,应当给用户一个提示信息
③ 升级测试
1) 如果有新版本升级,打开软件要有相应提示
2) 升级包下载中断时要有相应处理措施,支持继续下载或者重新下载
3) APP的安装渠道有多种,对多渠道升级进行测试,确保每个渠道的升级都能顺利完成
4) 测试不同操作系统版本时软件升级是否都能通过
④ 交互性测试
1) 移动设备大多具有电话、短信、蓝牙、手电筒等功能,在使用APP时难免会受到干扰
⑤ 弱网测试
很多APP的一些隐藏问题只有在复杂的网络 环境下才会显示出来。例如正在使用的APP遇到网络信号切换或变弱时,APP不能响应或产生功能性错误,因此在测试时要特别对APP进行弱网测试,及早发现问题。
⑥耗电量测试
测试App在运行过程中消耗的电量,智能手机的电池都是内嵌的,它的电量也是非常有限的,而且智能手机本身耗电量就比较多,如导航、CPS丁文等等,所以在进行APP测试时,要检查APP的电量使用。
四、 安全测试
1. 安装包安全性
(1) 首先验证安装包是否对签名进行了校验,以防止被恶意第三方应用覆盖安装等;
(2) 开发人员是否对源代码进行混淆,以免被反编译软件查看源代码;
(3) 用户隐私,特别是访问通讯录,需要对特定权限进行检查。
2. 用户安全性
(1) 用户拨打电话、发短信、连接网络等是否存在扣费的风险;
(2) 用户密码在传输中是否进行加密,在数据库中存储是否进行了加密;
(3) 免登录是否设置了过期时间;
(4) 用户的账号、密码等敏感数据是否存储在设备上;
(5) 当用户注销账号时需要身份验证的接口是否可以调用;
(6) 对Token的使用是否设置了合理的过期时间。
3. 数据安全性
(1) 用户的敏感数据是否写到日志或配置文件中;
(2) 当用户使用敏感数据时是否给用户提示信息或安全警告;
(3) 在输入敏感数据(身份证、手机号、密码等)时是否支持第三方输入法输入,一般用安全键盘;
(4) 用户输入的数据是否进行了数据合法性的校验(如手机号、身份证号等);
(5) 在含有敏感数据的连接中是否使用了安全通信,如HTTPS;
(6) 对安全通信的数字证书是否进行合法的验证。
(7)使用抓包工具是否能抓到入参出参,一般线上环境会使用接口加密的方式。
4. 通信安全性
(1) 所有手机的功能应优先处理,如接电话、收短信等;
(2) 当网络中断或出现异常时需要给用户网络异常的友好提示;
5. 服务端安全性
服务端主要关注接口,其安全性跟Web端的安全性类似,主要考虑SQL注入、XSS跨站脚本攻击、CSRF跨站请求伪造以及越权访问等。
五、性能测试
1. CPU 的占用
2. 内存的使用
3. 耗电量(智能手机耗电量如屏幕、GPS定位、传感器等)
4. 流量的使用(2G \3G \4G\5G\WIFI)
一般使用工具来测试APP 端上的性能,Soloπ 可以做Android端性能测试,IOS Xcode 自带专门的性能调优工具instruments(右键点击Xcode->Open Developer Tool->instruments)
六、兼容性测试
众所周知,APP兼容性测试是一个耗时、耗人力,而且成本很高的测试工作,且APP兼容性测试又是一项必须要进行的测试活动,其测试时主要考虑手机端的软、硬件兼容性,一方面要考虑与主流APP的兼容性;另一方面又要考虑手机设备的兼容性,如不同品牌的手机,不同的操作系统,不同手机的屏幕分辨率等。
具体的测试方法可以使用模拟器来进行模拟不同的手机品牌、系统、分辨率进行测试,但是模拟器测试的数据会有差异,针对一些实力雄厚的公司,建议购买真机进行测试。还可以借助第三方工具(如Spider工具)以及云测试平台来进行测试,这样可以即能保证兼容质量的同时、又能高效地完成APP兼容性测试的覆盖。
第三方测试平台:阿里EasyTest 、华为云测、贯众云测试
目前经历过的公司,1.如果有硬性的兼容要求且经费足,会直接借助第三方平台,即:掏钱让别人做 2.如果没有经费,就根据手头目前有的移动设备,外加同事自己的手机(愿意借并不介意被当做测试机的话),线上用户遇到兼容性问题的话,发现一个处理一个(没办法,经费不足,覆盖已有的测试机即可)
七、用户体验测试
由于APP软件的研发周期以及测试周期都比较短,所以进行用户体验测试在APP测试中是一项非常有必要的测试活动。产品做完验收后,通常会召集公司组织内部人员,从用户的角度来评价产品的特性,提出问题及修改意见,从而提升客户的满意度。体验可以从以下几点考虑:
1)UI界面的设计,从用户视觉评价产品;
2)使用真机对手机兼容性进行体验测试;
3)用户的指引设计是否合理;
4)APP页面跳转设计和深度是否合理;
5)体验锁屏、横竖屏的设计以及各种异常操作等。
以上内容整理自互联网,如有侵权,请联系删除!
《软件测试指南》《软件测试》