在线博客系统【测试报告】

🕒 一. 项目背景

  由于纸质笔记容易丢失,携带不变,为了方便自己学习的过程中记录笔记,特开发了这个博客系统。这个系统后端采用 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.5d4.29测试完成
登录页陈涛陈涛4.28陈涛0.5d4.29测试完成
列表页陈涛陈涛4.29陈涛0.5d4.30测试完成
详情页陈涛陈涛4.29陈涛0.5d4.30测试完成
编辑页陈涛陈涛4.29陈涛0.5d4.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%通过。
  • 遗留风险:测试时间紧张,先保证了博客的主要功能没问题,可能存在细节测试不到位的风险
  • 测试结果评估:主要功能测试通过,项目可以上线。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/907505.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日刷题c++

快速幂 #include <iostream> using namespace std; #define int long long int power(int a, int b, int p) {int ans 1;while (b){if (b % 2){ans * a;ans % p; // 随时取模}a * a;a % p; // 随时取模b / 2;}return ans; } signed main() {int a, b, p;cin >> a …

Python中的变量、赋值及函数的参数传递概要

Python中的变量、赋值及函数的参数传递概要 python中的变量、赋值 python中的变量不是盒子。 python中的变量无法用“变量是盒子”做解释。图说明了在 Python 中为什么不能使用盒子比喻&#xff0c;而便利贴则指出了变量的正确工作方式。 如果把变量想象为盒子&#xff0c;那…

KVM 安装 Ubuntu 22

在 KVM 中安装 Ubuntu 22 虚拟机。 首先创建硬盘文件 sudo qemu-img create -f qcow2 /app/vms/ubuntu22.qcow2 100G安装Ubuntu 22 sudo virt-install \--name ubuntu22 \--ram 4096 \--vcpus 2 \--disk path/app/vms/ubuntu22.qcow2,formatqcow2 \--os-type linux \--os-va…

基于生产-消费模式,使用Channel进行文件传输(Tcp方式)

Client端&#xff1a; #region 多文件传输 public class FileMetadata {public string FileName { get; set; }public long FileSize { get; set; } }class Program {const int PORT 8888;const int BUFFER_SIZE 60 * 1024 * 1024;//15s-50 25s-64 33s-32 27s-50 31s-40 25…

【后端高阶面经:Elasticsearch篇】39、Elasticsearch 查询性能优化:分页、冷热分离与 JVM 调优

一、索引设计优化:构建高效查询的基石 (一)分片与副本的黄金配置 1. 分片数量计算模型 # 分片数计算公式(单分片建议30-50GB) def calculate_shards(total_data_gb, single_shard_gb=30):return max

学习路之PHP--easyswoole3.3安装入门

学习路之PHP--easyswoole安装入门 一、安装swoole扩展二、安装easyswoole三、指定PHP版本安装四、启动swoole五、EasySwoole的入门学习如果报&#xff1a;not controller class match 六、学习推荐&#xff1a; 0、centos 7、php7.2.33、easyswoole 3.3 一、安装swoole扩展 二、…

Ad Hoc

什么是 Ad Hoc&#xff1f; Ad hoc 一词源于拉丁语&#xff0c;意为“为此目的”或“为此特定原因”。一般来讲&#xff0c;它指的是为解决某一特定问题或任务&#xff08;而非为了广泛重复应用&#xff09;而设计的行动、解决方案或组合。在加密货币和区块链领域&#xff0c;…

Lines of Thought in Large Language Models

Lines of Thought in Large Language Models 《Lines of Thought in Large Language Models》(大语言模型中的思维链)聚焦于分析大语言模型(LLMs)在生成文本时,其内部向量轨迹的统计特性。 核心目标是揭示LLMs复杂的“思维过程”(即文本生成时的隐藏状态变化)能否被简…

npm/yarn/pnpm安装时Sharp模块报错解决方法

在安装依赖模块时&#xff0c;npm/yarn/pnpm安装时Sharp模块报错解决方法。 打开源代码发现&#xff1a;使用的下载地址是github地址&#xff0c;就是因为国内经常无法访问github造成的。 解决办法&#xff1a; 把涉及到的下载包设置不要从github上下载&#xff0c;设置成淘宝…

基于CEEMDAN-Transformer-BiLSTM的多特征风速气候预测的完整实现方案及PyTorch源码解析

基于CEEMDAN-Transformer-BiLSTM的多特征风速气候预测的完整实现方案及PyTorch源码解析 一、模型架构设计 1.1 整体框架 该模型采用三级架构设计&#xff08;图1&#xff09;&#xff1a; CEEMDAN分解层&#xff1a;对非平稳风速序列进行自适应分解多模态特征融合模块&#…

ubuntu24.04启用fcitx 5

在ubuntu24.04中启用fcitx 5 ubuntu24.04系统自带三种键盘输入法系统&#xff1a; IBusFcitx 5XIM 系统默认使用的是IBus,这个拼音输入少了一些智能的味道&#xff0c;比较影响输入体验。换用Fcitx 5后&#xff0c;加上搜狗细胞词库&#xff0c;感觉很丝滑&#xff0c;特记录…

【HTML/CSS面经】

HTML/CSS面经 HTML1. script标签中的async和defer的区别2. H5新特性&#xff08;1 标签语义化&#xff08;2 表单功能增强&#xff08;3 音频和视频标签&#xff08;4 canvas和svg绘画&#xff08;5 地理位置获取&#xff08;6 元素拖动API&#xff08;7 Web Worker&#xff08…

Dolphin文档解析从理论到实践——保姆级教程

论文&#xff1a;https://arxiv.org/abs/2505.14059 代码&#xff1a;github.com/bytedance/Dolphin 2025年5月&#xff0c;字节开源了文档解析Dolphin&#xff0c;让文档解析效率提升83%。本文将深入解析字节跳动最新开源的Dolphin模型&#xff0c;先看理论再实战体验。 现实…

Web3怎么本地测试连接以太坊?

ETHEREUM_RPC_URLhttps://sepolia.infura.io/v3/你的_INFURA_API_KEY 如果你没有 Infura Key&#xff0c;注册 Infura 或 Alchemy&#xff0c;拿一个免费测试网节点就行&#xff1a; Infura&#xff1a;https://infura.io Alchemy&#xff1a;Alchemy - the web3 developme…

深化生态协同,宁盾身份域管完成与拓波软件兼容互认证

在信创产业蓬勃发展的浪潮下&#xff0c;行业生态的兼容适配决定了信创产品是否好用。近日&#xff0c;宁盾身份域管与拓波软件 TurboEX 邮件系统完成兼容互认证。测试结果显示宁盾身份域管&#xff08;信创版&#xff09;与 TurboEX 邮件服务器软件相互良好兼容&#xff0c;运…

HDFS存储原理与MapReduce计算模型

HDFS存储原理 1. 架构设计 主从架构&#xff1a;包含一个NameNode&#xff08;主节点&#xff09;和多个DataNode&#xff08;从节点&#xff09;。 NameNode&#xff1a;管理元数据&#xff08;文件目录结构、文件块映射、块位置信息&#xff09;&#xff0c;不存储实际数据…

Function calling的过程

文章目录 逐段讲清 **LLM Function Calling&#xff08;函数调用&#xff09;** 的典型链路。1. 角色与概念 | Actors & Concepts2. 全流程时序 | End-to-End Sequence3. 关键细节 | Key Implementation Notes4. 最小可用示例&#xff08;伪代码&#xff09; | Minimal Exa…

GlobalExceptionHandler 自定义异常类 + 处理validation的异常

在 Spring Boot 项目中&#xff0c;​自定义异常通常用于处理特定的业务逻辑错误&#xff0c;并结合全局异常处理器&#xff08;ControllerAdvice&#xff09;统一返回结构化的错误信息。 一.全局异常处理器&#xff1a; 1. 自定义异常类​ 定义一个继承自 RuntimeExceptio…

软件测试过程中如何定位BUG

在软件测试过程中&#xff0c;定位BUG是确保软件质量的关键环节。有效的BUG定位不仅能帮助开发人员快速修复问题&#xff0c;还能提升整个软件项目的效率。以下是软件测试中定位BUG的系统性方法和策略&#xff1a; 一、复现BUG 步骤&#xff1a; 收集信息&#xff1a;记录BUG…

如何优化Elasticsearch的搜索性能?

优化 Elasticsearch 的搜索性能需要从索引设计、查询优化、硬件配置和集群调优等多方面入手。以下是系统化的优化策略和实操建议: 一、索引设计优化 1. 合理设置分片数 分片大小:单个分片建议 10-50GB(超过50GB会影响查询性能)。分片数量: 总分片数 ≤ 节点数 1000(避免…