易通博客项目测试报告

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,不能添加到全局请求信息头中,不然会作用其他的请求。
    请添加图片描述

请添加图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值