最近在负责招聘面试,基本每一个来面试的小伙伴,都会写到熟悉这样那样的测试工具,好比LoadRunner、QTP、Jmeter等等。面试
但当问起性能测试的相关概念时,却都答不出问题,在此闲暇时间,整理下本身的问题和解题思路。数据库
问题1:在性能测试指标中,响应时间、吞吐量、在线用户数有什么关系?并发
答题思路:首先给出各个指标的概念,其次按性能拐点产生的时间讲,在线用户数不断增长时,吞吐量增长,响应时间也会有逐渐增长的趋势,但当响应时间急剧增长时,吞吐量却呈现出平行时间轴的直线或降低趋势;这个过程说明了系统开始出现性能下降的拐点,须要作记录和分析,此时系统的状态是什么,哪里报错了,这样思考就离找到系统性能瓶颈不远了。工具
问题2:性能测试的目的是什么?性能
答题思路:性能测试的概念,解释了性能测试的目的。但性能测试最终的目的不是出具测试报告,说系统性能一切正常,能够正常运行。而大部分时间作的性能测试,是为了对系统进行调优,才开展的性能测试。测试
问题3:实施性能测试的流程是什么?优化
答题思路:性能测试实施实际上是一个标准的PDCA过程,计划-执行-评估-改进,先经过手动性能检查定出系统运行的性能基线,或使用单用户性能测试来肯定系统正常运行的性能基线;再执行性能测试,获取10/50/100/200/500/1000/2000/5000/10000等各个在线用户数状况下系统的性能指标,以评判系统性能;最终经过定位性能瓶颈,进行系统调优,提高系统性能,再执行一次10/50/100/200/500/1000/2000/5000/10000等各个在线用户数状况下系统的性能测试,与未调优以前作对比,以获得性能提高的结论;不然继续进行测试和优化。网站
问题4:客户会出于哪些目的让你开展性能测试?操作系统
答题思路:通常客户会在系统上线前,提出生产环境下性能测试,以排除系统存在大并发访问时的性能问题;客户也会在系统已经发现运行性能问题时,找到性能测试人员,为其进行测试,找到性能瓶颈,并解决性能瓶颈,提高系统运行性能表现;客户也会在固定时间(半年/一年)间隔事后,要求测试人员进行性能测试,以评估系统数据库存储数据增长时,系统是否存在潜在的性能问题风险。压力测试
问题5:性能测试工具还有其余用途吗?
答题思路:性能测试工具是一种基于协议数据回放的思路,模拟真实用户操做系统的情形,对系统施压;在不一样的场合,性能测试工具扮演了不一样的角色。测试人员使用该工具是在作客户知情的压力测试,若是客户不知情的状况下,使用测试工具对某网站系统进行压力测试,那就与黑客发动Ddos攻击同样,变成破坏行为了;性能测试工具还能够用给作维护的人员,用于对系统的性能指标进行长期监测,获得系统业务访问的变化规律;
【未完待续】