性能测试:性能测试理论知识

一、常见的性能测试工具:
    Loadrunner(功能强大、重量级、商业软件)
    Jmeter(小巧灵活、轻量级、开源)
    Ngrinder(平台级产品、开源)
    NeoLoad(测试过程迅速、高效,可以非常频繁的执行性能测试以满足对产品的持续性能改进追踪)
    Loadster(商业软件、功能强大)
二、什么样的系统/模块适合做性能测试:
    1、用户量大,且访问量高的系统
    2、系统核心模块/主要功能
    3、业务逻辑或者算法复杂的功能
    4、促销推广活动功能
三、性能测试指标:
    1、响应时间:客户端响应时间+网络响应时间+服务器响应时间
       客户端响应时间:主要指胖客户端,内嵌了大量的逻辑,消耗时间需要关注
       网络响应时间:客户端请求的网络延迟+服务器响应的网络延迟
       服务器响应时间:服务器完成交易请求执行的时间,比如包括Web Server Time、APP Server Time、
       Database Time

       Top响应时间:将所有请求的响应时间先从大到小进行排序,计算指定比例的请求都是小于某个时间。
       该指标统计的是大多数请求的耗时。常用的Top响应时间包括Top90、Top95、Top99
       Top90(90%响应时间):90%的请求耗时都低于某个时间
       Top95(95%响应时间):95%的请求耗时都低于某个时间
       Top99(99%响应时间):99%的请求耗时都低于某个时间

    2、TPS:Transaction Per Second,每秒处理的事物数。
       在系统达到性能瓶颈之前,TPS和并发数成正比关系
       TPS = 1 / 响应时间 * 并发数
       TPS = 并发数 / 响应时间
    3、并发数:
       ①系统用户数:系统注册的用户总数
       ②在线用户数:当前统计正在访问的用户总数
       ③并发用户数:同一时刻让服务器产生压力的用户数。比如正在发帖的用户
    4、成功率:请求的成功率
    5、吞吐量:一次性能测试过程中网络上传输的数据量总和或者网络中上行和下行的流量总和。
       吞吐率:单位时间内网络上传输的数据量。
    6、PV(Page View):页面/接口的访问量
    7、UV(Unique Visitor):页面/接口的每日唯一访客
四、性能监控指标:
    1、系统资源指标:CPU、内存、磁盘IO、网络流量
    2、中间件指标:连接数、长短连接、使用内存
    3、数据库指标:连接数、锁、缓存、内存、SQL效率
五、性能测试的分类:
    1、狭义的性能测试:在特定的运行环境下,验证系统是否具有需求明确要求的能力/目标。
    2、基准测试:在一定的软件、硬件、网络环境下,模拟一定量的用户运行一种或者多种业务,将测试结果作为
       基线,供后续参考。主要目的是找出系统的基本性能情况,为后续调优做准备。
    3、负载测试:通过在被测系统上不断加压,直到性能指标达到极限。主要目的是找出系统处理能力的极限。
    4、压力测试:在一定的负载或者饱和状态下,系统的处理能力以及系统是否会出现错误。主要测试系统在高压
       下,应用的表现。常用于系统稳定性检查。比如士兵最多能抗150斤负重,那么抗120斤,走1小时,看士兵能
       否扛得住。
    5、并发测试:测试多用户并发访问同一个应用、同一个功能时是否存在死锁、内存泄漏、资源争抢等性能问题。
    6、配置测试:通过对软/硬件配置的调整,找到不同配置对性能的影响程度,从而找到系统各项资源的最优分
       配原则。
    7、可靠性测试:系统在一定的负载下,持续运行一段时间(比如7天、一个月),以检查系统的稳定性。比如
       士兵最多能抗150斤负重,那么负重100斤走8个小时的表现如何。
六、性能测试流程:
    1、需求调研。比如被测系统的类型:业务处理型还是数据处理型。系统架构。系统协议类型。系统架构以及
       被测系统和其他系统的关系(是否需要搭建)。测试范围:哪些地方会出现性能瓶颈,哪些功能需要测试性能,哪些
       暂时不测。系统/业务的流程,业务/数据的流向。需要测试哪些性能指标。使用哪种性能测试类型。系统
       上线时间。测试数量级。系统使用场景。日常访问量。预期指标。原则:与线上一致。
    2、场景设计:模拟真实场景(单一场景/单脚本场景、混合场景/多脚本场景)、搭建仿真场景
    3、测试计划
    4、环境搭建:硬件、网络、软件版本、操作系统、数据库、配置信息等
    5、数据准备:基础数据(预计系统投入使用时的数据量,提前往系统中充数据)、业务数据(脚本编写过程中
       要使用的数据)
    6、测试套件开发
    7、性能测试执行
    8、调优回归
    9、测试报告 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件测试是指对软件系统进行验证和验证的过程,以确保其能够满足预定的需求和质量标准。软件测试的理论知识是软件测试人员需要掌握的一系列原理和概念。 首先,软件测试人员需要了解软件开发生命周期及其不同阶段的测试活动。他们需要知道在需求分析阶段进行需求验证,设计阶段进行设计评审和验证,编码阶段进行单元测试,集成阶段进行集成测试,系统测试阶段进行整体功能和性能验证,用户接受测试阶段进行最终验证等等。 其次,软件测试人员需要了解各种测试技术和方法。这包括黑盒测试和白盒测试,功能测试和非功能测试,回归测试,性能测试,安全测试等等。他们需要了解每种测试方法的原理和适用条件,并根据具体需求进行选择。 另外,软件测试人员需要了解测试用例的设计和执行。他们需要学习如何编写有效的测试用例,以覆盖各种测试场景,并能够准确地描述预期的测试结果。同时,他们还需要了解测试用例的执行步骤和记录测试结果的方法。 此外,软件测试人员还需要了解一些软件质量管理和缺陷管理的知识。他们应该知道如何进行缺陷跟踪和管理,并对不同严重程度的缺陷有清晰的判断和优先级规划。 最后,软件测试人员还应该了解一些软件测试工具和自动化测试的原理。他们需要学习使用各种测试工具来辅助测试工作,并了解自动化测试的概念和实施方法,以提高测试效率和准确性。 总之,软件测试的理论知识包括软件开发生命周期、测试技术和方法、测试用例设计和执行、软件质量管理和缺陷管理,以及软件测试工具和自动化测试的原理等方面的知识。对于一名软件测试人员来说,掌握这些理论知识非常重要,以保证软件的质量和稳定性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值