压力测试——一套完整的压力测试项目文档

发表于:2018-3-12 10:33

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

 作者:张占岭    来源:51Testing软件测试网采编

  Web压力架构
  Web压力架构... 1
  一 系统性能测试概述... 1
  1.1 性能测试概述... 1
  1.2 性能测试的指标... 2
  1.3 关键点的描述... 2
  1.4 性能测试的目的... 2
  1.5 测试项目开发规范... 2
  二 使用VS压力测试工具进行测试... 3
  2.1 性能测试(WebTest). 3
  2.1.1 概念... 3
  2.1.2 如何建立性能测试... 3
  2.1.3 使用CS代码快速建立性能测试... 5
  2.1.4 运行当前性能测试... 6
  2.2 负载(压力)测试(LoadTest)... 6
  2.2.1 概念... 6
  2.2.2 目的... 6
  2.2.3 术语... 6
  2.2.4 如何建立负载测试... 7
  2.2.5 负载测试运行时的说明... 10
  2.2.6 分析报告说明... 11
  2.3 测试场景描述... 12
  2.4 主要业务模块... 12
  三 测试数据的填充... 13
  3.1 Webtest工具填充... 13
  3.2 手动编辑业务代码... 13
  3.3 使用RedGate.SQLDataGenerator工具进行填充... 13
  一 系统性能测试概述
  1.1 性能测试概述
  本次测试是针对学习吧系统在应对密集整转的压力下业务处理能力的测试,检验系统的吞吐率。本系统的压力测试主要是针对主要用户注册,登录,用户中心,班级圈、订单,检查在应用高峰时期,并发用户数较多的时候的处理能力等等。
  1.2 性能测试的指标
  1.应用系统的负载能力:即系统所能容忍的最大用户数量,也就是在正常的响应时间中,系统能够支持的最多的客户端的数量。
  2.应用系统的吞吐率:即应用系统在单位时间内完成的交易量,也就是在单位时间内,应用系统针对不同的负载压力,所能完成的交易数量。
  3.系统的响应能力:即在各种负载压力情况下,系统的响应时间,也就是从客户端请求发起,到服务器端应答返回所需要的时间,包括网络传输时间和服务器处理时间。
  4.应用系统的可靠性:即在连续工作时间状态下,系统能够正常运行的时间,即在连续工作时间段内没有出错信息
  1.3 关键点的描述
  系统在不同用户数量(并发)压力下的表现,即:支持的并发用户数目和并发用户发送频率,以及在较大压力下,系统的处理能力以及CPU、数据库I/O和内存的使用情况,并找出相应的性能瓶颈
  1.4 性能测试的目的
  压力测试的目的就是检验系统的最大吞吐量,检验现行的业务系统在各种压力交易
  量下的运行状况,检验系统地运行瓶颈,获取系统的处理能力等等。
  本次针对系统所进行的压力测试的测试目的为:
  1.给出系统当前的性能状况
  2.定位系统性能瓶颈或潜在性能瓶颈
  3.总结一套合理的、可操作的、适合公司现实情况的性能测试方案,为后续的性能测试工作提供基本思路
  1.5 测试项目开发规范
  1.在具体项目解决方案中添加测试项目
  2.为每个模块建立各自的文件夹
  3.开发人员可以采用代码方法建立性能测试,非专业人员可以通过录制建立性能测试
  4.测试域名不采用IP地址,可以在HOSTS中配置虚拟域名,这样方便以后修改
  5.数据动态参数采用CSV文件,对于非加密信息可以采用直接连接数据库的方式得到真实数据
   二 使用VS压力测试工具进行测试
  2.1 性能测试(WebTest)
  2.1.1 概念
  将一些测试的流程进行录制,并保存成一个webtest 就生成了一个web性能测试,这些性能测试文件可以添加到负载测试项目,完成压力测试。(负载测试项目由多个web性能测试组成)
  2.1.2 如何建立性能测试
  需要安装 Visual Studio 旗舰版
  创建 Web 性能和负载测试项目  
  1 创建 Web 性能测试   
  你的 Web 浏览器随即打开。
  2 输入要测试的网站的 URL。
  3 如果你希望客户使用自己的应用程序,也请你使用。 例如,搜索项并将其添加到购物车中。记录器将捕获 HTTP 请求和响应。
  4 完成后,请停止记录。  
  现在,Visual Studio 为你的每个 HTTP 请求的 HTTP 响应查找动态参数。 发生这种情况时,将显示进度栏。
  5 重命名你的测试。 例如,学民吧首页.webtest。  
  6 编辑测试属性以指定性能目标。 例如,可以将页面响应时间目标设置为 1 秒。(这个值在负载测试时会用到)   
  7 保存测试。  
  2.1.3 使用CS代码快速建立性能测试
  通过向导生成性能测试后,也可以将它生成代码文件,方便我们开发人员直接编辑它   
  2.1.4 运行当前性能测试
  运行性能测试后,它会模拟你定义的请求,代你完成整个流程   
  测试结果在运行后被显示出来       
  2.2 负载(压力)测试(LoadTest)
  2.2.1 概念
  负载测试(Load Testing)是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而确定能够接收的性能过程。压力测试(Stress Testing)是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
  2.2.2 目的
  通过压力测试,判断当前应用环境情况下系统的负载能力,为今后应用范围扩大,用户量上升后,服务器扩容、升级等提供必要的技术支撑,及服务器规划等。
  2.2.3 术语
  应用服务器
  网站/软件架构中的应用处理服务器,提供请求的接收、处理、返回WEB请求
  数据库服务器
  网站/软件架构中的数据处理服务器,提供数据的存储和读取等功能
  测试机
  专门用来压力测试的计算机,通常为常用的PC机
  系统用户数
  是指实际可能使用应用系统的总用户数
  在线用户数
  是指当前登录应用系统,处于正在操作或空闲状态的用户数
  并发用户数
  是指当前登录应用系统,并同时进行操作的用户数
  响应时间
  是指服务器从接收请求到返回请求之间的处理时间。压力测试中,忽略网络传输时间及测试机中处理时间,测试机上获得响应时间即作为服务器的响应时间  
  2.2.4 如何建立负载测试
  1 在 Web 性能和负载测试项目中创建新的负载测试。   
  2 负载测试向导出现后,请选择负载模式步骤。
  将负载模式更改为分级负载。 这将随着时间逐渐添加用户。   
  3 选择测试组合步骤。   
  添加创建的 Web 性能测试。   
  将 Web 性能测试移至要运行的测试列表中。   
  4 完成向导后,Web 性能测试就会添加到负载测试并显示在负载测试编辑器中。  
  2.2.5 负载测试运行时的说明
  在测试运行时,你可能会发展某个页的响应时间超过你设置的值。   
  添加分析注释以跟踪问题。  
  负载测试完成后,将显示摘要。
  已完成测试的结果包含性能计数器数据、阈值冲突和错误信息。 注意,如果在性能测试中,这个相应时间没有设置(默认为0)表示,不去关心这个数据,即使你的响应时间再慢,它不会出现未通过的情况,如下图  
  2.2.6 分析报告说明
  负载测试摘要
  整体结果


上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号