APP升级主要在线升级、离线升级。当有新版本时,提示更新,用户点击更新,下载最新版本,进行安装升级,这种就是在线升级;已有升级包,安装升级包进行升级,这种就是离线升级。

在线升级、离线升级常见测试用例:

  1. 网络正常,在线升级,是否能升级成功
  2. 网络不稳定时,在线升级成功后,APP使用是否正常(会不会因为网络不稳定而丢失文件)
  3. 点击离线安装包,进行升级,是否能升级成功
  4. 跨版本升级,直接用最新的安装包,是否能升级成功
  5. 新版本升级后,卸载是否成功
  6. 新版本升级后,使用旧版本覆盖安装,是否有提示:当前已是最新的版本
  7. 新版本升级后,卸载后,重新升级是否成功
  8. 新版本已经升级,再次点击升级,是否有提示:已是最新的版本

在线升级又分为强制更新和非强制更新。强制更新就是当检测到有新版本时,弹出提示,这个提示框没有关闭按钮,只能更新,一般需要强制更新的版本,主要是功能模板改动较大,或业务比较重要,和功能模板存在风险等;非强制更新就可以让用户选择是否现在更新或以后更新,旧版本的功能正常使用。

强制更新、非强制更新:

  1. 当有新版本时,提示更新
  2. 非强制更新,可以取消更新,旧版本功能正常使用,下次使用时,仍然会提示更新
  3. 强制更新,已经下载了最新的更新包,用户没有点击替换,退出,下次使用时,依然提示更新
  4. 不卸载更新,检查是否可更新
  5. 不卸载更新,检查同名文件或图片是否已经更新
  6. 非wifi下,提示是否更新,取消加入待下载,wifi下自动更新

备注:参考文章https://blog.csdn.net/luck_yyf/article/details/78481785(侵权删)

APP版本升级,测试用例总结的更多相关文章

  1. 用java和junit编写app自动化测试用例

    package myTest; import static org.junit.Assert.*; import io.appium.java_client.android.AndroidDriver ...

  2. 用python和unittest编写app自动化测试用例

    import unittest import webdriver import time class Test(unittest.TestCase): @classmethod def setUpCl ...

  3. 移动App崩溃测试用例设计

    我们的日常生活中对移动设备越来越多的使用意味着移动App测试这个主题已成为需要考虑的一个无法避免的问题.根据最近的调查研究,用户难以容忍有bug的移动App. 移动App Bug的影响是用户体验差.A ...

  4. cordova 跨平台APP版本升级

    利用cordova+ionic开发好项目,之后就是打包发布,在这之前,还要做一个版本升级的小功能. 首先我们项目根目录里自然少不了配置:config.xml中 如图.version,我们以后每次升级A ...

  5. APP版本升级

    /*** version_upgrade 版本升级信息表*/CREATE TABLE `version_upgrade` ( `id` smallint(4) unsigned NOT NULL AU ...

  6. php app版本升级的思路

    用户端传递当前app的版本号,再根据机型和app_type ,查找数据库里的版本号 ,去比较 ... CREATE TABLE `common_versioninfo` ( `id` int(11) ...

  7. MUI 混合开发移动app应用开发 --- app版本升级

    当我们的app开发完成之后,无可避免的以后会进行产品升级,那么我们希望在客户的手机上让app进行自动升级,可以分为自动升级和手动升级. 自动升级:一般在客户app第一次打开首页的时候. 手动升级:在a ...

  8. 移动端安装包(APP)的测试用例

    安装 安装手册是否规范,是否简洁,是否通俗易懂. 安装手册是否齐全,正确,有改动时,文档是否同步更新 直接复制安装程序到电脑上,能否正常安装 按安装手册给出的步骤进行安装,安装是否正确 查看在安装过程 ...

  9. 安卓ios app自动化测试用例模板

    import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.android.AndroidElem ...

随机推荐

  1. 2018.07.22 bzoj3613: [Heoi2014]南园满地堆轻絮(逆序对结论题)

    传送门 做这道题有一个显然的结论,就是要使这个数列单调不减,就要使所有逆序对保证单调不减,也就是求出所有逆序对的最大差值,然后除以2然后就没了. 代码如下: #include<bits/stdc ...

  2. 笔记本的Windows系统怎么设置有了外接鼠标后停用触摸板

    点击控制面板,切换小图标模式,找到鼠标,点击它,然后会弹出一个窗口,找到ELAN选项卡(一般有个红色图标,不过可能需要对应驱动才会有此选项卡),选中插入外置 USB 指向装置时禁用.点击确定保存配置即 ...

  3. C#中验证sql语句是否正确(不执行语句)

    SET PARSEONLY检查每个 Transact-SQL 语句的语法并返回任何错误消息,但不编译和执行语句.SET PARSEONLY { ON | OFF }当 SET PARSEONLY 为 ...

  4. volatile 类型修饰符

    volatile 类型修饰符 1.解释 就像大家更熟悉的const一样,volatile是一个类型修饰符(type specifier).它是被设计用来修饰被不同线程访问和修改的变量.如果不加入vol ...

  5. application cache 应用缓存

    这些应用还是要自己实现一遍,否则真不知道哪里会出问题. 客户端: <!DOCTYPE html> <html manifest = 'demo.appcache'> <h ...

  6. [翻译Joel On Software]选择一门语言/Choosing a language

    Joel on Software Choosing a language 选择一门语言 by Joel Spolsky Sunday, May 05,2002 Why do developerscho ...

  7. 个人项目:实现wc.exe(Java)

    本项目Github地址:https://github.com/NNewBoy/wc 项目相关要求 基本功能:(已实现) -c 统计文件字符数 -w 统计文件词的数目 -l 统计文件行数 扩展功能:(已 ...

  8. Ubuntu/Debian下通过Apt-get简单安装Oracle JDK

    近几年本人对各种Arm小板,开发板不明原因中毒,基本以Linux系统为主,本篇文章以记录在32位Arm的Debian8上,通过Apt-get的简单命令安装Oracle JDK8并成功的记录. 1.首先 ...

  9. c# list修改某一个属性的值

    public class info() { public string name{get;set;} public string age{get;set;} } list<info> li ...

  10. 构建NetCore应用框架之实战篇(一):什么是框架,如何设计一个框架

    一.系列简述 本篇起,将通过一系列文章,去描述如何构建一个应用开发框架,并以作者开发的框架为例,逐个点展开分析,如何从零开始,构建自己的开发框架. 本系列文章的目的,是带领有一编程经验的人,通过动手, ...