找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手

1,描述你在岗位中的工作职责
清楚的表达自己在上家公司主要做什么的,负责什么项目、平台的接口性能测试等等,不要把之前所工作的公司都介绍一遍。在不明白面试官意图的情况下滔滔不绝,结果不会太好
2,你的项目测试怎么开展,有遇到哪些性能问题?
需要根据自己公司的一些情况、和对性能测试的理解介绍下当前性能测试的流程。通过介绍流程,面试官可以初步了解你们测试的是否系统全面,哪个环节可能是有问题。是否有值得借鉴或学习的。这些都是加分项。
“遇到哪些性能问题”,一般是想通过这个问题,了解求职者的经验是否丰富。稍微经验比较丰富点的求职者,可以列举出一堆各种各样的问题。大多数的回答:比如配置参数的调整,文件太大引起的内存泄漏。这样的回答比较官方,像是从网上抄来的,没有新意。
3,针对性能问题有什么解决方案?
资深的性能测试:可以把前因后果说的明明白白
初级阶段的性能测试:通常会回答自己不是很清楚,提交研发了或者自己只是负责发现问题,定位解决问题是研发来做的。
接着面试官可能会出2道题目,看下求职者的分析能力及定位问题的能力
4,如何把性能测试引入项目?
相关人员分析被测系统是否有性能相关的需求。相关人员包括运维、开发、运营等。
  项目暂时没有性能测试可能是暂时没有因为性能问题产生过故障或用户量暂时不高。平时多补充性能测试相关的知识,早晚用的上。
5,面对大用户量的系统并发压力测试,主要是从哪几个方面去考虑关注点?
主要关注系统的关键业务的响应时间、资源占用情况,TPS
还要根据系统的特性来设计性能测试用例。比如有些系统有主从互备,我们就应该在考虑在其中一个故障情况下,系统的表现如何
6,如何测试系统支持8000并发,允许100万用户同时在线的测试?
首先要确认是否需求真的需要8000的并发。因为有些性能需求是由于需求人员或者会开发人员不清楚而随手拍脑袋写的。
拿支持8000并发来说,到底是什么样的业务场景?s是否包含思考时间?这些都需要具体细化,需要我们测试人员和相关人员进一步确认。
100万用户同时在线也需要进一步细化,这100万是登录后什么都不做?还是部分产生压力?。
很多性能测试需求是需要进一步确认和细化的。
7,如何根据下面需求设计用例?
1:系统应确保在运行5~10年(每年1000万只表计数据处理能力,1000万只表每只表数据量大约2M)后对录入、文件导入、文件导出等操作时不得出现明显卡滞或数据溢出、丢失情况。
  2:系统长期多角色运行时其文件导入或导出速度不得低于100k/s。
答:这几个需求涉及到:容量测试、可靠性测试 、负载测试
系统要求5--10年的未来性能储备。那就在执行时候设计一个按照目前标准来计算五年后的数据量情况来设计一个用例。如果5后的测试用例通过,那再设计一个10年的测试用例
导入导出不得低于100K,要进一步确认是在什么网络下,不同网络对下载影响大的。同时也要进一步确认是并发导入导出。因为有些系统导入导出是指定人来做的,存在并发的情况很少。而有些是多人同时操作的。需根据具体操作业务确认
8,在监控linux系统的时候怎么识别内存的使用情况和瓶颈点?
对于大部分系统来说,关注一下是否内存泄漏,关注下是否使用了交换分区。是否与磁盘交互太多
9,如何对系统的性能问题进行分类?
比如说配置参数调整、数据库、程序问题占比大概多少,通过这个是想了解求职在性能测试方面的经验丰富与否以及个实际人能力。配置参数调整只能占我日常性能测试问题的10%,甚至不到,90%的问题是程序写的不合理和SQl使用不当导致的。一个稳定的系统环境是不会轻易去调整参数的,因为每一次调整存在风险。
10,描述你的性能测试流程
1.做性能需求分析,挑选用户使用最频繁的功能来做测试,比如:登陆,搜索,提交订单
2.确定性能指标,比如:事务通过率为100%;90%的事务响应时间不超过5秒;并发用户为1000人时CPU和内存的使用率在70%以下
3.性能测试计划,明确测试时间(通常在功能稳定后,如第一轮测试后进行)和测试环境和测试工具的选择
4.搭建性能测试环境
5.通过性能测试用例,编写性能测试脚本,准备性能测试数据
6.性能测试脚本进行调优,设置检查点、参数化、关联、集合点、事务,调整思考时间
7.设计性能测试场景,监控服务器,运行测试场景
8.分析性能测试结果,判断性能瓶颈,反馈结果信息
9.回归性能测试
10.编写性能测试报告
11,如何确定系统能够承载的最大用户数?
通过负载测试,不断增加用户数,随着用户数的增加,各项性能指标也会相应产生变化
如果出现了性能拐点,比如,当用户数达到某个数量级时,响应时间突然增长,那么这个拐点处对应的用户数就是系统能承载的最大用户数
12,你们系统哪些地方(哪些功能)做了性能测试?
我们选取了用户使用最频繁的场景来做性能测试,比如:登陆,打卡,请假,报销。
13,你们的并发用户数是怎么确定的
1)、根据线上收集到的用户访问数据进行预估。
2)、根据业务需求确定。
14,你们性能测试在什么环境开展?
搭建一套独立的性能测试环境进行测试,硬件设施尽量和线上环境保持一致
15,你们性能测试什么时间做?
功能测试之后,系统比较稳定的时候开展
16,怎样分析性能测试结果
1)首先查看结果概况,查看事物有没有大面积失败,有没有大量的Error,响应时间有没有异常波动,如果都正常,表明测试结果可信
2)分析性能指标,比如,响应时间,事务通过率,CPU等指标是否满足需求;如果测试结果不可信,分析异常的原因,开发修改后进行回归测试
17,程序在单用户场景下运行成功,多用户运行则失败,提示连不上服务器
程序可能没有做多线程处理。
18,如果性能测试脚本出现错误,从哪些方面分析?
检查日志,定位出错的位置,然后做对应的修改
语法出错:多打了个符合/空格;正则错误,导致关联失败
19,如何判断系统的性能是变好了还是变坏了
通过基准测试判断性能状况
20,性能测试需求哪里来的?
根据需求文档。如果需求不太合理,需要和相关人员进行讨论。比如,某个页面要求并发用户2000人,但是整个数据库的注册用户都没有1000人。很明显,做2000人并发是没有必要的。
21,如何实现200用户的并发?
在脚本对应的请求后添加集合点,设置隐性等待时间3s
22,什么情况下要做关联,关联是怎么做的
根据需求文档或者抓包结果,对比找到需要关联的值,通过表达式获取,然后将变量传给下一个请求
23,有验证码的功能,怎么做性能测试
1)将验证码暂时屏蔽,完成性能测试后,再恢复。
2)使用万能验证码
24,jmeter有哪些部件组成?
测试计划,线程组,配置元件,监听器
25,简述使用jmeter的步骤
新建线程组-- 选择sampler — 设置代理服务器 — 添加结果树聚合报告 — 调试脚本 — 场景设计和运行 — 结果分析

26,接口测试要在什么环境下测试?
测试设备允许的情况下,尽量把测试的应用部署到测试服务器上面。并且按照生产环境的部署方式来搭建测试环境。
如果在生产环境通过接口交互的应用在不同服务器,测试环境也要把应用在不同服务器。生产环境使用了vpn,测试环境的服务器最好也是在vpn环境下。
27,压力测试工具能否安装在被测的WEB服务器上进行本地的压力测试?
一般要求是发压和被压机器分离,便于分析压测结果,最好压测和被压的机器放置在同一机房,降低网络及带宽带来的数据波动和因此导致的瓶颈。
这里无论发压和被压,都是会占用资源。当出现系统瓶颈时,如果两个在同一个机器,对你的分析会造成很大的影响。
如果你的上层请求是同内网下的同idc的调用方法,那么你可以选择同idc的机器进行发压参考。
当然,如果你的预期QPS很低,完全不会达到机器瓶颈,只是验证一些内存泄漏等简单并发问题,混布也未尝不可。
28,云平台的性能测试
云平台的性能测试和一般的性能测试也是差不多的,云平台的性能并发容量比较大,用户数多一点。
1.首先分析性能测试点如:发生频率非常高的,关键程度非常高的资源占用非常严重的等;
2.性能指标如:首页打开速度,支持最大在线用户,系统支持的并发用户数等;
3.工具的选择:JMeter,Loadrunner等。
29,如何设置才能保持用户始终在线;
1.录不同的场景在多个script里然后controllor里同时并发应该就行了。
2.登录后什么都不做,肯定要超时掉线的。那些保持在线的脚本,应该在action里面定时发送一些能够让服务器认为你仍然在线的请求,比如心跳请求,否则会掉线的。
另一种做法是你就保持思考时间不变,什么都不要发,但是让开发人员修改服务器端的超时时间,变得非常长,也可以达到不掉线的目的。
30,性能测试包含了哪些软件测试(至少举出3种)?
参考答案:负载测试;压力测试;容量测试
负载测试(Load Testing):负载测试是一种主要为了测试软件系统是否达到需求文档设计的目标,譬如软件在一定时期内,最大支持多少并发用户数,软件请求出错率等,测试的主要是软件系统的性能。
压力测试(Stress Testing):强度测试也就是压力测试,压力测试主要是为了测试硬件系统是否达到需求文档设计的性能目标,譬如在一定时期内,系统的cpu利用率,内存使用率,磁盘I/O吞吐率,网络吞吐量等,压力测试和负载测试最大的差别在于测试目的不同。
容量测试(Volume Testing):确定系统最大承受量,譬如系统最大用户数,最大存储量,最多处理的数据流量等。
或者在下面选择几项:
并发测试 - 测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题
基准测试 - 比较新的或未知测试对象与已知参照标准(如现有软件或评测标准)的性能。
争用测试:- 核实测试对象对于多个主角对相同资源(数据记录、内存等)的请求的处理是否可以接受。
性能配置 - 核实在操作条件保持不变的情况下,测试对象在使用不同配置时其性能行为的可接受性。
负载测试- 核实在保持配置不变的情况下,测试对象在不同操作条件(如不同用户数、事务数等)下性能行为的可接受性。
强度测试- 核实测试对象性能行为在异常或极端条件(如资源减少或用户数过多)之下的可接受性。
容量测试- 核实测试用户同时使用软件程序的最大数量
31,请问什么是性能测试、负载测试、压力测试?
答:性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试、压力测试参考答案如上题。


分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册