• 性能测试流程,瓶颈分析


    1.规范的性能测试流程

    获得测试需求→测试计划→测试环境搭建→测试用例设计→测试数据准备→测试脚本编写→测试脚本执行→瓶颈分析定位→测试结果反馈→测试报告

    2.流程节点解释

    ①获取测试需求:

    提出人:甲方/业务方+开发人员

    依据系统后期可能达到的访问量(甲方/业务方),以及系统架构、数据库,服务器等(开发人员)。确定“核心业务场景”以及“测试指标”。

    ②测试计划:

    需“项目经理,甲方/业务方,测试人员”沟通确认。

    ③测试环境搭建→测试用例设计→测试数据准备→测试脚本编写→测试脚本执行:

    这部分和功能测试流程大体一致。

    侧重点在于测试环境的搭建(压力机构建),测试数据准备,脚本编写。

    ④瓶颈分析:

    这是很重要的一个环节。

    性能测试不是一蹴而就的,要达到压测需求,需反复调优和压测。

    开始压测前,需要设置压力

    ulimit -n  //查看Linux操作系统连接数

    以下是我个人项目总结的几点:

    1.压力机性能需满足压测需求

    2.本地压测(脚本放在系统服务器上执行),排除网络因素,测试系统的健壮性。

    3.模拟真实的业务场景(eg:设备是连接手机热点上报数据,压力机的网络连接为手机热点)

    4.CPU上不去,脚本运行大量失败。(需经理和开发人员进行代码审核)

    5.低并发,CPU过高。(需代码调优)

    测试人员可以在服务器上,用top命令找出CPU占用率最大的线程。

    top   //找到CPU占用率最大进程的PID,或者是待测脚本的PID
    top -p [PID]     //只监控这个PID
    H     //查看当前进程的线程信息,找到CPU消耗最高的线程ID
    jstack 11567 [PID]     //做dump,输出整个进程信息

    这样查出来的线程编号是:

    线程ID转换为十六进制 = dump文件中的nid = 内存消耗最大的代码块,可以截取此部分给开发看

  • 相关阅读:
    Tempter of the Bone HDU
    hihocoder1015 kmp算法
    hihocoder1174 拓扑排序1
    hihocoder1175 拓扑排序2
    Statues CodeForces
    【Git学习】git遇到fatal: bad config line 1 in file C:/Users/lenovo/.gitconfig
    【Windows学习】如何设置程序默认“以管理员身份运行”
    【Python学习】urlparse urllib urllib2 urllib3 requests
    【Python学习】操作excel样例
    【接口测试学习】web和APP接口抓包
  • 原文地址:https://www.cnblogs.com/bf-blackfish/p/11397767.html
Copyright © 2020-2023  润新知