APP项目测试 之 开发模型和发布

项目客户端一般分为:浏览器端和APP端

        APP端分为:手机端(安装在手机上的软件)和PC端(安装在电脑上的软件)


1.开发模型

项目迭代速度不同:开发模型不一样

  • 传统行业:瀑布模型
  • 互联网行业:敏捷模型

问:互联网应用(京东)与传统行业应用(个税APP)更新速度一样吗?

答:不一样,更新速度取决于他们的的开发模型。

(1)瀑布模型:

将一个项目作为一个整体,下一个环节依赖上一个环节的完成。

整个项目流程,就像瀑布一样一定是从上往下,上一个环节没有完成则下一个环节是没有办法开始的。(例如在一个项目中,整个项目的所有功能都规划完成后,才能去做研发,所有功能做完后才能做测试)。会导致整体周期比较长

(2)敏捷模型:

1)什么是敏捷模型

基于迭代开发的软件开发方法,核心是将一个项目拆分成多个子项目,每一个迭代周期完成一个子项目

把功能进行拆分,比如一个项目有10个功能,可以把他拆分成5个功能,每一期做两个功能,做5期。这样只需要每两个功能的需求分析做好了就可以开始这两个功能的研发,然后做测试。在左前两个功能测试的时候,产品又可以去回话下一期两个功能的需求......

2)敏捷开发(scrum)模型

2.1)Scrum:
是一个敏捷开发框架,是一个增量的,迭代的开发过程

2.2)三种角色:
产品负责人(Product Owner)
定义需求,进行需求排期
项目经理( Scrum Master)
管理项目,确保 scrum 顺利执行
开发团队(Dev Team)
  • 实现客户需求
  • 成员:开发、测试、UI
  • 团队人数:一般5人到9人。开发测试比一般为:3:1 — 5:1
2.3)迭代周期
2-4周
2.4)Scrum中的名词
  • backlog:产品功能列表-------Scrum中,将产品Backlog商业价值排出需求列表
  • sprint:迭代------项目开发过程中最小周期,每个sprint周期建议为2-4周。在scrum框架中,整个开发周期包括若干个小的迭代周期

3)工作流程

  1. 产品要汇总产品功能列表(Backlog)
  2. 召开迭代计划会:目的是明确迭代周期
  3. 迭代开发:需求评审->开发->测试->发布(依项目而定)
  4. 发布评审会(测试报告):反思会

2.项目上线发布策略(灰度发布

开发环境—测试环境—(预发布环境)—灰度发布- 生产环境

灰度发布先部部分试用,若有异常则回滚无问题再全部发布。

由于一个项目,一般线上部署时有多台服务器运行,所以灰度1台至3台,看看新功能是否OK,如果失败则只需要回滚几台,比较方便。

线上发布:所有用户可用。 


3.APP如何发布? 

APP开发完成后,相应的开发人员会打出应用程序包,由测试人员安装测试

(1)软件安装包的格式

  • 安卓手机: XXX.apk
  • 苹果手机: XXX.IPA
注意:
IOS APP和Android APP在界面上的功能一样,但实际上是两个完全独立的项目。
• 使用不同的语言
• 由不同的项目组成员进行开发

(2) 软件包的发布

1)给测试

  • 将软件包放在公共平台上标注版本号,放在大家都可访问的地址
  • 注意:要求开发标注版本号,不是名字修改就可以,一定是配置文件里修改

2)给用户

放在第三方平台:

  1. 安卓: 应用宝 、豌豆荚、 360手机助手 、各品牌应用商城 等
  2. 苹果: APPstore、 ITools
注意:

  • 一般线上发布过程,由开发人员负责。
  • 在软件包加入平台ID后,上传到发布平台时,需要测试人员验证核心的业务功能

未完待续。。。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/37248.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[数据集][目标检测]水面垃圾水面漂浮物检测数据集VOC+YOLO格式3749张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):3749 标注数量(xml文件个数):3749 标注数量(txt文件个数):3749 标注…

MySQL 死锁处理

查询是否锁表 SHOW OPEN TABLES WHERE In_use > 0; 查看正在锁的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; 查看等待锁的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS; 查看进程信息 SHOW PROCESSLIST; 或者 SELECT * FROM INFORMATION_SCHE…

vue2axios的使用

1.安装axios npm i axios 2.配置代理服务器 1.在config.js中配置单个代理服务器 // 开启代理服务器 需要重新启动项目devServer: {proxy: http://localhost:5000}配置简单,请求资源时直接发给前端(8080)即可;但不能配置多个代理…

Java SPI服务发现与扩展的利器

Java中,为了实现模块之间的解耦和可扩展性,我们常常需要一种机制来动态加载和替换实现。Java SPI就是这样一种机制,它允许我们在不修改原有代码的情况下,为接口添加新的实现,并在运行时动态加载它们。 SPI&#xff0c…

ORB-SLAM2同OpenMVS实现三维重建

ORB-SLAM2 位姿导出 Note: 为与OpenMVS进行对接本次进对ORB-SLAM2进行部分修改,使之可以为 OpenMVS提供稀疏点云、关键帧的位姿、内参,以及稀疏点云在各个View 中的可见性。 主要更改如下 . 在Map文件下增添如下函数 public: void Save(const string &a…

iOS shouldRecognizeSimultaneouslyWithGestureRecognizer 调用机制探索

shouldRecognizeSimultaneouslyWithGestureRecognizer 经常会看到,但是一直没有弄清楚其中的原理和运行机制,今天专门研究下 其运行规律 我们准备三个视图,如下,红色的是绿色视图的父视图,绿色视图 是蓝色视图的父视图…

Feign 配置全局日志存入mongo

1、开启feign日志 在application.yml 添加配置 feign:client:config:default:loggerLevel: FULL2、日志实体类 Document(collection "feignLogs") Data public class FeignLog {Idprivate String id;private String method;private String url;private LocalDate…

fake.js的使用

fake.js(也称为 Fake.js)是一个用于生成大量逼真数据的JavaScript库,它可以帮助开发者在开发和测试阶段快速生成模拟数据。这个库特别适用于前端开发中的原型设计、测试和占位内容的生成。 以下是 fake.js 的一些主要特性: 多种…

CTF-PWN-LLVM-【红帽杯-2021 simpleVM】

文章目录 参考检查逆向漏洞思路调试定位到PASS名exp 参考 https://bbs.kanxue.com/thread-274259.htm#msg_header_h2_6 http://www.blackbird.wang/2022/08/30/LLVM-PASS%E7%B1%BBpwn%E9%A2%98%E6%80%BB%E7%BB%93/ 检查 因为是用opt运行,加载动态库VMPASS.so的P…

开源模型应用落地-FastAPI-助力模型交互-WebSocket篇(四)

一、前言 使用 FastAPI 可以帮助我们更简单高效地部署 AI 交互业务。FastAPI 提供了快速构建 API 的能力,开发者可以轻松地定义模型需要的输入和输出格式,并编写好相应的业务逻辑。 FastAPI 的异步高性能架构,可以有效支持大量并发的预测请求,为用户提供流畅的交互体验。此外,F…

基于STM32的智能花园灌溉系统

目录 引言环境准备智能花园灌溉系统基础代码实现:实现智能花园灌溉系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统实现4.4 用户界面与数据可视化应用场景:花园灌溉管理与优化问题解决方案与优化收尾与总结 1. 引言 智能花园灌溉系统通过使用ST…

普元EOS学习笔记-EOS8.3精简版安装

前言 普元EOS是优秀的高低开结合的企业应用软件开发框架。 普元:这是普元公司的名字,普元信息,上市公司哦,这里就不过多安利了。 EOS:普元公司的企业应用开发系统,开发语言是基于Java,技术框…

在 UBUNTU 22.04 上逐步构建 Postal SMTP 服务器

构建 Postal SMTP 服务器来发送批量电子邮件是电子邮件营销人员的不错选择。Postal 功能非常强大,并拥有大量开发人员的支持。它是一个用 JavaScript 和 Ruby 编写的开源邮件服务器脚本。它可用于构建内部 SMTP 服务器,就像 Mailgun、Sendgrid、Mailchim…

LangChain入门学习笔记(七)—— 使用检索提高生成内容质量

大模型训练使用的数据是开放的、广泛的,因此它显得更加的通用。然而在有些应用场景下,用户需要使用自己的数据使得大模型生成的内容更加贴切,也有时候用户的数据是敏感的,无法提供出来给大模型进行通用性的训练。RAG技术就是一种解…

我是如何使用ai来对uwsgi与nginx的配置进行排查的

以下案例都使用英文来进行询问与排错,原因是因为中文排查结果与实际并不相符 uwsgi的配置排查 1:现在我有2个容器,第一个容器是nginx镜像制作出来的容器,用于作为代理服务器 2:第二个容器是python镜像制作出来的容器,在这个python容器里面安装了django与uwsgi,在这…

linux服务器 部署jenkins

在 Linux 服务器上部署 Jenkins 通常包括以下几个步骤: 更新系统软件包: sudo apt update sudo apt upgrade 安装 Java: Jenkins 需要 Java 运行时环境。推荐使用 OpenJDK 11。 sudo apt install openjdk-11-jdk 添加 Jenkins 软件源并导入…

真北6月小结:于旷野撒野,于轨道修道

一、跑步 1、运动数据 6月跑步111.28公里,时长13:30:48,平均配速717",共19次,其中3次十公里,分别在千灯湖、梧州、二沙岛。 早起120个仰卧起坐,12个俯卧撑,120个深蹲…

Spring boot中如何使用Thymeleaf模板

大家好,我是 网创有方。今天给大家分享下Spring boot中如何使用Thymeleaf模板。 在 IntelliJ IDEA 中使用 Thymeleaf 模板引擎来开发 Spring Boot 应用程序是相对简单的。以下是一些基本步骤,帮助你在 IDEA 中设置和使用 Thymeleaf: 创建一个…

在 CentOS 8 Stream 上直接安装 Docker CE 的方法可能会受到一些限制,但我们可以尝试使用另一种方法来安装 Docker

在 CentOS 8 Stream 上安装 Docker 由于在 CentOS 8 Stream 上直接使用官方仓库安装 Docker CE 可能会有问题,您可以尝试通过 Docker 官方提供的安装脚本来安装 Docker。以下是具体步骤: 下载 Docker 安装脚本: curl -fsSL https://get.dock…

LabVIEW项目外协时选择公司与个人兼职的比较

​在选择LabVIEW项目外协合作伙伴时,外协公司和个人兼职各有优劣。个人兼职成本较低且灵活,但在可靠性、技术覆盖面、资源和风险管理上存在不足。而外协公司拥有专业团队、丰富资源、完善的项目管理和风险控制,尽管成本较高,但能提…