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. ipad The data couldn’t be read because it isn’t in the correct format

    原来是land left和land right都勾选的,去掉land left后出现这个问题

  2. python的介绍和及基本的使用

    一 什么是计算机 1 计算机就是由一堆硬件组成的一个机器. 2 硬件的分类: CPU:犹如人类的大脑,运行着需要运行的程序. 内存:将 CPU要运行的内容从硬盘中读取出来,然后CPU在内存里拿内容,只 ...

  3. Eclipse出现An error has occurred,See error log for more details的错误

    因为加入了Aptana组件所以一直报这个错误,用了cmd的方法依然不奏效,最后选择 Window > perferences > General > Startup and Shut ...

  4. sql笔试练习

    转:http://www.360doc.com/content/16/0919/17/14804661_592046675.shtml 本文是在Cat Qi的参考原帖的基础之上经本人一题一题练习后编辑 ...

  5. Activity生命流程

    做Android的同学说起 Activity,那绝对是熟悉的不能再熟悉了,但是越熟悉的东西往往越陌生.我们真的了解她吗?她是我们所认识的那样吗?或许是,或许不是!了解与否, 让我们往下看.首先借And ...

  6. android周期性任务

    一般任务调度机制的实现方式主要有: Thread sleep.Timer.ScheduledExecutor.Handler和其他第三方开源库.android的AlarmManager 1. Time ...

  7. spring的事务传播属性

    一.Propagation (事务的传播属性) Propagation : key属性确定代理应该给哪个方法增加事务行为.这样的属性最重要的部份是传播行为.有以下选项可供使用:PROPAGATION_ ...

  8. [Openwrt 项目开发笔记]:USB挂载& U盘启动(三)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一篇中,我结合Netgear Wndr370 ...

  9. linux系统编程之进程(三):进程复制fork,孤儿进程,僵尸进程

    本节目标: 复制进程映像 fork系统调用 孤儿进程.僵尸进程 写时复制 一,进程复制(或产生)      使用fork函数得到的子进程从父进程的继承了整个进程的地址空间,包括:进程上下文.进程堆栈. ...

  10. C#存储过程调用的三个方法

    //带参数的SQL语句 private void sql_param() { SqlConnection conn = new SqlConnection("server=WIN-OUD59 ...