团队作业5——测试与发布
一、软件的测试过程和测试结果
在这轮测试中,我们共登记了 10 条缺陷
| 缺陷类别 | 数量 |
|---|---|
| 已修复的 Bug | 4 |
| 不能重现的 Bug | 1 |
| “产品就是这样设计的,不是 Bug” | 2 |
| “没有能力修复,将来也不打算修复” | 1 |
| “应修复但延后到下个版本” | 2 |
| 合计 | 10 |
1. 已修复的 Bug:
- 任务详情页打开缓慢:Web 端打开某任务详情时有 2–3 秒卡顿,已优化查询逻辑并发布补丁。
- 桌面端启动偶现卡死:Windows 客户端网络差时窗口无响应,已修复锁竞争问题。
- 邮件提醒重复发送:某些任务到期会收到2封相同邮件,已修复去重逻辑。
- 分类标签丢失:手动调整任务分类后刷新页面丢失标签,已修复前端状态同步。
2. 不能重现的 Bug
- WebSocket 断连重连失败:测试时偶尔出现客户端断网后不再重连,无法稳定复现。
3. “产品就是这样设计的,不是 Bug”
- 任务过期不自动移动到“已完成”:产品文档规定过期只发提醒、不强制改状态。
- 短信渠道暂未支持国际号码:当前只支持国内手机号;后续版本再考虑国际化。
4. “没有能力修复,将来也不打算修复”
- 分类引擎关键字库覆盖不足:现有规则对“会议”“报告”识别率低,目前无计划扩充。
5. “应修复但延后到下个版本”
- 桌面端暗黑模式 UI 不一致:暗黑/亮色切换时部分控件样式错位,下个版本统一改版。
- Redis 缓存过期策略未暴露配置:默认 60 s 一次刷新,应让运维可调,下版本支持。
二、场景测试
1. 不同用户使用场景
- 普通上班族:用 Web 端管理工作任务、设置提醒;偶尔在桌面端(Windows 客户端)查看实时同步的日程。
- 学生/自学者:大量“学习”分类任务,依赖分类引擎自动贴标,并通过邮件/SMS 在关键时间前收到提醒。
- 重度多端用户:在桌面端、Web 端轮流操作,对“跨端同步”一致性要求最高。
2. 用户需求与目标
- 创建/管理任务:快速录入、随时编辑、批量删除。
- 智能分类:减少手工标记成本,分类引擎应能覆盖“工作”“学习”“娱乐”等主流场景。
- 准时提醒:邮件/SMS 通知要在任务截止前 5–10 分钟内可靠送达。
- 数据一致性:任一路径的改动均需秒级同步到其它终端。
3. 功能组合满足需求
- 任务增删改查 + 分类引擎 → 保证任务列表清晰、分类准确。
- 定时提醒服务 + 邮件/SMS 推送 → 达到跨渠道、多时段准时通知。
- WebSocket 同步 + 持久化存储 → 保证 Web 端与桌面端数据实时一致。
4. 测试矩阵
| 平台 | 浏览器/环境 | 网络状况 | 最小硬件配置 |
|---|---|---|---|
| Windows 10 | Chrome/Edge 最新版 | 千兆/百兆 | 4 GB RAM,i5 CPU |
| macOS 12 | Safari 15 | Wi-Fi | 8 GB RAM,M1 CPU |
| Ubuntu 20.04 | Firefox 最新版 | 有/无代理 | 4 GB RAM,i3 CPU |
| Windows 客户端 | .NET 6 WinForms/WPF | 同上 | 同上 |
5. Alpha 发布出口条件
- 功能完整性:任务管理、分类、提醒、同步四大模块均通过核心场景测试;
- 稳定性指标:内存/CPU 占用在正常负载下 < 30%,无严重内存泄漏;
- 可靠性:邮件/SMS 推送成功率 ≥ 95%,同步延迟 < 2 秒;
- 缺陷阈值:所有“应修复且重要”Bug(优先级 P1/P2)均已修复或已确认延后,不能重现/设计型缺陷数 ≤ 3。
三、Alpha版本发布说明
ToDoList 网页端
技术栈
- 前端:HTML5, CSS3, JavaScript, JSP
- 后端:Java Servlet, JSTL
- 数据库:MySQL
- 服务器:Tomcat 9+
环境要求
- JDK 21
- MySQL 9.3.0
- Tomcat 11.0.6
部署指南
-
安装tomcat 11.0.6并解压
- tomcat官网
- 在左侧导航栏找到 "Download" 部分。点击 Tomcat 11.x
在 "Binary Distributions"(二进制发行版)下找到 Core 压缩包:Windows 用户选择 .zip 文件
Linux/macOS 用户选择 .tar.gz 文件 - Windows:解压 .zip 文件到任意目录(如 C:\tomcat)。
Linux/macOS:使用命令解压:tar -xzvf apache-tomcat-11.0.6.tar.gz - 进入解压后的 bin 目录:
Windows:双击startup.bat
Linux/macOS:运行:
./catalina.sh run
访问 http://localhost:8080 确认是否成功启动。
-
安装MySQL 9.3.0
- MySQL官网
- 下载zip文件并解压安装
- 配置环境变量:在 Path 里添加 MySQL 的 bin 目录(如 C:\mysql-8.4.0\bin)
- 详细操作可参考如何下载安装MySQL
-
数据库脚本如下
CREATE DATABASE IF NOT EXISTS user_auth; USE user_auth; SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for users -- ---------------------------- DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `id` int NOT NULL AUTO_INCREMENT, `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `email`(`email` ASC) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of users -- ---------------------------- INSERT INTO `users` VALUES (1, '456', '456@456', '123456', '2025-04-29 13:42:00'); INSERT INTO `users` VALUES (2, '123', '123@123', '123456', '2025-04-29 14:04:49'); INSERT INTO `users` VALUES (3, 'aaa', '1234@1234', '123456', '2025-04-29 18:11:55'); INSERT INTO `users` VALUES (4, 'aaa', '122@13245', '123456', '2025-04-30 14:05:28'); INSERT INTO `users` VALUES (5, '1', '1@1', '123456', '2025-04-30 14:14:16'); INSERT INTO `users` VALUES (6, '2', '2@2', '123456', '2025-04-30 14:16:49'); INSERT INTO `users` VALUES (7, '6', '6@6', '123456', '2025-04-30 14:43:57'); INSERT INTO `users` VALUES (8, '7', '7@7', '123456', '2025-04-30 14:45:45'); INSERT INTO `users` VALUES (10, '8', '8@8', '123456', '2025-04-30 14:46:38'); INSERT INTO `users` VALUES (11, '111', '123@1234', '123456', '2025-05-06 10:48:25'); SET FOREIGN_KEY_CHECKS = 1;- 将文件保存为
user_auth.sql - 打开命令行,运行
mysql -u 用户名 -p user_auth < user_auth.sql
- 将文件保存为
-
下载项目到本地,用IDEA打开项目
- 修改
src\com\example\util的DBUtil.java,将private static final String JDBC_USER = "auth_user"; private static final String JDBC_PASSWORD = "123456";的auth_user和123456修改为你自己的mysql用户名和密码
- 修改
-
在IDEA点击
运行-->编辑配置,添加tomcat服务器
运行
- 可直接在IEDA里运行
- 或将项目打包为war文件,并将war文件放置在
tomcat里的webapps下,打开bin,运行startup.bat,在浏览器输入http://localhost:8080/UserWeb_1_Web/User.jsp即可运行
桌面端
技术栈
本项目使用 C# 语言和 Windows Forms 框架开发,基于 .NET 平台。主要技术栈如下:
- 编程语言:C#
- 开发框架:Windows Forms
- 运行时环境:.NET 7.0
项目运行步骤
1. 环境准备
确保你已经安装了以下开发环境:
- Visual Studio:建议使用 Visual Studio 2022 或更高版本。
- .NET SDK:安装 .NET 7.0 。你可以从 .NET 官方下载页面 下载对应版本。
2. 打开项目
- 克隆或下载本项目到本地。
- 打开 Visual Studio。
- 在 Visual Studio 中选择
文件->打开->项目/解决方案,然后导航到项目根目录,选择ToDoList.csproj文件打开项目。
3. 编译项目
在 Visual Studio 中,选择 生成 -> 生成解决方案 或使用快捷键 Ctrl + Shift + B 编译项目。如果编译过程中没有错误,将在 bin 目录下生成可执行文件。
4. 运行项目
编译成功后,你可以通过以下两种方式运行项目:
- 在 Visual Studio 中运行:点击工具栏上的
启动按钮或使用快捷键F5启动项目。 - 手动运行可执行文件:导航到
bin/Debug/net7.0-windows或bin/Debug/net8.0-windows目录,找到ToDoList.exe文件,双击运行。
端口说明
由于本项目是基于 Windows Forms 的桌面应用程序,不涉及网络通信,因此没有使用端口。
功能说明
- 添加任务:在右侧输入任务名称、截止时间和任务描述,点击
添加按钮即可将任务添加到左侧任务列表。 - 删除任务:在左侧任务列表中选择要删除的任务,点击
删除按钮即可删除该任务。

浙公网安备 33010602011771号