项目-博客驿站测试报告

测试用例设计

功能测试

该部分主要围绕对于博客系统的增删改查, 文章通过性审核, 关注功能等进行测试, 还进行了其它一些探索性的测试.

 

以上是作者设计的全部用例.

BUG发现:

问题1: 当多端同时操作同一篇文章BUG

环境: Windows11, Edge和Chrome浏览器

复现步骤:

1.先使用Edge浏览器登入zhangsan的账号, 再使用Chrome浏览器登入同一个账号

2.使用两端同时点入同一篇文章详情(zhangsan创作的)

3.在Edge浏览器的账号中点击删除文章, 同时Chrome浏览器的账号进行刷新/点击更新操作

预期结果: Chrome浏览器中的账号也退回到主页

实际结果: Chrome浏览器中的账号显示页面没有任何信息

建议解决方案: 当文章无法获取时, 想获取文章的账户退回到主页.

问题2:同浏览器中的会话共用问题

环境: Windows11, Edge浏览器

复现步骤:

1.在Edge浏览器中登入zhangsan的账号

2.同时在这个浏览器另开一个窗口, 登入zhangsan的账号.

3.第一个窗口中点击注销账号

4.第二个窗口中随意进行操作(刷新/点击查看文章详细等)

预期结果: 第二个窗口中的账号不受影响, 仍能够继续操作.

实际结果: 第二个窗口中的账号直接退回至登录页

建议解决方案: 在同一个浏览器中登录同一个账号时, 分配不同的会话.

 其它测试用例设计

该部分针对安全性, 界面, 易用性, 性能, 兼容性, 网络等用例进行了设计

这里仅挑选网络部分来讲, 其它的就不展开了.

这里使用fiddler对于弱网环境进行测试, 主要针对2G和3G网络环境下进行测试 

利用Ctrl F在脚本中查找m_SimulateModem然后在这里设置网速即可达到改网速的效果. 

将上行速率改为3000, 下行速率改为1500(2G)

勾选Simulate Modem Speeds以进入弱网模式.

 

测试结论: 前端部分的渲染耗时10s(真的很慢), 影响用户体验, 建议优化. 

将上行速率改为20, 下行改为10模拟3G环境.

测试结论: 响应时间正常, 可以正常使用.

自动化测试

介绍:本部分针对博客系统的核心功能进行测试: 即登录/列表页/详情页/编辑页. 进行对于博客的发布(含敏感词检测), 查看, 删除, 更新, 关注, 取消关注这些主要功能进行测试.

用例设计

代码编写

代码见: Java所有代码/CTest/src/main/java/org/example/blogtest · 灰灰快醒醒/邹锦辉个人所有代码 - 码云 - 开源中国 (gitee.com)

注: 这里使用Java中Selenium + JUnit进行测试

1.根据UI用例实现脚本编写: 每一个页面一个测试类, 然后对于各个用例进行编写.

2.公共属性设计单例, 方便进行代码复用.

3.创建启动以及截图经常使用, 将它们设为公共的.

4.注意添加隐式等待, 确保页面正确显示.

设计如下:

 公共类 AutotestUtils

1.创建驱动: 保存现场截图

2.注意: 在保存截图时命名按照时间进行划分, 然后要体现出测试类的类名, 方便问题追溯

3.注意文件名动态获取, 时间格式的设置等.

4.在内部实现对于浏览器驱动的创建, 并提供创建方法.

 登录页面测试BlogLoginTest

1.创建驱动, 打开页面

2.测试页面是否正常打开

3.测试正常登录: 多参数设置

4.测试异常登录: 密码错误, 为空等

5.注意测试顺序: 利用Order注解指定

6.注意清空输入内容以进行对现场的恢复

列表页测试BlogListTest

1.测试博客列表页是否能够正常打开

2.测试列表中查看全文的跳转情况. 

3.测试未登录时的处理情况

4.也要注意测试的顺序 

编辑页测试EditBlogTest

1.查看编辑页是否能够正常打开.

2.正确发布博客: 发布成功, 滚动到底部检查情况

3.博客发布异常: 空的标题/标题含敏感词等

4.注意测试的顺序

详情页测试 BlogDetailTest

1.查看详情页是否能够正常打开

2.回到主页, 记录当前用户的信息

3.进入详情页, 如果作者名和用户名一致, 查看编辑/删除文章按钮是否存在(并点击删除按钮), 回到主页查看文章是否存在

4. 如果作者名和用户名不一致, 则查看关注/取消关注按钮是否存在. 

获取当前作者粉丝量, 点击按钮后查看粉丝量变化情况

驱动释放 

直接将一个类作为驱动释放, 放到测试套件最后即可.

测试套件

使用的是当前测试类的执行顺序.

//测试套件运行 登录 -> 博客列表页 -> 博客编辑页 -> 博客详细页 -> 关闭驱动
@Suite
@SelectClasses({BlogLoginTest.class,BlogListTest.class,BlogDetailTest.class,BlogEditTest.class})
public class runSuite {
}

 测试结果

 全部测试通过, 测试耗时较为正常.

问题:

测试详情页时页面未完全加载, 说明该部分有性能瓶颈/未添加等待. 

小结

(1)一定要关注测试用例的执行顺序问题: 使用JUnit的@TestMethodOrder(MethodOrderer.OrderAnnotation.class)配合@Order注解即可

(2)对于页面要检查到位, 如检查元素以保证页面的正确性

(3)适当添加等待, 确保页面加载后/元素出来后再进行操作.

(4)注意驱动位置: 在最后一个用例结束后关闭. 

(5)注意截图保存形式: 时间 + 截图时的类

(6)测试用例不宜过多, 能够测试大部分功能即可.

(7)注意元素的获取时机, 一定要等加载出来了再进行获取

(8)由于测试类之间是前后衔接的, 需要记得在一个用例执行后恢复现场, 方便下一个类执行.

性能测试

工具: Jmeter

目的: 针对登录, 编写并发布博客, 删除博客等功能的简单性能测试.

登录测试

1.设置http请求默认值. 设置统一的IP地址和端口号

2.创建一个线程组, 设置一个HTTP请求, 并绑定正确用户的信息.

 3.创建结果树, 发送单个请求, 验证请求是否能够发送.

发现登录成功.

4.这时我们进行负载测试, 设定这样的用户增长环境:

 观察响应时间项:

发现用户线程数量在30-40左右时响应时间较长, 达到了0.5-1秒, 但是后面响应时间又缩短了, 总体上响应时间是比较正常的.

观察TPS(每秒处理事务数):

平均大概是每秒240的事务数, 对于博客系统这个小项目来说, 这个已经是很不错的了, 不用过度调优.

以下是汇总报告:

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

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

相关文章

基于协方差信息的Massive MIMO信道估计算法性能研究

1. 引言 随着移动互联网不断发展,人们对通信的速率和可靠性的要求越来越高[1]。目前第四代移动通信系统已经逐渐商用,研究人员开始着手研究下一代移动通信系统相关技术[2][3]。在下一代移动通信系统中要求下行速率达到10Gbps,这就要求我们使…

BFS:解决多源最短路问题

文章目录 什么是多源最短路问题?1.矩阵2.飞地的数量3.地图的最高点4.地图分析总结 什么是多源最短路问题? 多源最短路问题(Multi-Source Shortest Path Problem,MSSP)是图论中的一个经典问题,它的目标是在…

支付系统的渠道路由架构设计

图解支付系统的渠道路由设计 渠道路由是引导流量路径的关键,其设计至关重要。本文详解渠道路由概念、必要性及形态,并分享一个高效实用的基于规则的渠道路由设计方案。 注:有些公司称渠道为通道,都是一个意思,为方便起…

【React】ref

概述 使用 ref 引用值 – React 中文文档 希望组件“记住”某些信息,但又不想让这些信息更新时 触发新的渲染 时,可以使用 ref 。 也就是说 ref 对象 包裹的值 React 追踪不到的,他像是用来存储组件信息的秘密“口袋”。 与 state 相同的是…

基于uni-app和图鸟UI开发上门服务小程序

一、技术栈选择 uni-app:我们选择了uni-app作为开发框架,因为它基于Vue.js,允许我们编写一次代码,发布到多个平台,包括iOS、Android、Web以及各种小程序。uni-app的丰富组件库、高效的状态管理以及便捷的预览调试功能&…

【PL理论深化】(3) MI 归纳法:归纳假设 (IH) | 结构归纳法 | 归纳假设的证明

💬 写在前面:所有编程语言都是通过归纳法定义的。因此,虽然编程语言本身是有限的,但用该语言编写的程序数量是没有限制的,本章将学习编程语言研究中最基本的归纳法。本章我们继续讲解归纳法,介绍归纳假设和…

【论文阅读】场景生成及编辑3D定位论文阅读

<div id"content_views" class"htmledit_views" style"user-select: auto;"><div class"kdocs-document"> 前置知识 归纳偏置 关于归纳偏置的理解&#xff1a;首先推荐一篇解释归纳偏置非常好的博客&#xff1a;浅谈归纳…

STM32学习 修改系统主频

前面时钟树的学习说明单片机的主频是可以修改的&#xff0c;那么怎么更改系统的主频&#xff0c;这里做一个简单的介绍。首先要明白&#xff0c;单片机的程序是如何运行&#xff0c;这里简单说明一下。 对应的代码在startup_stm32....文件里面&#xff0c;这里是复位程序的汇编…

多分类情绪识别模型训练及基于ChatGLM4-9B的评论机器人拓展

你的下一个微博罗伯特何必是罗伯特 这是一篇我在使用开源数据集(Twitter Emotion Dataset (kaggle.com))进行情绪识别的分类模型训练及将模型文件介入对话模型进行应用的过程记录。当通过训练得到了可以输入新样本预测的模型文件后&#xff0c;想到了或许可以使用模型文件对新样…

JavaScript的学习之旅之初始JS

目录 一、认识三个常见的js代码 二、js写入的第二种方式 三、js里内外部文件 一、认识三个常见的js代码 <script>//写入js位置的第一个地方// 控制浏览器弹出一个警告框alert("这是一个警告");// 在计算机页面输入一个内容&#xff08;写入body中&#xff…

【计算机网络仿真实验-实验3.1、3.2】交换路由综合实验

实验3.1 交换路由综合实验——作业1 一、实验目的 运用实验二&#xff08;可前往博主首页计算机网络专栏下查看&#xff09;中学到的知识&#xff0c;将这个图中的PC机连接起来组网并分析&#xff0c;本篇涉及代码以截图展示&#xff0c;过于简单的代码及操作不再详细介绍&…

RPC通信原理以及项目的技术选型

目录 1.引言 2、RPC通信原理 3.图示解析 4.再举个例子 1.引言 根据上一篇博客《单机&#xff0c;集群和分布式》的举的例子。 我们最终合理地通过对大型软件的合理划分&#xff0c;划分成不同模块&#xff0c;按需求&#xff08;硬件需求&#xff0c;高并发需求&#xff09…

K8S - 理解ClusterIP - 集群内部service之间的反向代理和loadbalancer

在Micro Service的治理中。 有两个很重要的点&#xff0c; 集群外部的用户/service 如何访问集群内的 入口服务(例如UI service&#xff09;集群内的service A 如何 访问 集群内的service B 为什么有上面的问题 无非是&#xff1a; 集群内的service 都是多实例的每个servic…

【区块链】区块链架构设计:从原理到实践

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 区块链架构设计&#xff1a;从原理到实践引言一、区块链基础概念1.1 区块链定义…

[系统运维|Xshell]宿主机无法连接上NAT网络下的虚拟机进行维护?主机ping不通NAT网络下的虚拟机,虚拟机ping的通主机!解决办法

遇到的问题&#xff1a;主机ping不通NAT网络下的虚拟机&#xff0c;虚拟机ping的通主机 服务器&#xff1a;Linux&#xff08;虚拟机&#xff09; 主机PC&#xff1a;Windows 虚拟机&#xff1a;vb&#xff0c;vm测试过没问题&#xff0c;vnc没测试不清楚 虚拟机网络&#xff1…

基础算法---滑动窗口

文章目录 什么是滑动窗口1.长度最小的子数组2.无重复字符的最长子串3.最大连续1的个数4.将x减到0的最小操作数5.最小覆盖子串总结 什么是滑动窗口 滑动窗口&#xff08;Sliding Window&#xff09;是一种在计算机科学中用于解决各种子数组或子字符串问题的技术。滑动窗口技术通…

【SQL每日一练】HackerRan-Basic Join-Challenges练习

文章目录 题目题析题解1.sqlserver 题目 编写一个查询来打印 hacker _ id、 name 和每个学生创建的挑战的总数。按照挑战的总数按降序对结果进行排序。如果不止一个学生创建了相同数量的挑战&#xff0c;那么按 hacker _ id 对结果进行排序。如果不止一个学生创建了相同数量的…

北京BJ90升级新款迈巴赫大连屏四座头等舱行政四座马鞍

北京BJ90升级奔驰迈巴赫头等舱行政四座大联屏的内饰效果会非常出色&#xff0c;将为车辆带来更豪华、高端的内饰氛围。以下是升级后可能的效果&#xff1a; • 科技感提升&#xff1a;奔驰的中控系统一直以来都以其先进的科技和用户友好的界面而闻名。升级后&#xff0c;北京B…

Windows Api如何创建一个快捷方式并且在开始菜单搜索到自己的应用

原文链接&#xff1a;http://cshelloworld.com/home/detail/1804473083243925504 当我们点击win10系统搜索框的时候&#xff0c;输入名称 &#xff0c;win10会帮助我们匹配到对应的应用。这里搜索框实际上就是windows系统的开始菜单。 接下来我们随便找一个应用&#xff0c;右…

湖北民族大学2024年成人高等继续教育招生简章

湖北民族大学&#xff0c;这所承载着深厚文化底蕴和卓越教育理念的学府&#xff0c;在崭新的2024年再次敞开怀抱&#xff0c;热烈欢迎有志于深化学习、提升自我的成人学员们。今年的成人高等继续教育招生&#xff0c;不仅是学校对于终身教育理念的具体实践&#xff0c;更是为广…