APP强制更新和非强制更新测试要点_强制更新测试点-程序员宅基地

技术标签: app  测试随笔  

需求:有最新版本的时候,如果强制更新不管是在无线还是数据状态都要去更新,在状态栏上显示;如果是非强制更新,如果设置了wifi自动下载则去自动下载;否则弹出提示框提示是否下载更新
----------安装一个低版本应用在手机,发布一个强制更新版本
1.强制更新需要测试的点有:

1)强制升级是否可以升级成功
从老版本的包升级到新版版的包是否可以升级成功。

2)升级后的数据是否正常
查看老账户升级后是否可以正常使用
查看老账户升级后的老数据是否丢失或异常
检查新功能替换老功能 是否按最新的逻辑执行
检查旧版本上去掉或者隐藏的功能 对新版本有没有影响

3)强制升级的弹窗是否可以关闭
检查强制更新窗口有没有其他可以关闭的按钮或功能,比如弹框右上方的关闭按钮没有影藏,点击背景阴影弹框消失等。

4)提示强制更新的提示

配置升级功能后是否一打开应用就提示升级;多次打开应用是否强制弹框不消失

 

2.非强制更新的测试点有:

1)提示弹框的显示
非强制更新时,是否可以选择暂不更新和立即更新;是否可以关闭弹框不显示

2)选择暂不更新
选择暂不更新,老版本是否可以正常使用;选择暂不更新操作页面不会出现再出现非强制更新的弹框

3)选择立即更新
选择立即更新去下载新版本,查看新版本号是否是最新版本;功能是否是最新的,检查点同强制更新的,这里不再赘述了。
选择立即更新,下载后没有安装软件,以后还会不会提示。

4)非强制更新弹框的提示频率

提示频率看产品规定的,一般遇到的一天提示一次或固定时间提示一次。因为不是强制更新,
可以选择不更新,如果没有打开应用提示一次或者一直提示会对用户体验不友好。

5)查看设置部分的版本更新
一般应用设置部分会有个检测版本功能,非强制更新检查版本更新是否也可以弹出非强制更新的弹框

6)回归老版本
非强制更新还有工作需要做的就是回归老版本,检查新功能是否出现在老版本上;新老功能替换时,老版本的老功能

是否可以正常使用;新用户向老用户发送信息时,会不会提示版本需升级后才能查看(对老版本上新数据的处理)。

总结:强制升级一般用于版本改动较大,业务较重要,功能模块存在风险的情况;非强制更新适用于版本改动不是很大,对业务影响不大,不存在风险问题的

开始下载之后,能否在状态栏上正常显示现在进度,查看下载进度是否能到100%
点击暂停后,再继续能否正常进行断点下载
下载完成后是否自动弹出安装

------------------------------------------
1.第一次安装使用的时候,进入主功能页面,android 6.0以后的手机要有权限提示框弹出
2.不同的权限分别弹出
3.关键权限不允许的时候 应用自动退出
4.个别权限如果在刚进入应用没有允许,在使用到相关功能的时候 需要再次弹出
5.如果手动的在权限管理把相应权限关掉 ,进入应用是否能够再次弹出
6.权限提示框点击周围不能消失

转载:https://blog.csdn.net/beyongboy/article/details/105181947

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/julielele/article/details/105412347

智能推荐

视频教程-跟李宁老师学Python视频课程(17):Python 多线程-Python-程序员宅基地

文章浏览阅读189次。跟李宁老师学Python视频课程(17):Python 多线程 东北大学计算..._python线程视频

mysql 匿名函数调用_Go语言闭包(Closure)——引用了外部变量的匿名函数-程序员宅基地

文章浏览阅读67次。Go语言中闭包是引用了自由变量的函数,被引用的自由变量和函数一同存在,即使已经离开了自由变量的环境也不会被释放或者删除,在闭包中可以继续使用这个自由变量,因此,简单的说:函数 + 引用环境 = 闭包同一个函数与不同引用环境组合,可以形成不同的实例,如下图所示。图:闭包与函数引用一个函数类型就像结构体一样,可以被实例化,函数本身不存储任何信息,只有与引用环境结合后形成的闭包才具有“记忆性”,函数是编...

ios13文件连接服务器端口,【Tips】iOS13/iPadOS 与 Windows 无缝互传文件-程序员宅基地

文章浏览阅读1.4k次。1开始前的准备一台运行 iOS13.0 以上系统或 iPadOS 的Apple设备。一台运行 Windows 系统的 PC。Windows 系统中登录了自己的微软账号。Apple 设备与 PC 处于同一无线局域网。2效果演示3让我们开始吧1、在电脑任意位置新建文件夹,然后右键文件夹选择“属性”,点击最顶上第二个“共享”,然后点击“高级共享“,勾选“共享此文件夹”。2、点击下面的“权限”,然后全部勾...

CSS里取消hover效果,CSS3实现动态删除线式hover效果-程序员宅基地

文章浏览阅读5.3k次。CSS语言:CSSSCSS确定@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:400,300);body {display: table;width: 100%;height: 100vh;margin: 0;background: #333;font-family: 'Roboto Condensed', ..._css 移除hover

115网盘资源下载到群晖_tailscale下载-程序员宅基地

文章浏览阅读1.7w次,点赞2次,收藏27次。简单说明:本方案不是用来提速的,只是方便将 115 网盘的资源下载到群晖可以将 115 网盘的资源下载到任何地方,只是因为群晖是 7*24 小时开机的,所以更方便而已也可以将 Aria2 作为通用的下载器,而不仅局限于下载 115 网盘的资源安装 Aria2什么是 Aria2 ?aria2 是一个轻量级的多协议和多源命令行下载实用程序。它支持 HTTP/HTTPS、FTP、SFTP、 BitTorrent 和 Metalink 。aria2 可以最大程度利用你的网络带宽,你可._tailscale下载

车辆工程计算机语言,车辆工程毕业设计(文)-基于C语言的BP神经网络预测程序开发【全套设计】.doc...-程序员宅基地

文章浏览阅读150次。车辆工程毕业设计(文)-基于C语言的BP神经网络预测程序开发【全套设计】本科学生毕业设计系部名称:专业班级:学生姓名:指导教师:职 称:The Graduation Design for Bachelor's DegreeDevelopment on BP eural Network Prediction Program Based on C LanguageCandidate:Gao Xi..._车辆工程需要学的计算机语言

随便推点

流处理-flink笔记_flink udf 缓存-程序员宅基地

文章浏览阅读2.2k次。从Lambda架构到Kappa架构再到?浅谈未来数仓架构设计~https://developer.aliyun.com/article/752406_flink udf 缓存

基于Win64的Masm64函数设计-程序员宅基地

文章浏览阅读379次。介绍基于Win64的Masm64函数设计模型。在Win64的API中,函数调用方法非常灵活,所以用户自己编写的函数也应该符合这种要求,特别是编写库函数,如果不符要求,则会给使用者带来很多麻烦。为了减少编程中的错误,这里介绍五种函数形式。_masm64

计算机网络(1.10)概述- TCP/IP 的体系结构_tcp/ip体系结构有什么突出的特点?试解释everything over ip 和ip over -程序员宅基地

文章浏览阅读514次。实际上,现在的互联网使用的TCP/IP 体系结构有时 已经发生了演变,即某些应用程序可以直接使用 IP 层,或甚至直接使用最下面的网络接口层。【例1-2】客户进程和服务器进程 使用TCP/IP 协议栈进行通..._tcp/ip体系结构有什么突出的特点?试解释everything over ip 和ip over everthing 的含义。

安装好oracle之后在相应路径下却没有生成tnsnames.ora和listener.ora_oracle没有listener.ora-程序员宅基地

文章浏览阅读3.4w次,点赞12次,收藏56次。可以看到我的admin下是没有tnsnames.ora和listener.ora这两个文件的且我的数据库只有自带的tnsnames.ora和listener.ora接下来需要做的操作第一步 找到你的路径,例如我的是:C:\app\Administrator\product\11.2.0\dbhome_1\admin第二步 在系统变量里添_oracle没有listener.ora

Python中import导入上一级目录模块及循环import问题的解决_python 无法import上一级目录里python里的函数-程序员宅基地

文章浏览阅读6.2k次,点赞3次,收藏3次。import上一级目录的模块python中,import module会去sys.path搜索,sys.path是个列表,并且我们可以动态修改。要import某个目录的module,我们sys.path.insert(0,somedir)来加入搜索路径,就可以import了。既然这样,要import上一级目录的module,可以sys.path.insert(0,parentdir)。不过..._python 无法import上一级目录里python里的函数

Android开发之线程&线程池姿势总结_构建一个有looper的线程池-程序员宅基地

文章浏览阅读251次。Android 中的主线程和子线程主线程(UI线程)主要用来处理四大组件间的交互,子线程用来做耗时操作(网络请求,I/O操作,sqlite操作等)由于主线程比较特殊,因为本身主线程在处理界面上,用了大部分的消耗,所以主线程不能再处理过于耗时的操作(IO操作,网络请求,大量的数据操作),否则就会造成ANR现象(程序卡死)。Activity响应时间超过5sBroadcast在处理时间超过10..._构建一个有looper的线程池