IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 程序开发流程 -> 正文阅读

[开发测试]程序开发流程

一、拿到原型图,先自我解析需求,画出思维导图,流程图

? 在未拿到 UI 给定的 PSD 时,可以先理清我们的需求

  1. 依赖的外部资源
    1. 后端提供的接口
    2. UI出图的大概布局
    3. 后期频繁改动的地方
  2. 需要实现的效果
    1. 下拉刷新
    2. 动画效果
    3. 吸顶效果
    4. 懒加载、预加载、防抖、节流

二、产品召集项目相关人员,开需求讨论会,产品讲解原型

  1. 理解产品的需求,提出质疑:这是什么功能,怎么做,为啥这么做
  2. 评估实现难度和实现成本,是否有潜在技术问题/风险
  3. 对比自己整理的需求图,如果有和自己想的不符合的,提出疑问
  4. 理解PM提出此次需求的目的,明白哪些内容是重点,哪些次要,可以适当取舍
  5. 如果产品要求提供时间,简单项目可以预估,复杂项目不可马上给出时间,需要仔细评估,评估时间包含开发、自测、测试人员测试、修复bug、上线准备

三、会后进一步整理需求

  1. 细化细节,整理有疑问的地方,与产品、设计等其他人进行确认
  2. 评估项目完成时间–影响因素
    需要的人力、 中间插入的需求、 开发、 自测、 测试人员测试、 修复bug、 上线准备、 其他风险(如技术选型错误等)
  3. 初步制定排期表

四、需求二次确认(开发中遇到不确定的,依旧需要找相关人员进行需求确认,杜绝做无用功)

  1. IM工具沟通确认
  2. 邮件确认
  3. 小型需求/项目相关讨论会
  4. 确定最终排期表

五、开发

  1. 技术选型
  2. 搭建开发环境
    1. 工具链
  3. 搭建项目架构
  4. 业务模块划分
    1. 优先级排序
    2. 新项目介入,需要当前项目和介入项目的相关负责人Pk优先级,随后调整项目排期
    3. 开发过程中发现工作量与预期有严重出入,需要尽早向其他项目人员反馈,方便其修改时间安排
  5. 定制开发规范
    1. 开发规范
      1. commit提交格式
        • [改动文件类型]:[改动说明]
      2. 单分支开发或者多分支开发
        1. 小项目、并行开发少,则只在master主分支开发
        2. 中大项目,需求复杂,并行功能多,则需要分为master、developer、开发者分支;需要开发者自创一个分支开发,合并到developer,确认无问题后,发布到master,最后上线
    2. 代码规范
      1. jsconfig.json
      2. .postcssrc.js
      3. .babelrc
      4. .prettierrc(vscode插件prettier-code fomatter)— 注意与eslint要保持一致
      5. .editorconfig
      6. .eslintrc.js(强制开启验证模式)
      7. JavaScript开发中常用的代码规范配置文件
    3. 源码管理
    4. 版本管理
    5. 安全管理

六、自测

  1. 手动测试
  2. 单元测试
    1. mocha
  3. 集成测试

七、提测—测试人员测试

  1. 开发人员修复bug
  2. 期间不可接手耗时大的需求
  3. 有不确定优先级高低的需求,需要各个需求方互相pk优先级,再确定做与不做,不能因此拖延项目完成点
  4. 测试修复bug时间可能比开发时间还长,因此开发者预估开发时间不能乐观

八、上线

  1. 上线准备
    1. 域名申请
    2. 备案申请
    3. 服务器申请
    4. 部署
  2. 测试线上环境
    1. 有bug回到修复bug环节
  3. 日志监控
    1. 调用栈
    2. sourcemap
    3. 本地日志
    4. 用户环境、IP
    5. 低成本接入
    6. 统计功能
    7. 报警功能

九、维护

技术创新(对现有的技术领域以及具体项目实现方法进行优化)

  1. 提高效率
    1. jenkins构建部署
  2. 减少成本
  3. 提升稳定性
  4. 安全性
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-07-10 11:39:36  更:2021-07-10 11:39:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:04:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码