背景介绍
最近,我们发起了一个在线图书管理系统的项目。我负责的一个关键模块包括三个主要后台接口:
- 实现对
books
数据的检索。 - 实施对
likes
数据的获取。 - 通过
collections
端点访问数据。
应对高流量的挑战
在设计并部署接口时,我们不可避免地需要考虑关键的问题:
- 你制作的产品会不会面临大量的访问需求?
- 你的接口和服务器是否能够处理如此高的用户访问量?
归根结底,问题是:"你的服务器和接口是否准备好应对高并发环境?"
什么是"高并发"?想象一下,假如一个地铁站只有一个出入口,能在10秒内允许10000人通过吗?
这显然是不现实的。解决方法就在于如何优化这个地铁站的出入口。
高流量模拟测试
显然,优化之后不能立即上线。在正式启动前,必须进行严格的高并发模拟测试,确保你的接口和服务器是否能抵御预期内的压力。
使用 Postman 进行压力测试
构建集合和接口
首先,在 Postman 中创建一个集合并按顺序添加以下内容:
- 获取
books
数据的接口。 - 获取
likes
数据的接口。 - 访问
collections
数据的接口。
为了确保一切正常,我们需要在Test
中加入断言检查。
pm.test('返回数据是 books', () => {
console.log(pm.response.text())
pm.expect(pm.response.text()).to.include('books')
})
发送请求后,会发现接口响应成功,所有断言检查也全部通过。
执行高并发模拟
然而,发送单个请求并不能满足我们仿真真实环境的需求。我们需要的是:
- 批量请求发送。
- 频繁的请求发送。
为此,我们需要使用 Postman 提供的Runner
功能。
接下来的步骤如下:
- 第一步:把整个集合拖拽到测试区域。
- 第二步:设置并发迭代的数量。
- 第三步:确定每次并发执行之间的延迟。
- 第四步:通过点击开始按钮来启动高并发模拟。
随后,系统会生成详细的测试结果报告:
现在我邀请你进入我们的软件测试学习交流群: 【1150305204
】,备注"入群", 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 "点赞" "评论" "收藏" 一 键三连哦!