易通博客项目测试报告

news2024/9/29 1:27:49

目录

  • 1. 项目背景
    • 1.1 测试目标
  • 2. 项目功能
  • 3.测试分类
    • 3.1 功能测试
    • 3.2 自动化测试
      • 3.2.1自动化测试遇到的问题以及解决:
      • 3.2.2 自动化测试结果
    • 3.3 性能测试
  • 4. 基于场景性能测试下遇到的一些问题
    • 4.1 解决博客id不存在的问题?
    • 4.2 添加博客请求响应失败?

1. 项目背景

  • 易通博客系统是为了更好的帮助我们去归档、总结知识和笔记,此项目是参照线上博客系统,如CSDN,来实现的,更加方便的去管理、总结重点知识,以及后续的回顾以及复习。

1.1 测试目标

  • 四个主页面测试覆率达90%,界面元素能够正常显示,功能都能够正常使用。

2. 项目功能

  • 个人博客系统采用前后端分离的方法来实现,同时使用了数据库来存储相关的数据,同时将其部署到云服务器上。前端主要有四个页面构成:登录页、列表页、详情页以及编辑页,以上模拟实现了最简单的个人博客系统。其结合后端实现了以下的主要功能:登录、编辑博客、注销、删除博客、以及强制登录等功能。

3.测试分类

3.1 功能测试

  1. 测试用例: 在这里插入图片描述测试用例100%通过

  2. 实际执行测试的部分操作截图
    输入正确的用户名和密码,点击登录:
    在这里插入图片描述编辑博客并发布:
    在这里插入图片描述
    博客列表页:
    在这里插入图片描述点击进入博客详情,进行删除博客:
    在这里插入图片描述
    确认删除成功:
    在这里插入图片描述

点击注销回到登录页:
在这里插入图片描述

3.2 自动化测试

  • 自动化测试用例:
    在这里插入图片描述

  • 自动化测试覆盖模块:登录页面、博客列表页、博客编辑页、博客详情页。

  • 自动化测试代码:

    1. 添加相关依赖到pom.xml
      在这里插入图片描述

    2. 创建测试用例类和公共类
      在这里插入图片描述

    3. 测试用例代码编写

  • 自动化代码示例: 自动化测试代码

3.2.1自动化测试遇到的问题以及解决:

  • 1、本项目中博客编辑页用的编辑器是第三方编辑器(markdown),编辑页的元素能进行查找元素是否存在、页可以进行点击,但是不能发送数据,即无法输入博客内容,会报元素不可交互异常。
  • 解决方法:由于博客内容本身就有默认内容,就不需要手动实现,只需测试标题即可。
    在这里插入图片描述
  • 2、比较常见的一个问题:在登录失败时会有个警告弹窗,此时就需要点击警告弹窗才能对页面元素进行交互,但是在自动化测试中,会报错,找不到alert。
  • 原因:自动化测试很快,弹窗还没弹出来就去找元素了。此时就需要添加一个显示等待
    在这里插入图片描述

3.2.2 自动化测试结果

测试用例个数:11个,成功通过个数10,有一个存在问题,最后也解决了成功通过。

3.3 性能测试

  • 使用 jmeter进行简单的性能测试:登录,列表页,详情页,添加博客进行场景的性能测试。
  1. 添加一个梯度压测线程组。
  2. 添加HTTP请求默认值,添加默认的协议、IP、端口号、内容编码
  3. 添加HTTP信息头管理器
  4. 添加账号密码CSV数据文件
  5. 添加登录请求,由于登录是通过token令牌验证,后续用户信息、列表页其他都需要token,所以在登录请求这里提取token。
  6. 列表页,详情页需要列表页传的blogId参数,所以在这里提取出有效的blogId。
  7. 添加详情页请求
  8. 添加上传博客请求,传递的标题和内容写在消息体数据。
  9. 添加监听器:查看结果树、聚合报告、响应时间、活跃线程、吞吐量

在这里插入图片描述

  • 梯度压测线程组
    在这里插入图片描述

  • 测试完查看监听器内容:

    1. 聚合报告:
      在这里插入图片描述

    2. 活跃线程
      在这里插入图片描述

    3. 响应时间:
      在这里插入图片描述

    4. 吞吐量
      在这里插入图片描述

  • 性能测试完成之后,把这里的jmx文件执行一遍再生成测试报告:
    -n:无图形化运行,-t 被运行的脚本,-l:将运行信息写入日志文件中,-e:生成测试报告,-o:指定报告输出目录。
    在这里插入图片描述

  • 生成的测试报告:

在这里插入图片描述
查看html生成的测试报告内容:
测试全部通过,错误为0。
在这里插入图片描述在这里插入图片描述
响应时间表:
在这里插入图片描述

4. 基于场景性能测试下遇到的一些问题

4.1 解决博客id不存在的问题?

  • 博客列表页会返回有效的博客id,添加后置处理器的JSON提取器来提取出来作为详情页的参数值。

请添加图片描述

请添加图片描述

4.2 添加博客请求响应失败?

  • 对比jmeter请求头信息和浏览器请求头信息。请添加图片描述
  • 得知content-Type不一样,先通过postman测试修改这个Content-Type,修改为jmeter中的内容格式,发现响应的结果和jmeter一样,所以在jmeter中单独给添加博客请求,添加请求信息头,修改Content-Type:Application-json,不能添加到全局请求信息头中,不然会作用其他的请求。
    请添加图片描述

请添加图片描述

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

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

相关文章

[Other]-安装ruby、ascli、ascp

最近新接到这样一个需求,将生物原始数据上传到某中心,其中用到ascp命令,阴差阳错的装了ruby、ascli,这里就都一并介绍下安装方式,由于服务器老旧默认安装时ruby2.0,又 升级到2.7等引发的一系列问题&#xf…

Anaconda与conda、pip与conda的区别

Anaconda与conda、pip与conda的区别 1. 引言1.1 背景介绍1.2 文章目的 2. 什么是Anaconda?2.1 Anaconda简介2.2 Anaconda的优势2.3 Anaconda的安装与配置 3. 什么是Conda?3.1 Conda简介3.2 Conda的功能和用途3.3 Conda与Anaconda的关系 4. 什么是Pip&…

如何将精益生产目标的设定与企业财务状况相结合?

在探讨如何将精益生产目标的设定与企业财务状况相结合时,我们首先需要明确两者的核心要素及其相互关系。精益生产,起源于丰田生产方式,旨在通过消除浪 费、持续改进和全员参与,实现生产过程的最大化效率和最小化成本。而企业财务状…

NC 寻找第K大

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 描述 有一个整数数…

Prometheus 和 Grafana 通过nginx-exporter监控nginx

在生产环境下,您已经部署了 Prometheus 和 Grafana,并希望通过它们来监控另一台 Ubuntu 20.04 上的 Nginx 服务。以下是配置步骤: 1. 安装和配置 nginx-exporter (Nginx 的 Prometheus 导出器) nginx-exporter 是 Prometheus 用来从 Nginx …

Godot《躲避小兵》实战之创建敌人

是时候创建一些玩家必须躲避的敌人了。它的行为很简单:怪物将随机生成在屏幕的边缘,沿着随机的方向直线移动。 我们将创建一个 Mob 的怪物场景,以便在游戏中独立实例化出任意数量的怪物。 节点设置 点击顶部菜单的“场景 -> 新建场景”…

C++初学(14)

14.1、while循环 和for循环相比,while循环没有初始化和更新部分,它只有测试条件和循环体。 while(text-condition)body首先程序计算圆括号内的测试条件(text-condition)表达式。如果该表达式为ture,则执行循环体中的…

短剧系统搭建:从零搭建高效创意内容平台教程,源码分享+正版片源授权指南

目录 一、短剧系统是什么? 二、短剧系统怎么搭建 技术选型 安全与性能优化 测试与部署 运营与维护 三、部分代码展示 一、短剧系统是什么? 短剧是一种采用单集时长15—30分钟的系列剧、集数在6集内的系列单元剧、20集内的连续剧、周播剧等多种形态…

Slowman - hackmyvm

简介 靶机名称:Slowman 难度:简单 靶场地址:https://hackmyvm.eu/machines/machine.php?vmSlowman 本地环境 虚拟机:vitual box 靶场IP(Slowman):192.168.130.57 windows_IP&#xff1a…

用ClouDNS注册免费永久域名

ClouDNS 免费域名创建教程 ClouDNS 是一家全球知名的托管 DNS 服务供应商,它提供的服务包括 GeoDNS、Anycast DNS 以及带有 DDoS 防护的 DNS 等。ClouDNS 提供了免费的 DNS 托管服务,其中包括单播 DNS 服务器、DNS 区域、DNS 记录、邮件转发等功能&…

matlab峰值检测

峰值检测的意义 在信号处理中,我们常常需要寻找信号的峰值,对于全局最大值,寻找起来比较容易,而对于局部峰值的寻找就需要考虑更多的条件,例如峰值的绝对幅度以及相邻峰值之间之间的间距;,我如…

笔记小结:《利用python进行数据分析》之matplotlib入门

matplotlib入门,这一篇就够了! matplotlib API入门 matplotlib的通常引入约定是: In [11]: import matplotlib.pyplot as plt 在Jupyter中运行%matplotlib notebook(或在IPython中运行%matplotlib),就可…

代码随想录算法训练营第二十二天| 回溯算法理论基础 77. 组合 216.组合总和III 17.电话号码的字母组合

目录 一、回溯算法理论基础二、LeetCode 77. 组合思路C代码 二、LeetCode 216.组合总和III思路C代码 二、LeetCode 17.电话号码的字母组合思路C代码 总结 一、回溯算法理论基础 回溯法:回溯法是一种将问题遍历的结构抽象为树形结构,在解空间树种采取深度…

vxe-selectvxe-date-picker下拉框被遮问题

解决之法&#xff1a; html: // vxe-select组件 &#xff0c;要加transfer <vxe-select:placeholder"$t(button.selects)"v-model"item.ruleParamId":options"item.options?.map(val > ({label: val.paramName, value: val.id}))"chang…

【操作系统 / 系统编程】2025 秋招超详细复习指南 - 基于 Linux 环境的全面复习 - 持续更新(目前1.7w字)

操作系统 / 系统编程复习目录 一、进程概念1. 冯诺依曼1.1 外设1.2 IO1.3 数据流1.4 存储分级 && IO效率 2. OS2.1 作用&#xff1a;管理2.2 管理&#xff1a;先描述&#xff0c;再组织2.3 内存管理、进程管理、文件系统、驱动管理 3. 进程3.1 什么是进程3.2 为什么要有…

数学建模2024国赛时间及事项安排

2024年的全国大学生数学建模竞赛即将拉开帷幕。考虑到许多同学可能是首次参与此类赛事&#xff0c;尚不清楚如何进行有效的时间安排&#xff0c;博主在此整理了以往参赛的经验和时间管理策略&#xff0c;希望能为大家提供一些有益的参考&#xff0c;更从容地应对国赛。 本届全国…

定制开发AI智能名片商城小程序:重塑品牌曝光的创新推手

摘要&#xff1a;随着移动互联网技术的飞速发展&#xff0c;小程序作为一种轻量级应用形态&#xff0c;正逐步成为企业品牌传播与商业变现的重要渠道。本文将探讨在品牌定位中&#xff0c;如何将“定制开发AI智能名片商城小程序”作为品牌曝光的核心推手&#xff0c;通过强化品…

pikachu-Cross-Site Scripting通过攻略

反射型xss(get) 第一步&#xff1a;进入先将maxlength中的20修改大一些&#xff0c;以便我们可以输入更多的字符 第二步&#xff1a;输入<script>alert(1)</script>成功爆破 反射型xss(post) 第一步&#xff1a;点击提示得到用户名和密码登录 第二步&#xff1…

轻松备份和共享照片的Circled.me

什么是 Circled.me &#xff1f; Circled.me 旨在帮助人们在自己的服务器上轻松备份和共享照片、视频、相册。注重性能、低占用空间以及易于实施和使用。支持托管社区所需的一切&#xff0c;能够进行交流和交换照片、想法等&#xff0c;实现通过群聊等方式与您的圈子分享。 软件…

电脑资料被删除怎么办?这些方法帮你轻松找回!

在日常工作和生活中&#xff0c;电脑资料的安全存储至关重要。然而&#xff0c;有时我们可能会因为误操作或其他原因不小心删除了重要资料。这时&#xff0c;我们该如何应对呢&#xff1f;本文将为你提供几种有效的恢复方法&#xff0c;帮你轻松找回被删除的电脑资料。 一、撤…