测试学习8-1

性能测试

性能测试的关注点

web类应用和手机端应用,一般以终端用户感受到的端到端响应时间来描述系统的性能
非交互式应用,如银行后台处理系统,响应时间关注的更多的是事件处理的速度,以及单位时间的事件吞吐量

衡量软件性能的四个维度

终端用户
软件设计开发人员
系统运维人员
性能测试人员

终端用户眼中的软件性能

  • 希望业务越快越好
表现为用户进行业务操作时的主观响应时间,时间越短体验越好
这个响应时间是终端用户对系统性能最直观印象,包括了系统响应时间和前端展现时间
系统响应时间:反应的是系统能力,可以细分为应用系统处理时间、数据库处理时间和网络传输时间
前端展现时间:取决于用户端的处理能力
从这个角度看,可以非常容易理解性能测试分为后端(服务器端)和前端(浏览器端)性能测试

系统运维人员眼中的软件性能

  • 追求系统整体的容量和稳定
软件性能除了包括单个用户响应时间外,更要关注大量用户并发访问时的负载,以及可能的更大负载情况下系统健康状态、并发处理能力、当前部署地系统容量、可能地系统瓶颈、系统配置层面地调优、数据库调优以及长时间运行稳定性和可扩展性
目前,有些系统为了能够承载更多地并发用汉语,往往会牺牲等待时间而引入预期地等待机制(如火车票排队)

软件设计开发人员眼中的软件性能

  • 以性能工程视角关注实现过程的性能
软件性能关注的是性能相关的设计和实现细节,几乎涵盖了软件设计和开发的全过程,不仅仅是性能测试阶段要考虑地问题,而是整个软件研发生命周期都要考虑地内容,把围绕性能相关地活动称为性能工程
通常包括算法设计、架构设计、性能最佳实践、数据库相关、软件性能可测试性五大方面
1,算法设计包含的点
核心算法设计与实现是否高效
必要时,设计上是否采用buffer机制以提高性能,降低I/O
是否存在潜在的内存泄露
是否存在并发环境下的线程安全问题
是否存在不合理的线程同步方式
是否存在不合理的资源竞争
2,架构设计包含内容
站在整体系统角度,是否可以方便进行系统容量和性能扩展
应用集群的可扩展性是否经过测试和验证
缓存集群的可扩展性是否经过测试和验证
数据库的可扩展性是否经过测试和验证
3,性能最佳实践包含内容
代码实现是否遵守开发语言的性能最佳实践
关键代码是否在白盒级别进行性能测试
是否考虑前端性能优化
必要时是否采用数据压缩传输
对于既要压缩又要加密的场景,是否采用先压缩后加密的顺序
4,数据库相关的点
数据库表设计是否高效
是否引入必要的索引
SQL语句的执行计划是否合理
SQL语句除了功能是否要考虑性能要求
数据库是否需要引入读写分离机制
系统冷启动后,缓存大量不命中时,数据库承载的压力是否超负荷
5,软件性能可测试性包含的点
是否为性能分析提供必要的接口支持
是否支持高并发场景下的性能打点
是否支持全链路的性能分析
需要注意的是,开发人员一般不需要关注系统部署级别的性能,如软件运行目标操作系统的调优、应用服务器的参数调优、数据库的参数调优、网络环境的调优
系统部署级别的性能测试,目前一般在系统性能测试阶段或者系统容量规划阶段,由性能测试人员、系统架构师、数据库管理员DBA协作完成

性能测试人员眼中的软件性能

  • 全面考量、各个击破
性能测试工程师关注的是算法设计、架构设计、性能最佳实践、数据库相关、软件性能的可测试性五大方面
性能测试人员既能准确把握软件的性能需求,又要能够准确定位引起'不好'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值