敏捷开发流程及项目实战分享
01 敏捷开发整体流程
需求确认,产品输出用户故事,产品测试产品就需求部分达成一致
开发进行接口开发,前后端按照用户故事进行接口约定,测试进行案例设计
进行案例评审和接口评审,开发测试围绕业务逻辑,用户故事的数据流向达成一致
后端开发进行接口开发,前端根据 mock 数据同时进行,测试进行接口案例设计
开发接口设计完成后,部署到测试环境上,点击接口案例调用测试环境进行接口测试,接口测试通过才可以提交给测试
测试全量跑所有的接口案例,以及过去的自动化测试案例,全通过后,在前端进行全量测试
进行全量自动化测试
上线
02
实践实例
需求阶段
引入用户故事,将用户故事可视化地表现出来。
用户服务->新增用户
初始化数据新增 admin 数据->admin 登录->新增用户->查询用户记录->用户登录->能看到基础的菜单
Who->What->Why
admin ->新增用户->让其他用户可以使用系统
此阶段最重要的是,确保产品和开发测试的认知同步,避免出现开发与产品向背驰,同时产品也要避免开发过程中/后修改需求。
设计阶段
1、需求拆分成任务:
2、测试案例设计:
此阶段最重要的是,确保开发测试的认知同步。开发会较注重细节,测试则较考虑整体逻辑性,在开发前就应让双方互相确认,避免开发完成提测后有重要的分支开发没考虑到导致返工。
开发阶段
1、目标
密码长时间不修改提示/强制用户修改
2、迭代安排
软件功能点清单:
存储设计
数据库设计:在用户表 sys_user 中添加字段:update_password_time, 存放最近一次客户密码修改的时间:
3. 功能需求分析
3.1 密码到期提醒改密逻辑
功能点描述:
默认每间隔 180 天需要强制改密
≥180 天,没有改密的,将⽆法登录平台,需要联系对应的有权限的⼈员重置密码
180 天前,第 170 天开始,每次登录后,展示弹窗下图
现在就改,点击直接切换为改密的⻚⾯
下次再说,等价于关闭弹窗(只展示⼀次)
执行者:当前用户
业务规则:
用户登录时,输入了账号密码,点击【登录】按钮
如果距离上次改密不满 170 天,不作提示
如果距离上次改密满 170 天但是不满 180 天,提示倒计时窗口
用户点击【现在就改】,跳转到【修改密码】界面
用户点击【下次再说】,弹窗消失
如果已经满 180 天,提示:无法登录,密码已过期,请联系管理员重置密码
3.2 修改系统默认密码到期时间
功能点描述:
对系统默认密码到期时间进行配置
业务规则:
配置文件 application-xxx.yaml 中, amp.passwordExpireTime 字段,默认为 180 天
4. 功能技术设计
4.1 接口路径
受影响的接口路径:
用户登录 /provider/users/guanyuntai/login
用户修改密码 /provider/users/password
重置密码 /user/resetPSW/{id}
4.2 密码到期提醒改密逻辑
前置任务:登录
后置任务:无
详细设计:
用户登录时:路径 /provider/users/guanyuntai/login 在验证【账号存在】、【非第三方账号】、【用户未锁定】、【用户名密码正确】后:
(以下是新加逻辑)
用户修改密码时:
路径:/provider/users/password
重置用户密码时:
路径:/user/resetPSW/{id}
评论