什么是基准测试?
准备性测试,帮助验证性能 测试脚本能够在性能环境中正确执行。
通常使用一个虚拟用户执行单个用例,获得最佳的用例性能效果,然后将其和后续的测试数据做对比。
什么是负载测试?
最典型的性能测试类型。
施加足够的负载来达到预期的并发压力,达到目标后不再增加。
目的:验证可用性,并发数,吞吐率和响应时间的性能指标。
什么是压力测试?
尝试探测应用或者应用的支撑基础设施某部分的极限能力。
目的:找到被测系统的容量天花板。
会一直增加负载,知道应用的部分功能不能正常工作。
什么是浸泡测试?
目的:为了发现那些只有长时间运行才能发现的问题。典型的例子包括内存泄漏或者某些用例没有预见地执行次数的上限。
必须有合适的监控系统。
发现问题常常表现为响应时间缓慢增加,或某时刻系统突然变得不可用。
需要将问题发生试了的负载数据和监控数据关联后进行分析。
什么是性能冒烟测试?
只测试那些被代码变更影响到的性能测试用例。
什么是隔离测试?
目的:定位和排查问题。
通常会对已经定位产生性能问题的用例多次重复执行。
性能测试的流程?
获取非功能需求,确定性能目标
构建性能测试环境
编写性能测试脚本
构建性能测试场景
执行性能测试和分析
测试结果分析和报告
关键性能指标有哪些?
可用性(可用时长)
响应时间(用户发送请求到应用响应完全到达影虎客户端所消耗的时间)
吞吐率(某些面向应用的时间的发生速率)
资源利用率(对某种资源理论容量的使用百分比)
什么是思考时间?
思考时间指的是终端用户在与应用进行交互时必然存在的延迟和暂停时间。
什么是响应时间?
从用户发起请求到应用响应完全到达用户客户端所消耗的时间。
什么是吞吐率?
某种面向应用的时间发生的速率。比如在单位时间内一个网页的点击次数。
什么是并发用户数?
虚拟并发用户数:从性能测试工具角度来看的活跃虚拟用户数。
应用并发用户数:活跃的虚拟用户数,活跃指的是已经登陆或者正在访问被测系统的虚拟用户。
虚拟并发用户数=应用并发用户数+退出用户数
如何衡量可用性?
可用性通常采用应用对于终端用户的可用时长来衡量。
性能测试的难点是什么?
需求分析
场景设计
性能诊断调优
环境搭建和模拟