性能测试基础——简单接口性能方案设计之实例1

发表于:2017-9-29 14:22

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:aceaoh    来源:51Testing软件测试网原创

  eg1.接口性能
  测试需求
  测试以下接口的性能
  应用服务器:192.168.10.111 linux
  接口名称:login
  访问路径:/login
  通讯协议:http
  请求数据格式:json
  请求报文体个构成:
  username:“字符串”
  password:“字符串”
  sign:“字符串”
  响应数据格式:json
  响应报文体构成:
  RespondCode:int
  RespondMsg:“文本”
  OK,首先这是一个接口的性能测试,没有具体的业务需求,只有接口的一些定义,那么这种情况下一般是在测试环境看看接口的业务处理能力,并且这里只有应用服务器的地址,没有后台数据库等其他相关服务器的地址,故表面上好像只能监控应用服务器的资源。我们下面来进行逐步的分析,制定一个测试方案和测试案例。
  测试目的:没有明确的目的要求,就是随机测试一下现有环境下的接口处理性能
  业务需求:登录接口,没有说大概的用户需求以及服务器响应时间时延等,从测试目的来看是可以一直加压知道服务器不能处理,分析进行适当的优化,即可。
  系统结构:没有说明系统的具体部署结构,那么我们有两种方式来确定系统结构,谁下达的任务可以让谁向上追溯询问被测系统的部署结构,是否与中间件?中间件用的什么?部署位置?是否有数据库?数据库是什么?部署位置?是否有外部接口调用?(不要以为一个简单的接口后面运行没有外部接口,这也是有可能的)最好是有一个部署结构图?
  需要监控所有的部署节点;拿到部署结构比如说有tomcat,有数据库mysql等等部署位置也都拿到了。开始按照自己理解的系统关系画系统数据流向图,并和相关人员确认。得到最终的系统结构关系图。
  一般性能指标确认:响应时间(2(较好)-5(一般)-8(较差,不理想)原则),CPU/IO-Wait/MEN占用(均值70%/10%/70%)等等是否可以达成一致认识。最终要达成一个一致认可的值。
  系统环境确认:应用服务器硬件设备(CPU/MEN/DISK),数据库硬件设备(CPU/MEN/DISK),操作系统的配置(最大打开文件句柄数,TCP连接数),应用服务器tomcat参数配置(内存/连接数等),数据库配置(内存/连接数/存储模式等)
  分析可能瓶颈:硬件设备的内存是多少?DISK的IO限制是多少?(后面的tomcat以及数据库的参数配置是否已经优化过?数据库是否支持异步存储?数据存储是否支持批量读写?等等,新手测试对这些不了解可以暂时不用管它,后面发现是这方面的问题再优化也可以)这一步也可以在后续的测试优化中再考虑。
  测试方案:
  (1)测试内容/目的/系统结构 设备软硬件环境等已经可以列出来了;
  (2)测试工具选择---选择一个自己比较熟悉,有较简单的工具;(比如像这种已知输入输出的接口,选择JMETER做性能测试比较容易点。)
  (3)测试监控---选择一个自己比较熟悉,能够快速使用起来的工具(比如NMON,JMETER Server-Agent插件)
  (4)测试案例设计:
  一般业性能测试案例:
  操作步骤:
  (1)在数据库构造和预置3000万用户数据;
  (2)测试之前5分钟,在应用服务器和数据库服务器开启系统资源监控;
  (3)使用测试工具模拟用户发送登录请求,施压用户1000万,其中正确登录用户(用户密码匹配)占比90%,错误登录用户(用户密码不匹配)占比10%,(结合接口返回的错误信息和错误码考虑各种返回的情况,合理安排比例);
  (4)持续对服务器进行施压测试30分钟以上
  (5)停止施压,5分钟后停止监控服务器的监控,后去监控数据
  预期结果:
  (1)测试过程中服务器资源占用CPU(均值小于70%),内存(均值小于80%,或者使用期间没有内存泄漏和错误产生),IO-Wait(均值小于10%)(资源占用可根据需要进行调整,或者没有预期,只是测试一个结果,如果测试结果较好就继续加压,测试结果不好就考虑进行优化)
  (2)业务成功率目标100%(成功90%,失败10%,各种返回比例满足事先的预期设计比例值)
  (3)其他业务需求
  OK,还需要一些测试安排计划和测试风险的评估,补充到测试方案里面。一个基本的测试方案基本就可以算是完成了。
  测试脚本开发:
  这个跟你选择的工具而定,本文就不在此详说,后面会继续分享到部分用常用工具进行测试脚本的开发。
  本篇就简单介绍一下简单接口的性能测试,下一篇再找一个复杂一点的需求来做一下测试方案制定的实例分析。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号