团队作业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\utilDBUtil.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. 打开项目

  1. 克隆或下载本项目到本地。
  2. 打开 Visual Studio。
  3. 在 Visual Studio 中选择 文件 -> 打开 -> 项目/解决方案,然后导航到项目根目录,选择 ToDoList.csproj 文件打开项目。

3. 编译项目

在 Visual Studio 中,选择 生成 -> 生成解决方案 或使用快捷键 Ctrl + Shift + B 编译项目。如果编译过程中没有错误,将在 bin 目录下生成可执行文件。

4. 运行项目

编译成功后,你可以通过以下两种方式运行项目:

  • 在 Visual Studio 中运行:点击工具栏上的 启动 按钮或使用快捷键 F5 启动项目。
  • 手动运行可执行文件:导航到 bin/Debug/net7.0-windowsbin/Debug/net8.0-windows 目录,找到 ToDoList.exe 文件,双击运行。

端口说明

由于本项目是基于 Windows Forms 的桌面应用程序,不涉及网络通信,因此没有使用端口。

功能说明

  • 添加任务:在右侧输入任务名称、截止时间和任务描述,点击 添加 按钮即可将任务添加到左侧任务列表。
  • 删除任务:在左侧任务列表中选择要删除的任务,点击 删除 按钮即可删除该任务。
posted @ 2025-05-11 01:05  bugubugu!  阅读(50)  评论(0)    收藏  举报