51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3926|回复: 5
打印 上一主题 下一主题

Jmeter之性能测试基础

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-9-22 11:15:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、概念:性能测试是通过自动化的测试工具模拟多种正常峰值及负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是当负载逐渐增加时,测试系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获取系统能提供的最大服务级别的测试。如下图所示为一个典型的性能测试曲线:

2、目的:
性能测试的目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,以优化软件,最后起到优化系统的目的。性能测试包括以下几个方面:
A、评估系统的能力:测试中得到的负荷和响应时长数据可以被用于验证所计划的模型的能力,并帮助做出决策;
B、识别体系中的弱点:受控的负荷可以被增加到一个极端的水平并突破它,从而修复体系的瓶颈或薄弱的地方;
C、系统调优:重复运行测试,验证调整系统的活动是否得到了预期的结果,从而改进性能;
D、检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄露引起的失败,揭示程序中隐含的问题或冲突;
E、验证稳定性(Resilience)、可靠性(Reliability):在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。

3、常见分类:
性能测试包括负载测试、强度测试和容量测试等。
A、负载测试(load testing:是指通过测试系统在资源负荷情况下的表现,来发现设计上的错误或验证系统的负载能力。在这种测试中,将使测试对象承担不同的工作量,以评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。目标是确认并确保系统在超出最大预期工作量的情况下仍可以正常运行。此外,负载测试还要评估性能特征,如响应时长、事务处理速率和其他与时间相关的性能指标。
B、压力测试(stress testing:通过确认一个系统的瓶颈或者不能接收的性能点,来获取系统能提供的最大服务级别的测试。
C、容量测试(volume testing:容量测试确认系统可处理同时在线的最大用户数。

4、常见指标:
对于B/Sbrower/server)架构的软件,一般会关注如下web服务器性能指标:
对于C/Sclient/server)架构的程序,由于软件后台通常为数据库,所以更注重数据库的性能指标。
AUser Connections:用户连接数,也就是数据库的连接数量
BNumber of Deadlocks:数据库死锁
CButter Cache Hit:数据库Cache的命中情况
注意:在实际的测试中,不仅仅限于以上的点,还要根据实际情况选择,例如cpu占用率、数据库连接池等。

5、基本流程:
A、明确性能测试需求:需求应该明确测试涉及的功能点。
B、制定性能测试方案:性能测试方案应该详尽地描述如何进行性能测试,其中应该至少包括:测试背景、测试目的、测试范围、测试进入条件、测试退出条件、测试指标要求、测试策略、测试时机、测试风险和测试资源。
C、编写测试用例
D、执行性能测试案例
E、分析测试结果
F、生成性能测试报告:一份性能测试报告,至少包含如下内容:
1)测试基本信息:包含测试目的、报告目标读者、术语定义、参考资料
2)测试环境描述:包含服务器软/硬件环境、网络环境、测试工具、测试人员
3)性能测试案例执行分析:需要详细描述每个测试案例的执行情况,以及对应的测试结果分析
4)测试结果综合分析及建议:对本次性能测试做综合分析,并给出测试结论和改进建议
5)测试经验总结

6、开源web性能测试
是否应该选择开源性能测试工具?首先要明确所在组织的测试策略,其次还要考虑组织的实现情况。回答以下的几个问题,有助于做出正确的判断:
A、测试部门是否拥有非常充足的预算来购置商业性能测试工具?
B、测试人员是否拥有基础的编程经验?
C、测试人员是否有良好的英语阅读能力?

7、开源性能测试的优势:
A、更少的IT投入;
B、更灵活的定制工具;
C、更快、更便捷的服务支持;
D、更灵活的测试框架,避免绑定IT服务供应商


博为峰网校助力求职季,特别推出测试集训营,更多测试好课打折、送券……惊喜不停歇,快来~


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4
回复

使用道具 举报

  • TA的每日心情
    慵懒
    2020-8-11 08:18
  • 签到天数: 114 天

    连续签到: 1 天

    [LV.6]测试旅长

    2#
    发表于 2017-9-22 13:09:49 | 只看该作者
    jmeter做性能测试相比其他平台有什么特点呢? 你贴的这个文章标题把jmeter换成任意性能测试工具名称都成立。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-1-3 17:28
  • 签到天数: 26 天

    连续签到: 1 天

    [LV.4]测试营长

    3#
    发表于 2017-9-27 10:38:27 | 只看该作者
    支持2楼的观点,概念、目的、流程、结果就是性能测试的东西,jemeter只是一个工具,这里并没有写有关jemeter的基础东西。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2017-9-27 14:18:11 | 只看该作者
    这里写的是性能基础的问题   你难道也是标题党么亲
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-4-17 09:53
  • 签到天数: 1000 天

    连续签到: 1 天

    [LV.10]测试总司令

    6#
    发表于 2021-6-3 14:24:25 | 只看该作者
    应该结合JMeter来点实例讲解,这样更有说服力。不然这文章太“干”了,看了没啥感觉。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-28 21:23 , Processed in 0.078510 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表