纯干货分享-APP软件测试思路

  

 

  本文将结合多年互联网公司实际测试经验,对app软件测试过程进行归纳整理,希望对从事软件测试工作的同学有所帮助。

 

一、流程篇

        1.app的测试流程,跟传统web端测试流程基本一致:需求文档--需求评审--测试计划编写--测试用例编写--测试用例评审--测试用例执行--问题验证--测试报告编写--发布。

 

        2.app端的测试比传统web端多出来的环节是:1)UI设计稿、交互图需要测试人员参与评审,且编写测试用例时需要理清内部业务逻辑(此部分以公司实际流程为准,部分公司可能会跳过测试人员进行评审。另:部分web端的公司UI设计稿、交互图也可能不需要测试人员参与评审),2)各种马甲包、混淆包、加固包的测试以及每个版本需要都需要进行安装测试,

3)有的公司测试包的送审也是测试人员来操作。

 

二、环境篇

1、系统环境:

        采用前后端分离开发方式,前端一般由Android、iOS、H5、小程序开发人员开发,Android、iOS开发完成后出具测试包,apk文件(Android)、ipa文件(iOS,此处注意:新手机第一次安装新的app,需要开发人员帮忙安装证书或者使用testFlight进行安装)。

        后端一般由java、PHP、GO工程师进行后端接口开发,负责将app的请求数据处理后返回给app,因此后端的环境一般由后端开发工程师来维护。

       后端数据库方面,根据实际业务,可能需要连接后端数据库进行数据验证(这点跟web端相似)。

 

2、移动端环境:

        移动端的环境,对测试结果的影响比较大,经常流出问题都出在这个环节。主要分几个方面:测试设备、网络环境、测试数据。

 

        测试设备:测试过程需要覆盖市面主流机型的兼容情况。即不同的操作系统版本、不同品牌、不同型号、不同处理器、不同屏幕分辨率。

举个栗子,尽量覆盖如下终端:

品牌:华为、苹果、小米、OPPO、vivo、三星、iQOO、realme等品牌;

屏幕:刘海屏、曲面屏、水滴屏、华为瘦长屏(华为手机屏幕比其他品牌的更瘦长,可能存在兼容性问题);

处理器:苹果、高通、海思、联发科、天玑;

手机型号:根据app主要客户群,挑选近2-3年销量较大的型号。

 

        网络环境:分为:WiFi、数据流量(3G、4G、5G)、弱网环境(借助工具模拟)、特殊场合网络情况如地铁、车库、隧道、大厦、电梯等环境。

 

        测试数据:这里主要指测试账号、测试设备,在每一个版本测试过程中应覆盖到:新用户、新设备、已注册用户、已注册登录过的设备。当然测试组的测试设备不可能有足够多的新设备,可以请后端开发同学可以通过删除数据库多张关联表记录实现设备记录清除,将某一设备恢复为新设备。

 

三、测试范围篇

测试的内容:
        1.最重要的当然还是业务功能了,即:验证业务的功能点是否正确实现,业务链条各环节数据是否正确等。

 

        2.除了业务功能,app测试还需关注:机型兼容、屏幕兼容、横屏、pad、权限授权、低电量模式、磁盘存储临近爆满、跨应用切换、冷热启动、消息通知、虚拟按键、网络切换、短信验证码获取、安装测试、加固包等角度。下面将分析以上测试点可能会遇到哪些类型的问题。

        机型兼容:可能会在多媒体操作、权限授权、UI方面出现bug。比如视频的读取、播放,安卓拍摄的视频发送给ios播放、ios拍摄的视频安卓端播放、三星拍摄的视频华为播放等(音频同理)。相机、麦克风、相册访问等权限,允许、拒绝时可能授权失效、app卡死、app闪退等问题。UI方面可能出现页面布局异常等。

        横屏、pad:可能会出现字体、UI布局异常、元素错位、横屏后无法切回竖屏等情况。

        磁盘临近爆满:可能在拍摄、录音、操作相册原图时存在异常。如:iOS设备开启iCloud同步后,本地仅保存缩略图,若app操作原图可能会从iCloud上拉取原图,存储空间不足导致异常;

        跨应用切换:即在多个活动的应用间来回切换,可能会出现app闪退、页面白屏、卡死等情况。

        冷热启动:冷启动,即杀掉进程重新启动;热启动,即Home到桌面后再唤起app。可能会出现app无法启动、启动后闪退、白屏、卡死等问题。

        消息通知:主要关注消息推送的及时性、以及是否显示消息详情。不同的app采用的消息推送机制不一样,可能采用系统级推送、第三方推送、自研mqtt推送,可能会出现推送延迟太久、收不到推送、点击消息通知跳转到app过程app闪退或者跳转页面不正确等问题(例如社交软件对消息推送的及时性、隐私要求比较高,需要留意)。

        虚拟按键:即设置手机底部显示虚拟的返回键、home键、多任务窗口键,设置虚拟按键后,手机屏幕高度缩短,可能页面的适配上会出现显示问题。

        短信验证码获取:可能会某些手机号获取不到短信验证码、多次获取验证码时无法点击验证码按钮、点击后没有实际发送验证码等问题。若出现某一些手机号码无法获取到验证码,但其他手机可以正常获取。这种问题通常为该手机号码被运营商(即短信服务商)拉黑,可跟对方协调加入白名单即可。

        网络切换:主要关注视频加载、文件下载过程进行网络状态的切换,如从WiFi切换到数据网络,查看文件断点续传功能是否正确。

        安装测试:包括:新版本直接安装(即删包安装)、在旧版本上覆盖安装新的版本。覆盖安装,通常使用旧版本登录已有账号(账号中存在各类业务数据)覆盖安装新版本,检查数据的完整性,正确性。可能会出现用户数据不完整、数据丢失或者不同账号数据错乱的情况,也有可能会出现账号被踢出登录(在某些重大升级时涉及数据库的更换,该问题无法避免,需重新登录账号)。安装测试,不仅测试阶段需要验证,在新版本正式发布市场后,仍需要进行一轮验证。

        加固包、混淆包:即源代码通过技术手段进行文件混淆、加壳、加固处理,防止反编译获取源码,提高app安全性。通常在测试即将完成或者完成后进行该操作(具体看前端人员安排)。安装包进行加固后,通常需要进行一次冒烟测试,确保加固后的应用可以正常使用,该阶段一般不会出现问题。

        新版本上架后的安装测试:新版本测试完成,提交应用市场审核,当审核通过后可立即发布市场或者由人工手动发布市场。不管何种方式发布,提交审核的人员是确切知道上架时间点的,应密切关注新版本上架的安装测试,避免出现重大问题,若真存在重大问题可以紧急下架撤回。

 

四、工具篇

1、adb&monkey:

        可以用于安卓应用的稳定性测试,主要通过配置滑动操作、点击操作的比例后,自动高频完成测试工作。

https://wenku.baidu.com/view/7e3e4a38c6da50e2524de518964bcf84b9d52ddf.html

 

2、腾讯性能监控工具:GT

https://blog.csdn.net/harryzzz/article/details/81381920

 

3、腾讯性能测试工具:Perfdog(未使用过,感兴趣可以探索)

https://perfdog.qq.com/

 

4、自动化测试框架:python+appium+pytest+allure+yaml

https://blog.csdn.net/u010098760/article/details/104691784/

 

posted @ 2022-05-15 12:33  python爬虫爬呀爬  阅读(275)  评论(0)    收藏  举报