软件性能测试常见面试题-性能测试必备

 

问题1.请描述什么是性能测试、什么是负载测试、什么是压力测试?
参考答案:

性能测试:性能测试是和功能测试相对应的。根据用户场景进行的单个用户操作,是属于功能测试领域,主要是验证软件是否可以满足用户的功能需求。比如,单个用户使用系统,系统各项功能是否满足用户的需求。

如果把这1个用户的操作放大,变为100个,1000个,10000个用户同时操作软件,验证软件系统是否满足用户的需求。那么这个就是软件性能测试。通常使用性能测试工具对软件开展并发的访问,同时监控系统各项指标,比如CPU、内存、网络、磁盘等关键部件的使用情况。目标是发现软件在大用户量的情况下,系统的工作情况。性能测试是负载测试、压力测试、并发测试的统称。


负载测试:通过逐步加压的方式来确定系统的处理能力,确定系统能承受的各项阀值。
压力测试:逐步增加负载,使系统某些资源达到饱、极限甚至失效的测试。目的是用来发现系统的软件业务处理能力、系统硬件的极限处理能力等。

 

问题2.请分别针对性能测试、负载测试和压力测试试举一个简单的例子?
参考答案:性能测试例子:松勤网(www.songqinnet.com)开发完成提交给测试部门,项目领导不知道该网站的处理能力如何,希望测试部门能够开展测试并提交各项性能参数,比如系统是否可以达到如下指标:同时支持1000用户登录操作,并且平均延时小于1s,系统CPU使用率低于80%,内存使用率低于80%等。上述的整个过程属于性能测试范畴。
负载测试:公司领导想知道,系统访问量逐步上升的过程当中,系统的性能变化情况,比如,用户访问量从100提升到200的时候,系统给用户的平均响应时间是怎么样的情况,系统硬件资源的使用率有没有变化。整个过程,我们称为负载测试。
压力测试:公司领导想知道,松勤网最多支持多少用户同时访问,并且平均响应时间低于100ms,测试部门为了评估系统是否可以达到这个指标,逐步加压系统并且观察系统的表现。另外,测试工程师持续不断加压,试图观察到系统处于崩溃的情况下,系统的访问量是处于怎么样的水平,这样可以做到对系统最大的处理能力有个清晰的认知。

 

问题3.公司中常用的性能测试工具有哪些,他们各自的特点是什么?
参考答案:公司中常用的工具有LoadRunner、Jmeter、Seagull等。其中LR是商用收费软件,费用比较高,很多小公司很难承受。LR功能强大,支持的协议广泛,拥有强大的录制功能。

Jmeter是开源免费项目,互联网公司用的较多,支持二次开发。支持添加控件进行扩展,目前在企业中应用广泛。

Seagull,在通讯领域中协议测试用的较多,是一款免费的工具,广泛用于Sip协议、Http协议、Diameter协议的系统的性能测试。
 

问题4.请问您是如何得到性能测试需求?怎样针对需求设计、分析是否达到需求?
参考答案::从需求文档中提取性能测试需求,与用户交流,了解实际使用情况。
结合业务信息设计操作场景总结出需测试的性能关键指标。
执行用例后根据提取关键性能指标来分析是否满足性能需求。

 

问题5.请问你是在什么时候开始开展性能测试的?
参考答案:通常在产品相对比较稳定,主要功能开发完成,功能测试后期的时候,开展性能测试。
 

问题6:请问性能测试中碰到网页中有验证码的时候,如何编写性能测试脚本绕开验证码?
参考答案:常见的方法有两种:第一种是临时让开发人员去掉验证码。第二种是让开发人员在后台预设一个固定的验证码,性能脚本中每一次都使用这个固定的验证码。

 

欢迎登陆松勤网(www.songqinnet.com),在这里你将获得【行业最新资讯】、【免费测试工具安装包】【技术干货分享】、【求职面试技巧】等。遇见松勤,高薪终会不期而遇!期待与您一起成长!