首先要先了解被测试的对象 架构、逻辑
要模拟并尽可能接近真实发生的事情,不管是客户端、服务器还是中间件。模拟用户行为,用户数据。
纯接口测试模式:
restful协议测试基于 http的get post delete 等
webservice xml..
socket协议
Restful:大型的服务器都是分布式部署,其中有台服务器是进行负载均衡的,从外部用户请求到负载均衡服务器均匀的分给之后的多台分布式服务器。
一般分为四层,负载均衡服务器--应用服务器(收到负载均衡服务器请求后进行应用处理,再请求下一层//web服务器:nginx apche tomcat等)--缓存层(大型服务器端重要的部分,可以提高访问速度;一般存储在内存 LruCache)--数据服务层(MySQL oracle 等)
测试时需要充分了解架构。
服务器测试与UI测试相比较最大的区别是没有界面。
使用接口测试工具发起请求。
http协议:
根据接口文档进行合法测试(属于服务器端的功能测试)
服务器测试可以分为四个类型:
功能测试(输入的数据为服务器端设计规范中提到的合法数据输入及返回)
容错性数据(输入的数据都是错误的,或大型服务架构中部分服务宕机是否有影响)
性能测试(一般指负载和压力;负载:在什么并发情况下能达到最优性能;压力测试:什么负载下服务会出现大量错误)
性能测试指标:事务的平均处理时间、每秒处理的事务个数
稳定性测试:7*24小时运行不会有内存泄露等泄漏现象
服务器端测试颗粒度:
基于接口层做黑盒测试(黑盒;发送和返回数据验证,适合简单的接口系统:内部逻辑相对简单,请求数据类型较少,返回数据较标准的)
基于逻辑黑盒
+白盒的灰盒测试(接口处理比较复杂的接口:很多太服务器进行请求处理的情况(搜索引擎);需要遍历到所有服务器逻辑的分支或逻辑覆盖)概要设计或详细设计的true false的分支都覆盖到
纯白盒测试 需要基于代码覆盖率验证测试覆盖度,一般覆盖到70%的代码 投入精力高效率低
测试开始前就要准备,根据接口定义和服务实现进行开发
需要对通讯协议了解。
网友评论