个人博客项目 - 测试报告


文章目录

  • 一、项目背景
  • 二、测试报告
    • 功能测试
      • 1.编写测试用例
      • 2.登录测试
      • 3.编写文章测试
      • 4.查看文章测试
      • 5.删除文章测试
      • 7.注销登录测试
    • 自动化测试
    • 性能测试
      • 1.VUG
      • 2.进行场景设计
      • 3.生成性能测试报告
  • 总结

本文开始

一、项目背景

通过学习测试相关的知识,动手实践并测试一个web项目来巩固已学知识,将知识运用起来;本项目在对一个个人博客系统进行的测试,包括功能测试、自动化测试,性能测试等。通过测试,可以发现并修复潜在的问题和漏洞,提高系统的稳定性和可靠性。

二、测试报告

1.项目名称:个人博客项目
2.测试类型:功能测试、自动化测试,性能测试等
3.测试目的:确保个人博客项目的质量和稳定性,提高用户体验
4.测试环境:
操作系统:Windows 10
浏览器:Google Chrome、360极速浏览器
数据库:MySQL
服务器:Apache Tomcat,Redis
5.测试范围
用户的注册与登录
用户的注销,删除,查询
页面显示是否完整
6.测试方法:手工测试,自动化测试

功能测试

1.编写测试用例

在这里插入图片描述

2.登录测试

输入用户名,密码,点击登录按钮

在这里插入图片描述

3.编写文章测试

点击编写文章链接,进入编辑页面

在这里插入图片描述

4.查看文章测试

点击查看按钮,显示文章内容

在这里插入图片描述

5.删除文章测试

点击删除,将最上面的 “功能测试”文章删除,显示“性能测试”文章

在这里插入图片描述

7.注销登录测试

点击注销,跳转到登录页面

在这里插入图片描述

自动化测试

点击查看,自动化测试文章

性能测试

1.VUG

使用LoadRunner进行简单的性能测试:测试注册,登录等主要功能

登录测试:

  • 设置集合点:让所有的虚拟用户执行到集合点时断在集合,满足条件后一起执行下一个步骤
  • 事务:衡量性能的重要指标,通过观察每秒事务通过数来衡量性能
  • 为了多次执行代码,复用代码,录制脚本主要在Actions

测试代码:

Action()
{
	lr_think_time(4);
	
	//设置集合点
	lr_rendezvous("rendezvous1");
	//开启事务
	lr_start_transaction("login");
	//登录页面
	web_url("login.html", 
		"URL=http://localhost:8080/login.html", 
		"Resource=0", 
		"RecContentType=text/html", 
		"Referer=http://localhost:8080/reg.html", 
		"Snapshot=t37.inf", 
		"Mode=HTML", 
		EXTRARES, 
		"Url=/img/sunflower.jpg", "Referer=http://localhost:8080/css/conmmon.css", ENDITEM, 
		"Url=/user/login?username=%E5%BC%A0%E4%B8%89&password=123", ENDITEM, 
		LAST);

	//结束事务
	lr_end_transaction("login", LR_AUTO);

	//博客列表页
	web_url("myblog_list.html", 
		"URL=http://localhost:8080/myblog_list.html", 
		"Resource=0", 
		"RecContentType=text/html", 
		"Referer=http://localhost:8080/login.html", 
		"Snapshot=t39.inf", 
		"Mode=HTML", 
		EXTRARES, 
		"Url=/img/sunflower.jpg", "Referer=http://localhost:8080/css/conmmon.css", ENDITEM, 
		"Url=/article/mylist", ENDITEM, 
		LAST);

	return 0;
}

执行结果:

在这里插入图片描述

2.进行场景设计

从VGU打开Controller,并设置并发数:

在这里插入图片描述
初始化设置:
1)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

右侧过程:

在这里插入图片描述

2)场景运行结果

在这里插入图片描述

3.生成性能测试报告

在这里插入图片描述

1)虚拟用户
作用:通过显示的虚拟用户数量可以判断出哪个时间段服务器负载最大(上图00:20 ~ 01:24负载最大)。

在这里插入图片描述

2)点击量图
作用:通过点击率可以判断出某时间段内服务器的负载。

在这里插入图片描述

3)吞吐量
吞吐量与点击数图相似:吞吐量表示的是响应返回的资源数量,先有请求再有返回

在这里插入图片描述


总结

✨✨✨各位读友,本篇分享到内容如果对你有帮助给个👍赞鼓励一下吧!!
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SkyWalking配置报警推送到企业微信

1、先在企业微信群里创建一个机器人,复制webhook的地址: 2、找到SkyWalking部署位置的alarm-settings.yml文件 编辑,在最后面加上此段配置 !!!一定格式要对,不然一直报警报不出来按照网上指导…

强化学习--多维动作状态空间的设计

目录 一、离散动作二、连续动作1、例子12、知乎给出的示例2、github里面的代码 免责声明:以下代码部分来自网络,部分来自ChatGPT,部分来自个人的理解。如有其他观点,欢迎讨论! 一、离散动作 注意:本文均以…

2023年【广东省安全员B证第四批(项目负责人)】报名考试及广东省安全员B证第四批(项目负责人)复审考试

题库来源:安全生产模拟考试一点通公众号小程序 广东省安全员B证第四批(项目负责人)报名考试是安全生产模拟考试一点通总题库中生成的一套广东省安全员B证第四批(项目负责人)复审考试,安全生产模拟考试一点…

Python开发运维:Celery连接Redis

目录 一、理论 1.Celery 二、实验 1.Windows11安装Redis 2.Python3.8环境中配置Celery 三、问题 1.Celery命令报错 2.执行Celery命令报错 3.Win11启动Celery报ValueErro错误 一、理论 1.Celery (1) 概念 Celery是一个基于python开发的分布式系统,它是简单…

redis 高可用

redis 的性能管理:redis的数据缓存在内存当中。 查看redis性能指标:info memory used_ memory:1800800 redis中数据占用的内存 used_ memory_ rss:5783552 redis向操作系统申请的内存 used_ memory_ peak: 1800800 redis使用内存的峰值。 工作有用 …

持续集成失败:hudson.plugins.git.GitException: Failed to delete workspace

持续集成环境(git gitlab jenkins pipeline maven harbor docker k8s)之前都是ok的,突然就报错了: Cloning the remote Git repository Cloning repository git192.168.117.180:qzcsbj/gift.git ERROR: Failed to clean the workspace jenkins.ut…

2023年【安全生产监管人员】考试题及安全生产监管人员找解析

题库来源:安全生产模拟考试一点通公众号小程序 安全生产监管人员考试题参考答案及安全生产监管人员考试试题解析是安全生产模拟考试一点通题库老师及安全生产监管人员操作证已考过的学员汇总,相对有效帮助安全生产监管人员找解析学员顺利通过考试。 1、…

【问题定位】通过看Mybatis源码解决系统问题

开发需求好好的,运维同事突然发现了一个问题,某个任务的详情页面加载不出来。看日志,系统在进行查询操作的时候抛出空指针异常。感觉是Mybatis内部异常,所以就跟踪源码看下Mybatis运行到哪一步报错的。 DefaultSqlSession#select…

LeetCode算法题解(动态规划)|LeetCode343. 整数拆分、LeetCode96. 不同的二叉搜索树

一、LeetCode343. 整数拆分 题目链接:343. 整数拆分 题目描述: 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入…

【Linux】-进程间通信-共享内存(SystemV),详解接口函数以及原理(使用管道处理同步互斥机制)

💖作者:小树苗渴望变成参天大树🎈 🎉作者宣言:认真写好每一篇博客💤 🎊作者gitee:gitee✨ 💞作者专栏:C语言,数据结构初阶,Linux,C 动态规划算法🎄 如 果 你 …

pyqt5的组合式部件制作(四)

对组合式部件的制作又改进了一版,组合式部件的子部件不再需要单独“提升为”,如果在模板文件的提升部件窗口内选择了“全局包含”,那么只需要在模板文件和应用文件中直接复制粘贴即可,部件的应用更为简便。如下图:按住…

docker、elasticsearch8、springboot3集成备忘

目录 一、背景 二、安装docker 三、下载安装elasticsearch 四、下载安装elasticsearch-head 五、springboot集成elasticsearch 一、背景 前两年研究了一段时间elasticsearch,当时也是网上找了很多资料,最后解决个各种问题可以在springboot上运行了…

>Web 3.0顶级干货教学:浅析区块链与货币关系

Web 3.0顶级干货教学🔥:浅析区块链与货币关系 尊重原创,编写不易 ,帮忙点赞关注一下~转载小伙伴请注明出处!谢谢 1.0 数字交易 最早一笔数字化交易 是在www.PizzaHut.com 在 1994 年产生的,但是有趣的事情…

oracle面试相关的,Oracle基本操作的SQL命令

文章目录 数据库-Oracle〇、Oracle用户管理一、Oracle数据库操作二、Oracle表操作1、创建表2、删除表3、重命名表4、增加字段5、修改字段6、重名字段7、删除字段8、添加主键9、删除主键10、创建索引11、删除索引12、创建视图13、删除视图 三、Oracle操作数据1、数据查询2、插入…

linux部署jar 常见问题

1.java -jar xxx.jar no main manifest attribute, in xxx.jar 一.no main manifest attribute, in xxx.jar 在pom.xml文件中加入&#xff1a; <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifac…

【DevOps】Git 图文详解(八):后悔药 - 撤销变更

Git 图文详解&#xff08;八&#xff09;&#xff1a;后悔药 - 撤销变更 1.后悔指令 &#x1f525;2.回退版本 reset3.撤销提交 revert4.checkout / reset / revert 总结 发现写错了要回退怎么办&#xff1f;看看下面几种后悔指令吧&#xff01; ❓ 还没提交的怎么撤销&#x…

QTableWidget——编辑单元格

文章目录 前言熟悉QTableWiget&#xff0c;通过实现单元格的合并、拆分、通过编辑界面实现表格内容及属性的配置、实现表格的粘贴复制功能熟悉QTableWiget的属性 一、[单元格的合并、拆分](https://blog.csdn.net/qq_15672897/article/details/134476530?spm1001.2014.3001.55…

Linux中的进程程序替换

Linux中的进程程序替换 1. 替换原理2. 替换函数3. 函数解释4. 命名理解程序替换的意义 1. 替换原理 替换原理 用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时,该进程的…

Vue 定义只读数据 readonly

readonly 让一个响应式数据变为 **深层次的只读数据**。 isReadonly 判断一个数据是不是只读数据。 应用场景&#xff1a;不希望数据被修改时使用。 readonly 深层次只读&#xff1a; <template><h1>reactive数据</h1><p>姓名&#xff1a;{{ info…

BUUCTF 梅花香之苦寒来 1

BUUCTF:https://buuoj.cn/challenges 题目描述&#xff1a; 注意&#xff1a;得到的 flag 请包上 flag{} 提交 密文&#xff1a; 下载附件&#xff0c;解压得到一张.jpg图片。 解题思路&#xff1a; 1、用010 Editor看了一下&#xff0c;刚开始以为是修改宽高的题&#xff…