项目-博客驿站测试报告

测试用例设计

功能测试

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

 

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

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的事务数, 对于博客系统这个小项目来说, 这个已经是很不错的了, 不用过度调优.

以下是汇总报告:

  • 30
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值