2025年 APP测试要点汇总!

2025年移动APP测试的全面要点总结,涵盖功能性、兼容性、安全性、性能测试及相关工具和趋势。我们将从背景、测试分类、应用场景和未来展望等方面展开,适合初学者和有经验的测试人员。

研究表明,APP测试涵盖多个维度,包括功能性测试(验证核心功能)、兼容性测试(跨设备和网络)、安全性测试(保护数据)和性能测试(高峰期表现)。2025年的趋势包括AI驱动测试工具和云测试平台的普及,反映了测试效率和覆盖面的需求。

软件客户端的应用形态主要为:web网站、PC客户端、APP、小程序。APP项目的测试点,跟web项目的测试点是存在差异性的。本篇文章将详细罗列APP测试要点,及web区别总结。

测试策略
  • 功能性测试:覆盖所有用户路径,编写详细用例。
  • 兼容性测试:优先测试主流设备,模拟网络条件。
  • 安全性测试:定期渗透测试,检查数据保护。
  • 性能测试:模拟高峰期流量,优化服务器配置。

1、功能测试 - 业务流程/数据流

  • 根据产品需求文档设计用例,执行测试

包括功能业务、业务流程、数据流向、功能入口有效性检查、交互性检查等测试。

  • 大体思路分为三步:

第 1 步:依据需求梳理各大类功能及细化功能点

第 2 步:通过测试理论方法及经验,梳理测试点(等价类、边界值、场景法、错误推测法等)

第 3 步:挖掘隐性需求,覆盖非功能测试层面(界面、易用、兼容、安全、性能等)

注意:功能测试点提取和用例设计方法都跟web测试一致,但是APP有一些自己特性测试,也要额外加到测试点中

安装与卸载测试

  • 正常测试--基本保证:

    • 初次安装是否正常,安装后是否正常打开 ——兼容不同的手机型号-兼容不到所有,主要看公司有哪些手机

    • 重复安装 :1)提示版本已经存在 2)直接覆盖安装,提示(有数据-保留/清除)但是能正常使用

    • 软件安装后,是否可正常卸载应用:1)通过桌面卸载 2)通过软件设置卸载

    • 卸载后,再次安装,正常安装并使用

  • 异常测试:

    • 卸载过程,是否支持取消功能,单击取消后软件卸载功能是否正常。 -- 杀掉进程操作下

    • 软件安装,空间不足是否有响应提示

    • 安装过程中,是否可以取消安装(干掉进程) ,再次安装正常

APP升级测试

  • 非强制升级版

    • 当客户端有新版本时,打开APP是否有更新提示 ;

    • 用户可以取消更新,老版本功能能正常使用,用户在下次启动app时,仍能出现更新提示;另外新版本独有的功能,老版本确认不能使用;

    • 立即更新之后,正常升级,确认版本号最新;升级之后,新版本正常使用(数据保留)

  • 强制升级版

    • 用户更新中,退出客户端(中断更新),下次启动app时,仍出现强制升级。

    • 强制升级完毕后,确认版本号最新;新版本正常使用

  • 在线跨版本升级

APP登录测试

  • 登录方式多样化,依据需求来覆盖测试:

    用户名、短信验证码、二维码、指纹、手势、语音、头像识别,第三方登录(微信、QQ,微博)

  • 登录鉴权

    • 通过登录进入访问页面的软件,主动退出登录下次启动时,仍然进入登录界面

    • 一些页面的操作,是否做了控制 ,点击某些资源,提示登录或者跳转登录页面

    • 登录后,角色不同,操作权限不同,页面展示操作不同

    • 切换账号登录:检验登录的信息是否做到及时更新

  • 用户登录持续时间太久,账号信息会过期-有效期

    • 进行页面功能操作,会出现”虽然是登录状态,系统会提示用户没有登录“,重新登录要正常的

    • 进行页面功能操作,会强制退出,提示:账号信息过期,请重新登录“ 或者 跳转登录界面

  • 单端/多端登录:

    • 不允许多个端登录时,是否将原用户踢下线,且给出提示信息

    • 允许多个端登录时,确保数据操作同步无误,每个端可以及时看到数据的更新

APP离线测试

  • APP在本地客户端会缓存一部分数据以供程序下次调用,对于该APP,离线状态下可以浏览本地数据。

    • 对于离线(无网络)时,刷新获取新数据/获取比较早的历史数据时,不能获取数据时能给出友好提示

    • 离线下,退出APP再开启APP /切换到主屏幕再切回APP /锁屏后再解锁回到应用前台, 能正常浏览本地缓存数据

触屏操作

  • 触屏常见手势:短按-点击、长按屏幕(文本复制粘贴)、上下滑动(看资讯)、左右滑动(看相册)

  • 翻页:数据较多时是否做了分页加载处理

    • 遇到翻页加载的页面,需要注意内容为1页或者多页的情况。数据分页加载时,注意后续页面请求数据的正确。

    • 这个需要注意在快速操作场景中,请求页数是不是依次递增。-- 容易产生崩溃/闪退

  • 手机横屏、竖屏测试 ,这个可以不支持,但是不能有问题。

APP消息推送测试

  • 开关设置 — 安装软件,弹框“是否允许进行消息推送”,也包括默认开启

    • 注意:分别在开/关下,所有触发消息推送的场景都要覆盖测试(需要依据软件产品需求,确认哪些操作会有消息推送)

    • 允许-开/不允许-关:接收到消息提醒/接收不到消息提醒

  • 查看推送消息:

    • 未锁屏时,APP应用后台运行,消息推送内容闪现屏幕顶部,且点击跳转APP,点击后消息栏中消失

    • 未锁屏时,APP应用前台使用,可以收到APP应用内的消息提醒,且点击可查看

    • 未锁屏时,下拉框消息栏(通知中心)是否可以接收到消息提醒,且点击可查看。点击后消息栏中消失

    • 锁屏时,高亮显示消息/语音提醒,屏幕上呈现消息列表;点击其中一条,解锁屏幕,跳转对应app

  • 未登录到登录状态

    • 退出登录后,是否接收push推送(根据需求来)

    • (登录收到消息推送,不登录不推送)未登录用户再去登录:批量接收多条消息 --- 确认软件不会崩溃

APP中断测试

  • APP被手机行为打扰的情况:APP能否正常处理,保证数据正确性

  • 主要对于核心功能存在实时数据交换的页面进行中断测试,除了确保中断过程中有合理处理;还需确保中断后,恢复正常。

    • 来电、来短信、断网、断电、低电量提醒、前后台切换、app切换 (app用户常见情况)

    • 手机端硬件上,如:待机,插拔数据线、耳机、闹铃弹出框提示等操作

    • 以上中断场景,结合自己软件应用选取几种常出现的中断场景来测试

2、UI界面测试

  • 确保产品UI符合产品经理制定的原型图与ui设计效果图/切图一致 === 基本保障

  • 依据经验、用户使用习惯、参考其他成熟的产品,界面可优化的bug

    • 一般涉及界面(如菜单、对话框、窗口和其他可视控件)布局、风格,文字是否正确,页面是否美观,操作是否友好。

    • 如:安装APP后的加载页/引导页/动态视频显示,分享页面的产品logo显示 --比较容易忽略

3、兼容性测试--- 手机适配测试

应用是否可以在不同操作系统正常使用(Android和IOS),那么在这两个平台都要做兼容性测试;

  • 每个平台的不同系统版本

    • Android版本:9, 10,11、12、13、14以及各个小版本 鸿蒙系统

    • IOS版本:10、11、12、13,14,15,16及其各个小版本

  • 不同厂商 — 主流厂商机型

  • 能否适配各种屏幕尺寸

    • Android系列:5.5英寸~6.5英寸、6.9英寸 等

    • IOS系列:5.0英寸~6.5英寸 (iPhone & iPad)

  • 分辨率适配:分辨率影响界面图标、文字大小,保证主流分辨率下页面显示完整,文字不被遮挡

总结兼容性测试怎么做?

兼容性测试一般覆盖:市面上主流手机机型。例如android手机华为,小米,vivo、oppo、荣耀等;ios系统手机最近主流机型。

  • 手机机型市场占有率最高:https://index.iresearch.com.cn/new/#/device?osType=1

  • 对于公司没有的机型,可借助云测平台进行基本兼容性测试。

4、网络测试

核心功能重点关注。

  • 测试4G/5G/wifi网络的切换--基本功能验证

    • 例如从wifi环境切换到4G环境提示是否启用4G网络,会产生扣费,是否有提醒

  • 弱网测试(延时+丢包)-2G/3G网络 ,关注弱网场景1)延时-超时是否有合理提示,2)丢包-要有重发机制(自动/手动)

    • 如何模拟弱网:人为-离wifi远一点/电梯/地下车库 ;工具-fiddler/charles-可用、Qnet-暂时不能用

    • 提交数据是否一直处理提交中,是否会有延迟(3分钟),数据提交失败是否会有超时提醒;

    • 是否有超时重连、丢包重发机制(自动或手动);

    • 弱网下,数据多次提交(支付类app-支付/退款),是否只能被执行一次;

  • 测试有网/无网切换下应用的运行 -- 中断

    • 断网重连(有网到无网再到有网环境)时,数据是否可以自动恢复,正常加载(网络中断重连)

    • 无网络时,各种提示信息是否友好,数据本地化是否正确(比如提示当前已断开网络,请检查网络设置)

5、安全性测试

一般对于大多数非支付类App来说,安全可能并不会过多进行测试,主要保证登录鉴权(不能是弱密码123456、购买操作-需要鉴权)、访问权限的安全性、敏感数据加密(密 码、身*证,银*卡余额)。

  • 扣费风险:包括发送短信、拨打电话、连接网络,没有网络时能否提醒

  • 隐私泄露风险:包括访问手机信息、访问联系人、相册、语音、定位等 -- 跟需求有关

  • 注意:默认情况下是开放的,需要提示用户选择!开放权限+不开放权限情况下进行测试

6、性能测试

比如游戏软件会进行APP性能测试,但大部分app客户端本身做性能测试情况比较少

  • 服务器性能测试(例如:loadrunner-商业\Jmeter工具(免费))

    • App各类功能性操作的响应时间(后台服务器的性能)

  • app客户端性能测试

    • 页面白屏时间、首屏时间、页面渲染时间等 -- 目前先凭肉眼判断,时间是否合理

      • 补充:白屏(从打开到页面开始显示第一个内容);首屏(打开应用,到最终页面全部呈现完毕); 页面渲染(页面开始显示第一个内容,到最终页面全部呈现完毕)

    • CPU、内存、流量、电量等的占用

    • 专门的性能测试工具,例PerfDog(30分钟体验时间)、GT(腾讯)、SoloPi(阿里)

    • 怎么判断占比是合理?1)行业标准 2)历史版本 3) 如果没有 优秀竞品对比

  • 压力稳定性测试(monkey)

    • App反复进行安装卸载

    • 其他功能反复进行操作

7、常见面试题

1、APP测试与web测试的区别? ----理解记忆,面试概率比较高 !

  • 相同点:

    同样的测试用例设计方法;--功能测试

    都会依据原型图或者效果图检查UI;--界面UI测试

  • 不同点:

    app需要进行安装卸载升级测试:全新安装、升级安装、第三方工具安装/卸载、直接删除卸载;需要考虑消息推送测试、手机授权测试、前后台切换;

    还有登录方式web比较单一,APP手势、指纹、脸部识别登录

    因为移动端特性,要考虑中断测试: 来电中断、低电量、插拔数据线、手机断电、手机问题(系统死机重启)等

    因为移动端特性,要考虑网络环境,无网到有网切换、弱网环境下数据提交、多次提交是否有问题

    兼容性测试: web项目考虑不同浏览器的兼容;app需要考虑不同手机机型的兼容

2、Android APP测试和IOS APP测试的区别? --问到概率比较小

功能业务测试上,没什么区别;区别主要体现在:

1)测试版本安装:Android可直接通过APK安装进行测试,IOS安装包需要经过设备注册和应用签名;

2)兼容性测试:Android开源,系统版本多,品牌多,兼容测试需要覆盖多种机型设备; iOS不开源,版本及设备相对统一,系统版本少,兼容测试集中在最新的ios版本及设备上;

3)日志获取:Android可以通过ADB调试,进行APP日志抓取分析;iOS通过Xcode的调试控制台查看日志输出,iOS的日志访问权限较为受限;

总结

总之,APP测试涵盖功能性、兼容性、安全性和性能,确保用户满意是关键。通过工具自动化和行业趋势跟进,我们能打造更可靠的APP,拉近用户与技术的距离。2025年,测试不仅是技术保障,更是市场竞争的利器。

通过以上多维度的测试,能够全面评估APP的质量,及时发现并修复潜在问题,提升用户体验和满意度。

APP测试如筑基,稳固方能高飞,2025年,让我们用严谨测试迎接用户期待。

猜你喜欢

转载自blog.csdn.net/m0_58552717/article/details/146921191
今日推荐