服务端测试

简介: 大家好,我是阿萨。前几天我们讲了你了解客户端测试吗?和客户端对应的就是服务器端了。那么服务器端如何测试呢?服务器端相当于一个黑盒子,我们能接触到的只有前台向后端发送的API请求。所以服务器端测试也可以理解为API测试。

看到这里,有一部分同学就会说,不对呀。我们的服务器端还有数据库交互部分,以及文件处理和它使用的三方件等功能。因为数据库可以用数据库客户端去验证数据,三方件使用前供应商已经测试过了,所以不在这次讨论的话题里。文件服务器,大部分也是通过API 交换数据的,所以我们就把今天的话题简化为如何做好API测试。


一.API测试我们以HTTP请求和响应的API为例。关于HTTP协议,请自行搜索维基百科。今天我们重点讲解下API测试。


1.从API文档哪里获取要测试的API,分析请求里的参数。如果没有文档,自行抓包分析。

2.针对不同参数设计测试用例进行测试。这里要注意异常场景一定要设计。比如空字符串,最大值,最小值,0,空等这些小参数可以挖掘开发bug的好case。

3.针对设计的测试用例,使用Postman,Jmeter,API Fox进行测试。当然也可以写一些脚本一劳永逸的去执行测试。HTTP Runner,Request,Locust等都可以很方便的写脚本去执行它。

4.定期维护执行就可以了。

5.关于API工具参数化方式以及参数依赖问题,不同工具的参数化方式不同,可以针对选择的工具查看帮助文档去进行验证使用。这些网上有很多技术文章大家自行搜索。


二.除了API测试还要进行的测试就是安全测试。有几个比较经典的安全测试场景。


1.越权,不同权限的人可访问的功能不同时,直接使用不同权限的人的token去测试API看下是否可以越权。另外针对参数中设计权限的参数,修改成高级别的角色,看下是否可以越权成功。

2.参数校验。我印象很深刻的一个内存溢出bug是参数int64的,但是开发写代码时没注意,不同地方参数设计不同。有的设计成int32位了。接口输入 最大的Int32+1,直接内存溢出了。另外大部分前端的数据校验都应该在后台也有,比如特殊字符校验等。XSS等问题也需要验证。

3.SQL注入。比如在参数里输入1=1;drop table这样的语句到参数里,看下是否可以执行成功。

4.敏感信息泄漏。返回的客户敏感信息都应该加密处理。异常信息里不应该包含SQL语句等常见问题。

5.Session和Token鉴权的时候,session ID和token 登录前后要发生变化。这个也是很关键的校验点。

6.安全验证点太多了,这里不再赘述了。


除了API测试,安全测试,性能测试也是服务器端测试里必须要关注的。这里就不展开说明性能测试了。


其他大家测试服务器端还有哪些类型的测试?



相关文章
|
Java
基于Java对STOMP服务端进行测试
在10000用户的并发下,客户端连接用时 5.5秒,500万条数据发送用时 55秒左右
461 0
|
存储 运维 Java
优酷服务端精准测试体系
优酷服务端精准测试体系
770 0
优酷服务端精准测试体系
|
消息中间件 Java RocketMQ
支付业务服务端测试|学习笔记
快速学习支付业务服务端测试
127 0
支付业务服务端测试|学习笔记
|
Web App开发 缓存 网络协议
HTTP/2服务端( nginx/tomcat)配置与测试
HTTP/2源于SPDY, 主要目标是解决HTTP 1.x的性能问题. 有别于HTTP/1.1在连接中的明文请求,HTTP/2与SPDY一样,将一个TCP连接分为若干个流(Stream),每个流中可以传输若干消息(Message),每个消息由若干最小的二进制帧(Frame)组成。这也是HTTP/1.1与HTTP/2最大的区别所在。
688 1
HTTP/2服务端( nginx/tomcat)配置与测试
|
API
测试同步服务响应是否走服务端订阅
1.通过InvokeThingService调用的 2.同步服务
173 0
测试同步服务响应是否走服务端订阅
|
9天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
48 11
|
1月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
65 3
|
2月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
80 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
3月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
268 7
Jmeter实现WebSocket协议的接口测试方法

热门文章

最新文章