在线博客系统【测试报告】
🕒 一. 项目背景
由于纸质笔记容易丢失,携带不变,为了方便自己学习的过程中记录笔记,特开发了这个博客系统。这个系统后端采用 SpringBoot + MyBatis + SpringMVC ;前端使用Html + CSS + JS;数据库使用的是Mysql。
🕒 二. 项目主要功能介绍
本个人博客系统主要包含以下功能:注册,登录、注销、编写博客及删除博客等。
注册功能:用户通过用户名,密码,确实密码,注册成功,然后自动跳转到登录页面。
登录页面:用户输入自己注册的用户名和密码,进入到列表页。
列表页面:列表页展示了一定数量的博客摘要,包括标题、发布时间和内容概览。左侧显示已登录用户信息、文章和分类数量等。右上角包含主页、写博客和注销三项功能:主页即列表页,写博客为博客编辑页,注销则会退出用户并返回登录页面。
详情页面:在列表页点击“查看全文”会跳转至详情页,展现博客全文。右上角设有主页、写博客、删除和注销四项功能:删除可移除博客,操作后页面会返回列表页,且博客被永久删除。
写博客:登录状态下任意页面点击“写博客”将进入编辑界面,完成博客撰写并点击“发布文章”后,文章将被发布且页面会跳转至列表页。
注册页:
登录页:
列表页:
详情页:
编辑页:
🕒 三. 设计测试用例
登录模块:
列表模块:
详情模块
编辑模块
🕒 四. 主要功能模块测试
4.1 注册页面
测试场景1: 输入账号和密码,然后确认密码点击"提交"按钮
预期结果:登陆成功,跳转到博客登录页
实际结果:登陆成功,跳转到博客登录页
测试场景2:输入正确的账号,输入密码,确认密码和密码不一致点击"提交"按钮
预期结果:弹出对应提示框,提示两次密码输入不一致!请先检查!
实际结果:弹出对应提示框,提示两次密码输入不一致!请先检查!
4.2 登录页面
测试场景1: 输入正确的账号和密码,点击“登录”按钮
预期结果:登陆成功,跳转到博客列表页
实际结果:登陆成功,跳转到博客列表页
测试场景2:输入正确的账号,输入错误的密码,点击“登录”按钮
预期结果:弹出对应提示框,抱歉:登录失败!用户名或密码输入错误!
实际结果:弹出对应提示框,抱歉:登录失败!用户名或密码输入错误!
测试场景3:账号密码为空,点击“登录”按钮
预期结果:弹出对应提示框,请先输入用户名!
实际结果:弹出对应提示框,请先输入用户名!
4.3 博客列表页
测试场景:登录状态下发布一篇博客,标题为“自动化测试”
预期结果:博客列表页展示一篇标题为“自动化测试”的博客信息
实际结果:博客列表页展示一篇为“自动化测试”的博客
4.4 发布博客
测试场景1:登录状态下,输入标题,输入正文,点击“发布文章”按钮
预期结果:发布博客成功,跳转到博客列表页展示相关信息
实际结果:发布博客成功,跳转到博客列表页
测试场景2:未登录状态下,点击写博客
预期结果:跳转到登录页
实际结果:直接跳转登录页
4.5 博客详情页(正文页面)
测试场景1:登录状态下,点击“查看全文”按钮
预期结果:跳转到博客详情页
实际结果:跳转到博客详情页
测试场景2:未登录状态下,点击“查看全文”按钮
预期结果:弹出提示框,当前没有登录,请先登录
实际结果:弹出提示框,当前没有登录,请先登录
4.6 博客修改页
测试场景1:登录状态下,在博客列表页点击修改按钮
预期结果:跳转到修改页面,可以对原来的文章进行修改
实际结果:跳转到修改页面可以对原来的文章进行修改
测试场景2:未登录状态下,在博客列表页点击修改按钮
预期结果:跳转到登录页面
实际结果:跳转到登录页面
4.7 删除博客
测试场景1:登录状态下且当前博客详情是当前登录用户,点击删除.
预期结果:删除成功
实际结果:删除成功
测试场景2:未登录下,点击删除.
预期结果:弹窗提示,抱歉:操作失败
预期结果:弹窗提示,抱歉:操作失败
注销操作:
预期结果:点击注销,弹框提示,是否退出,点击确认之后,提示退出成功
预期结果:预期结果,点击注销,弹框提示,是否退出,点击确认之后,提示退出成功
🕒 五. 自动化测试
1.先创建一个Maven项目
2.在pom.xml当中引入自动化测试需要的依赖。
3.自动化测试,项目结构
详细的代码链接:https://gitee.com/chen-tao-1103-Java/java_study/tree/master/AutoTest/BlogAutoTest
🕒 六.测试报告
6.1 测试安排
模块 | 前端 | 后端 | 提测时间 | 测试 | 工时 | 排期 | 进度 |
注册页 | 陈涛 | 陈涛 | 4.28 | 陈涛 | 0.5d | 4.29 | 测试完成 |
登录页 | 陈涛 | 陈涛 | 4.28 | 陈涛 | 0.5d | 4.29 | 测试完成 |
列表页 | 陈涛 | 陈涛 | 4.29 | 陈涛 | 0.5d | 4.30 | 测试完成 |
详情页 | 陈涛 | 陈涛 | 4.29 | 陈涛 | 0.5d | 4.30 | 测试完成 |
编辑页 | 陈涛 | 陈涛 | 4.29 | 陈涛 | 0.5d | 4.30 | 测试完成 |
6.2 测试分类
6.2.1功能测试
- 测试用例,上文已给出测试用例。
- 功能测试结果:测试用例100%通过。
6.2.2自动化测试
- 自动化测试覆盖模块:注册页面,登录页面,列表页,编辑页,详情页等。
- 自动化测试代码链接:https://gitee.com/chen-tao-1103-Java/java_study/tree/master/AutoTest/BlogAutoTest
- 自动化测试用例数量:20
- 测试结果,90%通过。
- 遗留风险:测试时间紧张,先保证了博客的主要功能没问题,可能存在细节测试不到位的风险
- 测试结果评估:主要功能测试通过,项目可以上线。
相关文章:

在线博客系统【测试报告】
🕒 一. 项目背景 由于纸质笔记容易丢失,携带不变,为了方便自己学习的过程中记录笔记,特开发了这个博客系统。这个系统后端采用 SpringBoot MyBatis SpringMVC ;前端使用Html CSS JS;数据库使用的是Mysq…...

Void:免费且隐私友好的 AI 编码利器,挑战 Cursor 地位?
开发者圈儿里最近有点小激动,大家都在议论一个叫Void的开源AI代码编辑器。这家伙在GitHub上人气飙涨,短时间内就斩获了超过22.1k的星标,简直成了科技圈的新宠。它被誉为“黑马”,不仅因为它继承了大家都很熟悉的Visual Studio Cod…...

Elasticsearch的写入流程介绍
Elasticsearch 的写入流程是一个涉及 分布式协调、分片路由、数据同步和副本更新 的复杂过程,其设计目标是确保数据一致性、可靠性和高性能。以下是写入流程的详细解析: 一、写入流程总览 二、详细步骤解析 1. 客户端请求路由 请求入口:客户端(如 Java 客户端、REST API)…...

【PCB工艺】PCB设计中的基本概念
此文结合实例讲解PCB的设计流程和一些基本概念。 🧱 PCB 是什么? PCB(Printed Circuit Board)(即印制线路板) 是电子元器件的载体,是没有焊接任何器件的“裸板”。 PCB只是板子,没有焊接元件,而PCBA可以理解为焊接好元件的完成板子。 简单点说,PCB 只包含:铜线、电源…...

WPF事件处理器+x名称空间
目录 编辑 一、事件处理器知识点 1. XAML中的事件绑定 2. C#中的事件处理方法 3. 方法签名解释 4. 命名规范 工作流程 二、导入引用名称空间 三、x名称空间及其常用元素 (1)x名称空间的由来和作用 (2)x名称空间里都有…...

具身智能:OpenAI 的真正野心与未来展望
提到 ChatGPT,你对它的第一印象是什么?是担心它会威胁到工程师的工作,还是觉得它只是个会说空话的工具?或许你正在学习一些简单的教程,试图用它来建立知识库,自动化日常工作,觉得它不过如此&…...
mybatis的mapper对应的xml写法
文章目录 前置mapper 对应 xml 基础配置mapper 对应 xml 复杂配置Mapper 中的相关注解其他 前置 你使用 javamybatis/mybatis plus 如果你使用 mybatis plus,也是会向下兼容 mybatis 的 mapper 对应 xml 基础配置 <?xml version"1.0" encoding&q…...

Lyra学习笔记2 GFA_AddComponents与ULyraPlayerSpawningManagerComponent
目录 前言GameFeatureAction_AddComponentsULyraPlayerSpawningManagerComponent缓存所有PlayerStart位置选择位置 前言 1.以control模式为例 2.比较散,想单独拿出一篇梳理下Experience的流程 GameFeatureAction_AddComponents 这部分建议看 《InsideUE5》GameFeatu…...

个人健康中枢的多元化AI软件革新与精准健康路径探析
引言 人工智能技术的迅猛发展正在重塑医疗健康领域的服务模式和用户体验。随着多模态大模型、MCP协议、A2A协议和思考链算法等创新技术的出现,个人健康中枢正在经历一场深刻的软件革新。这些技术不仅打破了传统健康管理系统的信息孤岛,还通过多维度数据整合和深度推理能力,…...
使用 Redis 作为向量数据库
一、什么是向量数据库? 向量(Vector):在机器学习和 AI 中,向量是由一系列数字组成的序列,用于数值化地描述数据的特征或语义。文本、图像、音频等非结构化数据可以通过模型转换成固定长度的向量。 向量数据…...

Matlab实现LSTM-SVM时间序列预测,作者:机器学习之心
Matlab实现LSTM-SVM时间序列预测,作者:机器学习之心 目录 Matlab实现LSTM-SVM时间序列预测,作者:机器学习之心效果一览基本介绍程序设计参考资料 效果一览 基本介绍 该代码实现了一个结合LSTM和SVM的混合模型,用于时间…...
美国服务器文件系统的基本功能和命令
文件系统的核心功能是实现数据的存储与组织。美国服务器支持多种文件系统类型(如EXT4、NTFS、ZFS等),每种文件系统通过树状目录结构管理文件和文件夹,并为每个文件分配唯一标识符(如Inode或NTFS索引)。以下是具体操作步骤: 创建文件系统 使…...
开源软件协议大白话分类指南
开源软件协议分类对比表 协议类型代表协议核心规则允许/禁止操作适合场景宽松型MIT、Apache 2.0允许免费使用、修改、商用,可闭源,但需保留原作者版权声明。✅ 闭源商用 ⚠️ 必须署名快速开发商用软件(如APP、网站)强开源型GPL…...

JAVA 集合的进阶 泛型的继承和通配符
1 泛型通配符 可以对传递的类型进行限定 1.1 格式 ? 表示不确定的类型 ?extends E: 表示可以传递 E 或者 E 所有的子类类型 ?super E: 表示可以传递 E 或者 E 所有的父类类…...
机器学习与深度学习05-决策树01
目录 前文回顾1.决策树的基本原理2.构建决策树的划分准则3.决策树中如何避免过拟合4.决策树的剪枝操作 前文回顾 上一篇文章链接:地址 1.决策树的基本原理 决策树(Decision Tree)是一种用于分类和回归问题的机器学习模型。它是一个树状结构…...

下一代液晶显示底层技术与九天画芯的技术突围
一、液晶产业:撑起数字经济的显示脊梁 (一)全球显示市场的核心支柱 作为电子信息产业的战略基石,液晶显示(LCD)占据全球平板显示市场超 60% 的份额,2022 年全球市场规模达 782.41 亿元…...

[NOIP 2001 普及组] 求先序排列 Java
import java.util.*;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);String infixOrder sc.nextLine(); // 中序String postOrder sc.nextLine(); // 后序sc.close();System.out.println(preOrder(infixOrder, postOrder))…...

Rockey Linux 安装ffmpeg
1.环境准备 Rockey linux 9.2 ffmpeg 静态资源包 这个是我自己的: https://download.csdn.net/download/liudongyang123/90920340https://download.csdn.net/download/liudongyang123/90920340 这个是官网的 Releases BtbN/FFmpeg-Builds GitHub 以上两个资…...

STM32 Modbus RTU从机开发实战:核心实现与五大调试陷阱解析
知识点1【CRC校验】 CRC校验生成网址 CRC(循环冗余校验)在线计算_ip33.com 知识点2【代码演示】 代码书写思路 代码演示 main.c #include "stm32f10x.h" #include "stm32f10x_conf.h" #include "rs485.h"int main(voi…...

Python----目标检测(《Fast R-CNN》和Fast R-CNN)
一、《Fast R-CNN》 1.1、基本信息 作者:Ross Girshick 机构:Microsoft Research 发表时间:2015年 论文链接:arXiv:1504.08083 代码开源:GitHub仓库(MIT License) 1.2、主要内容 Fast R…...

iEKF的二维应用实例
如果熟悉 EKF 与卡尔曼的推导的话,iEKF 就比较容易理解,关于卡尔曼滤波的推导以及EKF,可以参考以前的文章: 卡尔曼滤波原理:https://blog.csdn.net/a_xiaoning/article/details/130564473?spm1001.2014.3001.5502 E…...
机器学习中的线性回归:从理论到实践的深度解析
一、引言 线性回归(Linear Regression)是机器学习和统计学中最基础且应用广泛的模型之一,用于预测连续型目标变量。它通过建立输入特征与输出变量之间的线性关系,实现对未知数据的预测。无论是预测房价、股票走势,还是…...

【通关文件操作(下)】--文件的顺序读写(续),sprintf和sscanf函数,文件的随机读写,文件缓冲区,更新文件
目录 四.文件的顺序读写(续) 4.8--fwrite函数 4.9--fread函数 五.sprintf函数和sscanf函数 5.1--函数对比 5.2--sprintf函数 5.3--sscanf函数 六.文件的随机读写 6.1--fseek函数 6.2--ftell函数 6.3--rewind函数 七.文件缓冲区 7.1--fflush函数 八.更新文件 &…...

mysql的Memory引擎的深入了解
目录 1、Memory引擎介绍 2、Memory内存结构 3、内存表的锁 4、持久化 5、优缺点 6、应用 前言 Memory 存储引擎 是 MySQL 中一种高性能但非持久化的存储方案,适合临时数据存储和缓存场景。其核心优势在于极快的读写速度,需注意数据丢失风险和内存占…...
尚硅谷-尚庭公寓部署文档
文章目录 整合版部署文档部署架构图1. 项目目录结构增加注释的 Dockerfile 配置(1) 后端服务1 Dockerfile (backend/service1/Dockerfile)(2) 后端服务2 Dockerfile (backend/service2/Dockerfile) Dockerfile 配置说明重要注意事项3. Nginx 配置(1) 主配置文件 (nginx/nginx.c…...
使用函数证明给定的三个数是否能构成三角形
问题描述 给定三条边,请你判断一下能不能组成一个三角形。 输入数据第一行包含一个数M,接下有M行,每行一个实例,包含三个正数A,B,C。其中A,B,C <1000; 对于每个测试实例,如果三条边长A,B,C能组成三角形的话&#x…...

【数据结构】——二叉树堆(下)
一、堆中两个重要的算法 我们前面学习了树的概念和结构,还要树的一种特殊树--二叉树,然后我们学习了堆,知道了堆分为大堆和小堆,接下来我们就使用堆来进行一个排序。 在学习我们的堆排序前,我们先详细学习一下我们堆…...

t009-线上代驾管理系统
项目演示地址 摘 要 使用旧方法对线上代驾管理系统的信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在线上代驾管理系统的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题…...
目标检测预测框置信度(Confidence Score)计算方式
预测框的置信度(Confidence Score)是目标检测模型输出的一个关键部分,它衡量了模型对一个预测框中包含特定类别对象的确定程度。 不同的目标检测模型(如Faster R-CNN、SSD、YOLO、DETR等)在计算置信度时有其特有的机制…...

【题解-洛谷】B4295 [蓝桥杯青少年组国赛 2022] 报数游戏
题目:B4295 [蓝桥杯青少年组国赛 2022] 报数游戏 题目描述 某班级男生人数为 X X X 人,女生人数为 Y Y Y 人,现全班同学围成一个圆圈,并按照顺时针方向为每名同学编号(从 1 1 1 到 X Y XY XY)。现给…...