团队作业3--需求改进&系统设计

一、需求&原型改进

(一)需求修改

问题 修改
问题 1: 平台信息透明度不足,用户对回收价格、处理流程、环保价值缺乏了解,信任度低? 修改 1:新增 “信息透明” 专属板块,展示回收价格标准、回收物处理流程、环保成果;首页增设公益活动宣传轮播图 / 固定板块,展示环保公益活动详情与参与方式,增强用户信任与品牌认同感。
问题 2:订单管理仅提及基础操作,缺乏操作约束、进度跟踪及隐私保护设计,用户体验不佳? 修改 2:明确订单操作规则,待上门订单需提前 1 小时取消、未分配回收员可修改地址 / 时间;预计上门时间跟踪功能;已完成订单支持查看 “回收品类 / 重量” 详情,同时保留星级评分 + 文字评价功能,兼顾透明度与隐私保护。

(二)需求规格书改进

新增核心功能模块:

  • 信息透明与公益模块:价格标准、处理流程、环保成果展示,公益活动宣传与参与入口。
  • 订单管理优化模块:明确订单操作约束规则,新增回收进度跟踪(实时位置、预计时间)、订单详情查看功能,完善评价体系。
  • 细分场景下单模块:个人回收、高校旧教材回收、高校宿舍批量回收、企业批量 / 定期回收的差异化流程设计,补充选填功能(照片上传)与必填信息(发票信息、联系人)。

(三)场景参考(User Story)

李同学是某高校大四学生,毕业季宿舍堆积了大量旧教材、塑料瓶和闲置衣物,之前找回收商要么价格混乱,要么上门时间不固定,排队等半天。使用本小程序后,他打开 “高校专区”,选择 “毕业季批量预约”,勾选 “旧教材 + 宿舍废品”,填写宿舍楼号和期望回收时段(次日 14:00-16:00),提交后立即收到预约成功通知,显示当前该时段仅 3 人预约。同时,他通过 “价格公示” 查看旧教材回收价为 1.5 元 / 公斤,确认无异议后,在回收员上门时,通过小程序实时查看称重数据(教材 8 公斤、衣物 5 公斤),自动计算总价 20.5 元,直接到账余额。回收完成后,他在订单页给回收员评价,整个流程仅用 5 分钟,彻底解决了毕业季回收的繁琐问题。

(四)核心功能四象限分析:

**重要且紧急象限(Alpha阶段必选功能) ** 重要不紧急象限(Beta阶段重点功能)
1. 微信一键登录(含用户类型选择);2. 个人 / 高校 / 企业基础下单功能;3. 价格公示模块;4. 订单状态跟踪;5. 基础地址管理 1. 高校毕业季批量预约与时段分配算法;2. 企业定期回收计划管理与提醒;3. 回收重量实时上传与数据同步;4. 环保成果统计可视化(碳减排量、资源回收量图表);5. 多端数据同步(小程序 + 回收员端 + 管理员端)
紧急不重要象限(Beta阶段可选功能) 不重要不紧急象限(后期迭代功能)
1. 积分兑换(回收金额可兑换环保周边);2. 回收员评价与评分;3. 消息通知自定义(短信 / 小程序模板消息);4. 回收品类知识库(如何分类、回收价值) 1. 回收路线智能规划(基于多订单地址优化);2. 人脸识别确认回收(防止冒领);3. 第三方支付接口集成(除余额外支持微信支付);4. 多语言适配(针对外籍师生 / 企业用户)

(五)开发的任务分解以及项目进度计划

WBS 总体结构(按功能分解)

WBS-1 需求与文档维护

  • WBS-1.1 需求反馈整理与更新
    WBS-1.2 需求规格说明书修订
    WBS-1.3 用例 & User Story 补充

WBS-2 系统设计

  • WBS-2.1 系统架构设计(分层 + 模块划分)
    WBS-2.2 数据库概念结构设计(ER 图)
    WBS-2.3 数据库逻辑结构设计(表结构 + 约束)

WBS-3 后端开发

  • WBS-3.1 用户与身份模块:微信登录授权接口、用户身份信息存储接口、个人中心信息查询/更新接口
    WBS-3.2 地址管理模块:地址新增接口、地址列表查询接口、地址修改接口、地址删除接口
    WBS-3.3 垃圾分类模块:分类详情查询接口
    WBS-3.4 下单回收模块:个人订单创建接口、高校旧教材订单创建接口、高校宿舍批量订单创建接口、企业定期回收订单创建接口
    WBS-3.5 订单管理模块:订单列表查询接口、订单详情查询接口、订单信息修改接口、订单取消接口、订单复用(再来一单)接口
    WBS-3.6 价格管理模块:回收价格新增/修改接口、价格按用户类型查询接口等
    WBS-3.7 通知触发模块:订单状态变更提醒接口、企业定期计划到期提醒接口

WBS-4 前端开发(微信小程序)

  • WBS-4.1 公共布局与路由
    WBS-4.2 登录 / 个人中心页面
    WBS-4.3 价格公示页面
    WBS-4.4 下单回收页面(个人 / 高校 / 企业)
    WBS-4.5 订单管理页面
    WBS-4.6 高校毕业季批量预约页面
    WBS-4.7 企业定期回收页面
    WBS-4.8 管理员后台页面(价格 / 时段管理)

WBS-5 数据库与测试

  • WBS-5.1 初始化数据库脚本(DDL + 测试数据)
    WBS-5.2 单元测试(后端核心业务)
    WBS-5.3 接口测试(Postman)
    WBS-5.4 场景 / 功能测试(完整流程)
    WBS-5.5 测试报告与缺陷跟踪

WBS-6 项目管理与集成

  • WBS-6.1 每日 Scrum 记录与任务跟踪
    WBS-6.2 版本控制(Git 分支策略)
    WBS-6.3 Alpha 阶段集成与部署

项目周次进度计划对齐
结合团队作业计划,第 12-15 周的核心任务安排如下:

第 12周:以设计完善、后端与数据库搭建为主

  • 完成系统架构设计与数据库表结构的确定
  • 搭建 Flask 项目骨架并完成数据库连接
  • 初步实现用户模块的登录、身份信息收集接口
  • 初始化数据库表结构与测试数据

第 13 周:推进前后端联调,完成核心功能基础

  • 开发完成核心下单模块、地址管理模块的后端接口
  • 实现对应模块的前端页面(价格公示页、下单回收页)
  • 对已开发接口进行 Postman 接口测试

第 14 周:完善业务模块,补充通知逻辑

  • 完成订单管理、高校毕业季专项模块的后端接口
  • 开发对应模块的前端页面(订单管理页、高校批量预约页)
  • 实现通知模块的订单提醒、定期计划提醒核心逻辑

第 15 周:收尾企业模块,完成集成测试与部署

  • 开发企业定期回收模块的后端接口与前端页面
  • 开展完整回收流程的场景 / 功能测试
  • 修复测试中发现的缺陷,完成集成与部署
  • 编写项目小结

二、系统设计

结合环保回收小程序的业务需求,参考场馆预约系统的设计框架,采用B/S 架构 + 前后端分离 + 分层设计的模式,从总体架构、模块划分、数据库设计三个核心维度完成系统设计,确保架构清晰、模块职责明确、数据存储合理。

2.1 总体架构概览

本系统采用B/S 架构 + 前后端分离 + 分层设计,主要划分为三层,适配微信小程序的运行特性与环保回收的业务场景:

表示层(Presentation Layer)
技术栈: UniApp
运行环境:微信客户端(小程序容器)。
职责:展示回收业务页面、处理用户交互(如下单、预约)、调用后端 REST API、封装请求 / 响应逻辑。

业务逻辑层(Business Layer)
技术栈:JAVA+Springboot+RESTful API。
职责:实现核心业务规则(价格计算、校园时段分配、订单状态流转等),封装业务接口,处理权限与身份校验。

数据访问层(Data Access Layer)
技术栈:MySQL + SQLAlchemy(或原生 SQL)。
职责:数据持久化,负责回收业务相关表结构定义、数据查询与事务控制(如订单创建、价格更新)。

2.2 模块划分与接口说明

结合环保回收小程序的核心业务,目前大致分为以下五个模块,以下是各个模块的功能定位与主要接口。

(1)用户与身份模块
功能定位:处理用户登录、信息查询与更新,匹配图片中 “个人中心接口” 需求。

请求方式 接口路径 接口说明
GET /user/center/info 获取当前用户信息(含昵称、头像、身份类型、扩展信息等)
PUT /user/center/info 更新用户信息(如修改昵称、补充高校 / 企业身份信息)

(2)地址管理模块
功能定位:处理用户地址的新增、删除、修改、默认设置
核心接口

请求方式 接口路径 接口说明
POST /address/create 新增用户收货地址(需传入地址标签、详细地址、联系人、手机号等)
GET /address/list 获取当前用户的所有收货地址列表(含默认地址标识、经纬度等)
PUT /user/center/addresses 修改已有的收货地址(支持修改详细地址、联系人、手机号等)
DELETE /user/center/addresses/ 删除指定 ID 的收货地址(需校验地址归属,仅本人可删除)
POST /address/default/ 将指定 ID 的地址设为默认地址(自动取消原默认地址)

(3)垃圾分类模块
功能定位:提供回收品类的层级查询(一级 / 二级分类),匹配垃圾分类管理需求。
核心接口:

请求方式 接口路径 接口说明
GET /category/top 获取所有一级回收分类(如 “塑料”“废纸”“旧教材”,仅展示启用状态)
GET /category/{parentId}/sub 根据一级分类 ID(parentId)获取对应的二级分类(如 “塑料”→“塑料瓶”)
GET /category/ 根据分类 ID 获取分类详情(含分类名称、父级 ID、排序序号、启用状态)

(4)下单回收模块
功能定位:处理多类型订单创建,覆盖个人订单、校园订单接口,同时补充企业订单功能。
核心接口:

请求方式 接口路径 接口说明
POST /order/personal 个人用户创建回收订单(需关联地址 ID、选择分类、填写预约时间、上传物品图片)
POST /campus0rder/textbook 高校用户创建旧教材回收订单(需关联学校、宿舍楼、预约时段)
POST /campus0rder/dormitory 高校用户创建宿舍批量回收订单(支持多品类批量提交,关联宿舍楼信息)
POST /api/enterprise/regular 企业用户创建定期回收订单(设置回收周期、预约时间、预估重量)

(5)订单管理模块
功能定位:处理订单查询、修改、取消、“再来一单”,覆盖所有订单管理接口。
核心接口:

请求方式 接口路径 接口说明
GET /order/list 获取当前用户的所有订单列表(默认展示所有状态,支持按状态筛选)
GET /manage/order/manage/list 分页查询用户订单列表(支持按订单状态、创建时间范围筛选)
GET /manage/order/detail/ 获取指定订单的详情(含物品明细、地址信息、回收员信息、订单状态等)
PUT /manage/order/modify/ 修改订单信息(仅支持未分配回收员的订单,可修改预约时间、地址)
POST /order/cancel/ 取消指定订单(需校验订单状态,仅 “待上门” 状态可取消)
POST /manage/order/repeat/ “再来一单” 功能(复用原订单的地址、分类信息,快速创建新订单)

2.3 数据库设计

实体与字段设计

(1)用户表(user)- 所有身份用户统一存储
核心设计:仅保留微信授权与身份共性字段,差异信息通过extended_info(JSON)存储,避免表结构冗余。

字段名 类型 说明 约束
id bigint 用户唯一主键 AUTO_INCREMENT、PRIMARY KEY
openid varchar(255) 微信授权唯一标识(用户在当前小程序 / 公众号的唯一 ID,登录核心) UNIQUE、NOT NULL
unionid varchar(255) 微信跨平台唯一标识(同一用户在微信生态不同产品的通用 ID,可选) UNIQUE、DEFAULT NULL
nickname varchar(100) 微信昵称(同步微信授权信息,无需用户手动填写) DEFAULT NULL
avatar_url varchar(500) 微信头像 URL(同步微信授权信息,支持直接访问) DEFAULT NULL
identity_type tinyint 身份类型(1 - 个人用户、2 - 高校用户、3 - 企业用户,区分身份的核心标识) NOT NULL、DEFAULT 1
school_name varchar(100) 高校用户共性字段(仅identity_type=2时填写,便于按学校筛选用户) DEFAULT NULL
department varchar(100) 高校用户共性字段(院系 / 部门,仅identity_type=2时填写) DEFAULT NULL
extended_info json 不同身份的差异信息(JSON 格式,存非共性字段,避免表膨胀) DEFAULT NULL
created_at datetime 注册时间(首次微信授权登录时间) DEFAULT CURRENT_TIMESTAMP
last_login_at datetime 最后登录时间(每次微信授权登录时更新) DEFAULT NULL
is_active boolean 账号状态(true = 正常,false = 禁用,软删除替代物理删除) -
xtended_info JSON 示例:
个人用户:{"street_address": "北京市海淀区中关村大街1号"}
高校用户:{"role": "学生", "dormitory": "3号楼2单元101室"}
企业用户:{"company_name": "北京绿色回收科技有限公司", "credit_code": "91110108********XY"}

(2)地址表(user_address)- 支持多地址存储

核心设计:通过user_id关联用户,实现 “1 用户→N 地址”,字段贴合回收员上门定位场景。

字段名 类型 说明 约束
id bigint 地址唯一主键 AUTO_INCREMENT、PRIMARY KEY
user_id bigint 关联用户 ID(外键,确保地址归属) NOT NULL、FOREIGN KEY REFERENCES user(id) ON DELETE CASCADE
address_label varchar(50) 地址标签(区分多地址,如 “家”“公司”“学校”,用户可自定义) NOT NULL
detail_address text 详细地址(如 “XX 小区 3 号楼 2 单元 501 室”,便于回收员上门定位) NOT NULL
contact_name varchar(50) 联系人姓名(可能与用户昵称不同,如 “张三(家人代收)”) NOT NULL
contact_phone varchar(20) 联系人手机号(地址专属电话,避免依赖用户核心手机号) NOT NULL
location json 经纬度(JSON 格式:{"lat":39.9042,"lng":116.4074},用于地图导航) DEFAULT NULL
is_default boolean 是否默认地址(用户可设 1 个默认地址,下单时自动选中,减少操作) DEFAULT false
created_at datetime 地址创建时间 DEFAULT CURRENT_TIMESTAMP
updated_at datetime 地址修改时间(更新地址时自动更新,便于追踪变更记录) -

(3)订单表(order)- 多类型订单统一存储

核心设计:用address_id关联地址表(替代 JSON 存完整地址),extended_order_info(JSON)存储订单差异信息,优化数据冗余

字段名 类型 说明 约束
id bigint 订单唯一主键 AUTO_INCREMENT、PRIMARY KEY
order_no varchar(50) 订单编号(如 “ORD20240916001”,唯一标识,便于用户查询) UNIQUE、NOT NULL
user_id bigint 关联用户 ID(外键,绑定下单用户) NOT NULL、FOREIGN KEY REFERENCES user(id)
address_id bigint 关联地址 ID(外键,复用地址表数据,避免重复存储地址) NOT NULL、FOREIGN KEY REFERENCES user_address(id)
order_type tinyint 订单类型(1 - 个人回收、2 - 旧教材回收、3 - 宿舍批量回收、4 - 企业批量回收、5 - 企业定期回收) NOT NULL
status tinyint 订单状态(1 - 待上门、2 - 回收中、3 - 已完成、4 - 已取消) NOT NULL、DEFAULT 1
items json 回收物品明细(JSON 数组,存品类、数量、单位,如塑料瓶 10 个) NOT NULL
scheduled_time datetime 预约回收时间(用户选择的上门时间,如 “2024-09-18 14:00:00”) NOT NULL
images json 物品图片 URL 列表(JSON 数组,用户上传的物品照片,用于回收员核验) DEFAULT NULL
collector_id bigint 关联回收员 ID(外键,分配回收任务后填写) DEFAULT NULL、FOREIGN KEY REFERENCES collector(id)
extended_order_info json 订单差异信息(JSON 格式,存不同类型订单的特有字段) DEFAULT NULL
created_at datetime 订单创建时间 -

JSON 示例:

- 个人回收订单(order_type=1):
items:[{"category_id":2,"category_name":"塑料瓶","quantity":10,"unit":"个"},{"category_id":5,"category_name":"旧报纸","quantity":2,"unit":"公斤"}]
extended_order_info:{}
- 企业定期回收订单(order_type=5):
items:[{"category_id":8,"category_name":"办公废纸","quantity":50,"unit":"公斤"}]
extended_order_info:{"invoice_info":{"title":"北京绿色回收科技有限公司","tax_number":"91110108********XY"},"plan_info":{"cycle":"每月","total_times":12,"next_time":"2024-10-18 10:00:00"}}

(4)分类表(category)- 回收品类管理

核心设计:支持二级分类(通过parent_id关联),控制分类展示顺序与启用状态。

字段名 类型 说明 约束
id bigint 分类主键 AUTO_INCREMENT、PRIMARY KEY
name varchar(50) 分类名称(如 “塑料”“废纸”“旧教材”) NOT NULL
parent_id bigint 父级分类 ID(用于二级分类,如 “塑料瓶” 的父级是 “塑料”,null= 一级分类) DEFAULT NULL、FOREIGN KEY REFERENCES category(id)
sort int 排序序号(控制分类展示顺序,数字越小越靠前) DEFAULT 0
is_active boolean 是否启用(true = 展示给用户,false = 隐藏) DEFAULT true
created_at datetime 分类创建时间 DEFAULT CURRENT_TIMESTAMP

(5)订单评价表(order_rating)- 用户对回收员的评价

核心设计:绑定订单与回收员,确保评价唯一性(1 个订单仅 1 条评价),支持评分与文字反馈。

字段名 类型 说明 约束
id bigint 评价主键 AUTO_INCREMENT、PRIMARY KEY
order_id bigint 关联订单 ID(外键,绑定评价对应的订单,唯一) UNIQUE、NOT NULL、FOREIGN KEY REFERENCES order(id)
user_id bigint 关联用户 ID(外键,绑定评价用户) NOT NULL、FOREIGN KEY REFERENCES user(id)
collector_id bigint 关联回收员 ID(外键,绑定被评价回收员) NOT NULL、FOREIGN KEY REFERENCES collector(id)
rating tinyint 评分(1-5 星,1 = 最差,5 = 最好) NOT NULL、CHECK(rating BETWEEN 1 AND 5)
comment text 文字评价(用户对回收员的具体评价,如 “服务态度好,上门准时”) DEFAULT NULL
created_at datetime 评价提交时间 DEFAULT CURRENT_TIMESTAMP

三、Alpha分配计划

假设 Alpha 冲刺周期为 4 周(28天)

(一)Product Backlog(Alpha 阶段待实现功能项)

模块 功能项 依赖关系
1. 用户模块 1.1 微信一键登录(含用户类型选择)
1.1 微信一键登录(含用户类型选择
1.2 身份信息收集(学校名称 / 企业信用代码) 1.1
1.3 个人中心基础功能(余额 / 积分展示) 1.1、1.2
2. 核心下单模块 2.1 个人用户下单(品类选择 / 地址 / 时间预约)
2.2 高校基础下单(旧教材回收 / 宿舍回收) 1.2
2.3 企业基础下单(批量回收预估) 1.2
3. 价格公示模块 3.1 回收价格数据库设计
3.2 价格展示页面开发 3.1
4. 订单管理模块 4.1 订单状态分类展示 2.1、2.2、2.3
4.2 订单修改 / 取消功能 4.1
4.3 重量明细与总价计算 2.1、2.2、2.3
5. 高校毕业季专项模块 5.1 批量预约功能 2.2
5.2 回收时段分配 5.1
6. 企业定期回收模块 6.1 周期设置与提醒 2.3
6.2 计划表导出 6.1
6.3 环保成果统计 6.1

(二)Sprint Backlog(任务分解与认领)

开发人员:1:林欣然 2:周诗涵 3:周纯微 4:陈文婉 5:李思淇

功能项 子任务 预估时间 任务类型 认领人 依赖子任务
1.1 微信一键登录 1.1.1 前端微信授权组件开发 4 小时 前端 4
1.1.2 前端用户类型选择弹窗开发 3 小时 前端 4 1.1.1
1.1.3 后端微信登录接口开发(含用户类型存储) 5 小时 后端 1
1.1.4 前后端联调与登录验证 2 小时 前后端 1、4 1.1.1、1.1.3
1.2 身份信息收集 1.2.1 前端差异化表单开发(高校 / 企业) 5 小时 前端 5 1.1.4
1.2.2 后端信息校验与存储接口开发 4 小时 后端 2 1.1.3
1.2.3 前后端联调 2 小时 前后端 5、2 1.2.1、1.2.2
1.3 个人中心基础功能 1.3.1 前端个人中心页面开发(余额 / 积分展示) 4 小时 前端 4 1.2.3
1.3.2 后端用户余额 / 积分查询接口开发 3 小时 后端 3 1.2.2
1.3.3 前后端联调 1 小时 前后端 4、3 1.3.1、1.3.2
3.1 回收价格数据库设计 3.1.1 价格表结构设计(按用户类型 / 品类) 4 小时 后端 1
3.1.2 价格数据初始化 2 小时 后端 2 3.1.1
3.2 价格展示页面开发 3.2.1 前端价格展示页面开发 4 小时 前端 5 3.1.2
3.2.2 后端价格查询接口开发 3 小时 后端 3 3.1.1
3.2.3 前后端联调 1 小时 前后端 5、3 3.2.1、3.2.2
3.3 价格趋势查询功能 3.3.1 前端趋势图表组件开发 4 小时 前端 4、5 3.2.3
3.3.2 后端趋势数据统计接口开发 3 小时 后端 1、2、3 3.1.1
3.3.3 前后端联调 1 小时 前后端 1、4 3.3.1、3.3.2
2.1 个人用户下单 2.1.1 前端下单页面开发(品类 / 地址 / 时间) 6 小时 前端 4、5
2.1.2 后端下单接口开发 5 小时 后端 1、2、3 3.1.1
2.1.3 前后端联调 2 小时 前后端 2、5 2.1.1、2.1.2
2.2 高校基础下单 2.2.1 前端旧教材 / 宿舍回收下单页面开发 5 小时 前端 4、5 1.2.3
2.2.2 后端高校下单接口开发 4 小时 后端 1、2、3 1.2.2、3.1.1
2.2.3 前后端联调 2 小时 前后端 3、4 2.2.1、2.2.2
2.3 企业基础下单 2.3.1 前端企业批量回收下单页面开发 5 小时 前端 4、5 1.2.3
2.3.2 后端企业下单接口开发 4 小时 后端 1、2、3 1.2.2、3.1.1
2.3.3 前后端联调 2 小时 前后端 1、5 2.3.1、2.3.2
4.1 订单状态分类展示 4.1.1 前端订单列表页面开发(按状态分类) 5 小时 前端 4、5 2.1.3、2.2.3、2.3.3
4.1.2 后端订单查询接口开发 4 小时 后端 4、5 2.1.2、2.2.2、2.3.2
4.1.3 前后端联调 2 小时 前后端 1、5 4.1.1、4.1.2
4.2 订单修改 / 取消功能 4.2.1 前端修改 / 取消按钮开发与逻辑 3 小时 前端 4、5 4.1.3
4.2.2 后端订单修改 / 取消接口开发 3 小时 后端 3 4.1.2
4.2.3 前后端联调 1 小时 前后端 3、5 4.2.1、4.2.2
4.3 重量明细与总价计算 4.3.1 前端明细展示组件开发 3 小时 前端 4、5 4.1.3
4.3.2 后端总价计算逻辑与接口开发 4 小时 后端 2 2.1.2、3.1.1
4.3.3 前后端联调 1 小时 前后端 1、4 4.3.1、4.3.2
5.1 高校批量预约功能 5.1.1 前端批量预约页面开发 4 小时 前端 4、5 2.2.3
5.1.2 后端批量预约接口开发 4 小时 后端 1、2、3 2.2.2
5.1.3 前后端联调 2 小时 前后端 2、4 5.1.1、5.1.2
5.2 回收时段分配 5.2.1 前端时段选择组件开发 3 小时 前端 4、5 5.1.3
5.2.2 后端时段分配算法与接口开发 5 小时 后端 3 5.1.2
5.2.3 前后端联调 2 小时 前后端 3、4 5.2.1、5.2.2
6.1 周期设置与提醒 6.1.1 前端周期设置页面开发 4 小时 前端 4、5 2.3.3
6.1.2 后端周期逻辑与提醒接口开发 5 小时 后端 1 2.3.2
6.1.3 前后端联调 2 小时 前后端 1、4 6.1.1、6.1.2
6.2 计划表导出 6.2.1 前端导出按钮与逻辑开发 3 小时 前端 4、5 6.1.3
6.2.2 后端 Excel 导出接口开发 4 小时 后端 2 6.1.2
6.2.3 前后端联调 1 小时 前后端 2、5 6.2.1、6.2.2
6.3 环保成果统计(基础版) 6.3.1 前端统计展示页面开发 3 小时 前端 4、5 6.1.3
6.3.2 后端统计数据接口开发 3 小时 后端 1、2、3 6.1.2
6.3.3 前后端联调 1 小时 前后端 全员 6.3.1、6.3.2

(三)Alpha 阶段迭代冲刺甘特图

image

四、测试计划

测试不是在所有的开发工作完成之后才进行,而是与开发几乎同步进行的。因此,我们在 Alpha 阶段就给出整体测试计划,并在开发迭代中不断调整

(一)项目概述与基础

1.1 项目背景
环保回收小程序聚焦个人、高校、企业三大核心场景,解决环保回收行业场景适配不足、操作流程繁琐、信息不透明等痛点,提供便捷下单、精准匹配、透明追溯的回收服务。为保障小程序功能可用性、稳定性与用户体验,特制定本测试计划,指导全流程测试工作有序开展。

1.2 测试术语

  • 黑盒测试:不关注系统内部实现,仅通过输入输出验证功能是否符合需求;
  • 功能测试:验证系统功能是否满足需求规格说明书中的描述;
  • 兼容性测试:验证小程序在不同微信版本、不同设备上的运行效果;
  • 性能测试:测试系统响应速度、并发处理能力等性能指标;
  • 缺陷:系统功能、性能等不符合需求或影响用户使用的问题;
  • 回归测试:修复缺陷后,验证相关功能是否正常,未引入新问题。

1.3测试计划编写6要素?(5W1H)

why——为什么要进行这些测试;

what—测试哪些方面,不同阶段的工作内容;

when—测试不同阶段的起止时间;

where—相应文档,缺陷的存放位置,测试环境等;

who—项目有关人员组成,安排哪些测试人员进行测试

how—如何去做,使用哪些测试工具以及测试方法进行测试。

(二)任务概述

2.1 测试范围

(1)功能测试范围

  • 用户模块:微信一键登录、用户身份信息收集与校验、个人中心数据展示;
  • 价格公示模块:回收价格列表展示、价格趋势查询、不同用户类型价格过滤;
  • 下单回收模块:个人 / 高校 / 企业下单流程、高校毕业季批量预约、企业批量回收预约;
  • 订单管理模块:订单列表展示(按状态分类)、订单修改 / 取消、订单详情与明细展示;
  • 高校毕业季专项模块:批量预约时段分配、回收点信息展示;
  • 企业定期回收模块:定期计划创建、计划表导出、环保成果统计展示;
  • 异常处理:订单取消规则执行、重量争议处理、发票申请异常处理。

(2)非功能测试范围

  • 性能测试:页面加载时间(≤2 秒)、订单提交响应时间(≤1 秒)、支持同时在线用户≥500 人;
  • 兼容性测试:主流微信版本(近 3 个版本)、不同机型(iOS/Android 各主流品牌)的适配;
  • 安全性测试:用户 Token 校验、敏感信息加密存储、接口防非法调用、评价内容敏感词过滤;
  • 易用性测试:核心操作(下单、查询)三步内完成,界面简洁直观,适配不同年龄段用户。

2.2 测试目标

  • 1.验证小程序所有核心功能符合需求规格说明书,无严重缺陷;
  • 2.确保系统性能满足要求,页面加载、订单提交等操作响应迅速;
  • 3.保障小程序在不同环境、不同设备上稳定运行,兼容性良好;
  • 4.提升用户体验,确保操作流程简洁,信息展示清晰;
  • 5.发现并提交系统潜在缺陷,协助开发团队修复,降低上线风险;
  • 6.出具完整测试报告,为项目上线提供决策依据。

2.3 测试核心工作内容

  • 测试需求分析:梳理各模块测试要点,明确测试优先级;
  • 测试用例设计:针对功能点设计覆盖正常场景、异常场景的测试用例;
  • 测试环境搭建:配置小程序测试环境、数据库测试环境、接口调试工具;
  • 测试执行:按计划执行功能测试、性能测试、兼容性测试等;
  • 缺陷管理:提交缺陷报告,跟踪缺陷修复进度,组织回归测试;
  • 测试总结:整理测试结果,出具测试报告,总结测试过程中的问题与经验。

(三)测试策略

3.1 测试人员需求及分工

测试人员 分工 负责模块
测试负责人(许潆之) 制定测试计划,设计核心模块测试用例,审核测试用例,组织缺陷评审,执行功能测试、兼容性测试 全模块
测试辅助人员(方馨) 辅助设计测试用例,辅助编写测试报告 用户模块、订单管理模块

3.2 测试方法

  • 功能测试:以黑盒测试为主,模拟用户实际操作场景,验证功能正确性;关键流程(如下单、支付相关)补充场景测试,覆盖不同用户类型、不同操作路径;
  • 性能测试:使用 JMeter 工具模拟多用户并发访问,测试系统响应时间与并发处理能力;通过微信开发者工具的性能面板,监测页面加载性能;
  • 兼容性测试:手动在不同微信版本、不同机型上执行核心功能测试用例,验证展示效果与操作流畅度;
  • 安全性测试:通过 Postman 工具模拟非法接口调用,验证 Token 校验有效性;检查敏感数据(手机号、企业信用代码)是否加密存储;
  • 易用性测试:邀请内部人员模拟不同年龄段用户,体验核心操作流程,收集使用反馈。

3.3 测试阶段计划

测试阶段 工作内容 负责人 起止时间 交付物
测试准备阶段 制定测试计划,梳理测试需求,搭建测试环境 测试负责人 第 12 周第 1-3 天 测试计划、测试环境配置文档
测试用例设计阶段 设计各模块测试用例,审核测试用例 测试负责人、测试人员 第 12 周第 4 天 - 第 13 周 测试用例集
功能测试执行阶段 执行功能测试用例,提交缺陷,跟踪缺陷修复 全体测试人员 第 14 周第 1-5 天 测试执行报告、缺陷清单
非功能测试执行阶段 执行性能、兼容性、安全性、易用性测试 测试负责人、测试人员 第 14 周同步并行 非功能测试报告
回归测试阶段 针对修复的缺陷执行回归测试,验证功能稳定性 全体测试人员 第 15 周第 1-3 天 回归测试报告
测试总结阶段 整理测试结果,编写测试总结报告 测试负责人 第 15 周第 4-5 天 测试总结报告

3.4 测试停止及恢复条件

(1)测试停止条件
核心功能测试用例执行率 100%,严重缺陷修复率 100%,主要缺陷修复率≥95%,轻微缺陷修复率≥80%;
性能指标达到需求要求(页面加载≤2 秒,订单响应≤1 秒,并发用户≥500 人);
兼容性测试无严重适配问题,不影响核心功能使用;
回归测试无新增严重缺陷,相关功能正常。

(2)测试恢复条件
缺陷修复完成,开发团队提交回归测试申请;
测试环境恢复稳定,无影响测试执行的环境问题;
需求变更或版本更新后,重新明确测试范围与测试用例,补充测试资源。

(四)测试环境

** 测试环境需求**

  • 环境独立性:测试环境与开发环境、生产环境隔离,避免相互影响;
  • 数据一致性:测试环境初始化数据与生产环境模拟数据一致,保障测试真实性;
  • 环境稳定性:服务器持续运行,网络无频繁中断,数据库定期备份;
  • 权限配置:测试人员拥有测试环境的查询、操作权限,开发人员拥有缺陷修复权限
posted @ 2025-11-20 17:25  kktl  阅读(51)  评论(0)    收藏  举报