版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年测试工程师招聘面试试题及参考答案一、单项选择题(每题2分,共20分)1.在等价类划分法中,若输入条件为“1≤x≤100”,则无效等价类应划分为A.x<1B.x>100C.x<1或x>100D.x=50答案:C2.某系统要求密码长度6~18位,必须包含数字、大写字母、小写字母、特殊字符各至少1个,下列哪条测试用例最能发现边界缺陷A.123456Aa!B.12345Aa!C.123456789012345678Aa!D.123456Aa答案:B3.在JMeter中,用于提取HTTP响应头中SetCookie值的后置处理器是A.JSONExtractorB.RegularExpressionExtractorC.XPathExtractorD.BeanShellPostProcessor答案:B4.某接口返回JSON结构{"code":0,"data":{"list":[1,2,3],"total":3}},使用JSONPath提取list长度,正确表达式为A.$.data.list.length()B.$.data.list.sizeC.$.data.list.lengthD.$.data['list'].length()答案:A5.在Linux中,查看当前目录下最近10分钟被修改过的文件,命令为A.find.mtime10B.find.mmin10C.lslt|headD.statc%Y答案:B6.使用Postman进行参数化时,数据文件支持格式不包括A.CSVB.JSONC.XMLD.TXT答案:D7.在Pytest中,标记某用例为冒烟测试,正确装饰器为A.@pytest.smokeB.@pytest.mark.smokeC.@pytest.tag.smokeD.@smoke答案:B8.某APP在Android12上出现崩溃,日志显示“android.content.res.Resources$NotFoundException”,最可能原因是A.内存泄漏B.资源文件未适配新分辨率C.网络超时D.权限拒绝答案:B9.在MySQL中,查看慢查询日志是否开启的指令为A.showvariableslike'slow_query%';B.showstatuslike'slow_query%';C.select@@slow_query_log;D.A和C均可答案:D10.在敏捷迭代中,DefinitionofDone不包含A.单元测试通过B.代码评审完成C.需求文档定稿D.回归测试通过答案:C二、多项选择题(每题3分,共15分,多选少选均不得分)11.以下属于白盒覆盖标准的有A.语句覆盖B.判定覆盖C.条件覆盖D.边界值覆盖答案:ABC12.使用SeleniumWebDriver时,可能导致“ElementClickInterceptedException”的原因包括A.元素被浮层遮挡B.页面未加载完C.元素在iframe内D.元素被禁用答案:ABC13.以下哪些命令可以查看Linux系统实时进程CPU占用A.topB.htopC.psauxD.saru1答案:ABD14.在性能测试中,衡量系统吞吐量的指标有A.TPSB.QPSC.RTD.Throughput(bytes/sec)答案:ABD15.关于SonarQube代码质量规则,正确的有A.可以自定义规则B.支持Java、Python、JS等多语言C.扫描结果以A~E评级D.必须绑定GitLabMR方可使用答案:ABC三、填空题(每空2分,共20分)16.在HTTP协议中,状态码“413”表示________。答案:请求实体过大17.使用Python的requests库发送带文件的POST请求时,参数关键字为________。答案:files18.在Linux中,将标准错误重定向到标准输出的符号写法为________。答案:2>&119.在JenkinsPipeline中,声明式流水线必须以关键字________开头。答案:pipeline20.在Git中,撤销已push到远程的提交,应使用命令________。答案:gitrevert21.在TestNG中,实现数据驱动的注解为________。答案:@DataProvider22.在MySQL中,查看表结构及索引信息的指令为________。答案:showcreatetable表名23.在AndroidADB中,查看当前最上层Activity名的命令为________。答案:adbshelldumpsysactivityactivities|grepmResumedActivity24.在性能测试中,90%响应时间是指将响应时间从小到大排序后取第________百分位的值。答案:9025.在Docker中,查看容器资源占用情况的命令为________。答案:dockerstats四、判断题(每题1分,共10分,正确打“√”,错误打“×”)26.在敏捷开发中,测试工程师只需在迭代末期进行系统测试。答案:×27.使用Fiddler抓包时,开启HTTPS解密需要安装并信任Fiddler根证书。答案:√28.在Python中,列表推导式比for循环更节省内存。答案:×29.在SQL注入测试时,使用单引号“'”即可判断是否存在注入点。答案:√30.Appium同时支持Android与iOS原生及混合应用自动化。答案:√31.在JMeter中,吞吐量控制器可精确控制每秒请求数。答案:×32.使用Gitrebase可以线性化提交历史,但会改变已有提交的哈希值。答案:√33.在Linux中,kill9命令可以优雅退出进程。答案:×34.在Postman中,环境变量作用域大于全局变量。答案:×35.在SonarQube中,技术债务单位是“分钟”。答案:√五、简答题(封闭型,每题5分,共15分)36.描述判定覆盖与条件覆盖的区别,并给出一段示例代码及测试用例。答案:判定覆盖要求每个判定的“真”“假”至少执行一次;条件覆盖要求每个条件的“真”“假”至少执行一次。示例代码:if(a>0&&b>0){c=1;}else{c=0;}判定覆盖用例:①a=1,b=1(真)②a=0,b=0(假)条件覆盖用例:①a=1,b=0(a真b假)②a=0,b=1(a假b真)37.说明数据库事务的四大特性,并解释脏读、不可重复读、幻读。答案:四大特性:原子性、一致性、隔离性、持久性。脏读:读到未提交数据;不可重复读:同一事务两次读同一行数据结果不同;幻读:同一事务两次查询返回的行数不同。38.写出AndroidMonkey测试的完整命令,并说明各参数含义。答案:adbshellmonkeyp包名throttle300s100pcttouch50pctmotion30ignorecrashesignoretimeoutsv100000含义:p指定包名;throttle事件间隔300ms;s随机种子;pcttouch触摸事件占50%;ignore忽略崩溃与超时;v日志级别;100000事件数。六、应用题(综合类,共70分)39.接口自动化框架设计(20分)背景:公司REST接口需支持多环境、数据驱动、失败重跑、Allure报告、CI集成。要求:(1)用Python+Pytest设计目录结构,画出树形图并说明各目录职责;(2)给出核心封装类BaseRequest代码(含session复用、异常重试、日志记录);(3)给出一条数据驱动用例(YAML文件+测试函数);(4)说明如何在Jenkins中配置定时触发与Allure报告展示。答案:(1)目录结构project/├─config/│├─dev.yml│└─prod.yml├─data/│└─login.yml├─lib/│├─base_request.py│└─logger.py├─testcase/│└─test_login.py├─report/├─requirements.txt├─pytest.ini└─Jenkinsfile(2)BaseRequest.pyimportrequests,logging,timefromrequests.adaptersimportHTTPAdapterclassBaseRequest:def__init__(self,base_url,timeout=10,max_retry=3):self.session=requests.Session()self.session.mount('http://',HTTPAdapter(max_retries=max_retry))self.session.mount('https://',HTTPAdapter(max_retries=max_retry))self.base_url=base_urlself.timeout=timeoutself.logger=logging.getLogger(__name__)defrequest(self,method,url,kwargs):url=self.base_url+urlforiinrange(max_retry):try:r=self.session.request(method,url,timeout=self.timeout,kwargs)(f"{method}{url}{r.status_code}")returnrexceptExceptionase:self.logger.warning(f"retry{i+1}{e}")time.sleep(1)raiseException("allretriesexhausted")(3)data/login.ymlcase:login_successuser:test1pwd:123456expect:0case:login_failuser:test2pwd:wrongexpect:1001testcase/test_login.pyimportpytest,yaml,osfromlib.base_requestimportBaseRequestwithopen("data/login.yml")asf:data=yaml.safe_load(f)@pytest.mark.parametrize("case",data)deftest_login(case):req=BaseRequest("")payload={"user":case["user"],"pwd":case["pwd"]}r=req.request("post","/login",json=payload)assertr.json()["code"]==case["expect"](4)Jenkinsfilepipeline{agentanytriggers{cron('H2')}stages{stage('test'){steps{sh'pipinstallrrequirements.txt'sh'pytestalluredir=report'}}}post{always{allureincludeProperties:false,jdk:'',results:[[path:'report']]}}}40.性能瓶颈分析(20分)背景:秒杀接口TPS低于100,RT3s,错误率5%,服务器8C16G,MySQL8.0,连接池默认20。提供:(1)监控截图:CPUidle70%,内存占用50%,磁盘I/O5%,网络吞吐200Mbps;MySQLQPS800,慢查询每秒30条,连接数峰值50;JVMGC次数每秒5次,单次50ms。问题:①列出最可能的3个瓶颈;②给出定位步骤与使用的命令或工具;③给出优化方案并预测提升效果。答案:①瓶颈:慢查询导致数据库等待;连接池过小;JVM频繁YoungGC。②定位:a.慢查询:开启slow_query_log,使用mysqldumpslow分析;b.连接池:jstack查看线程等待getConnection;c.GC:jstatgcpid1s10观察Young区波动。③优化:a.对wheresku_id=?andstatus=1添加联合索引,预计慢查询降至5条/s;b.连接池调至200,线程等待减少,TPS升至400;c.增大Xmn至4G,YoungGC降至每秒1次,RT降至800ms;综合预计TPS≥600,RT≤1s,错误率<0.1%。41.安全测试用例设计(15分)场景:用户评论接口POST/comment,参数{"content":"文本","pid":0},需登录态cookie。要求:(1)列出SQL注入、XSS、越权、CSRF各2条用例(含payload、预期结果);(2)说明自动化扫描与人工验证如何结合。答案:(1)SQL注入:①payload:content="or1=1"&pid=0预期:返回全部评论或报错语法错误②payload:content="unionselectuser(),database()"&pid=0预期:返回当前用户与库名XSS:①payload:content=<script>alert(1)</script>预期:前端渲染时弹出1②payload:content=<imgsrc=xonerror=alert(2)>预期:同样触发弹窗越权:①用户A登录后提交pid=1(属于用户B的评论)预期:返回无权限②修改pid为不存在的999999预期:返回数据不存在CSRF:①构造HTML自动提交表单,跨域POST,无token预期:因缺失token被拦截②使用已过期token重复提交预期:返回401(2)先用Burp+OWASPZAP自动扫描发现疑似漏洞,再人工构造复杂payload绕过WAF,最后修复后写自动化回归脚本集成到CI。42.自动化脚本改错(15分)给出存在5处缺陷的RobotFramework脚本,要求指出行号、问题描述、修正方案。脚本:SettingsLibrarySeleniumLibraryVariables${URL}TestCasesLoginOpenBrowser${URL}chromeInputTextid=usertestInputPasswordid=pwd123456ClickButtonxpath=//button[text()='登录']Sleep5PageShouldContain欢迎[Teardown]CloseBrowser答案:1.未设置等待策略,应添加`SetSeleniumImplicitWait10`2.Sleep5秒固定等待,改为`WaitUntilPageContainsElementxpath=//span[text()='欢迎']`3.未处理登录失败场景,应断言URL或元素文本4.未使用测试模板,数据与逻辑混合,应抽离变量文件5.未截图失败现场,应在Teardown前`RunKeywordIfTestFailedCapturePageScreenshot`七、算法与脚本设计(30分)43.日志分析脚本(15分)需求:nginxaccess.log格式22[01/Jun/2025:12:00:01+0800]"GET/product/123HTTP/1.1"200512"""Mozilla/5.0"统计返回码200且响应体大于1000字节的请求数,并输出Top10IP。要求:用一行Linux命令完成,禁止中间文件。答案:awk'$9==200&&$10>1000{ip[$1]++}
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 警务室调解制度
- 用电基础知识培训
- 2025高一政治期末模拟卷01(考试版)【测试范围:必修1全册+必修2全册】(新高考用)含答案
- 医院爱岗敬业培训课件
- 国考公安考试试题及答案
- 2026年上半年浙江杭州市妇产科医院(杭州市妇幼保健院)高层次、紧缺专业人才招聘15人(总)备考考试试题附答案解析
- 2026某事业单位招聘保洁岗位1人备考考试题库附答案解析
- JIS D 9101-2012 自行车术语标准 Cycles - Terminology
- 2026福建福州市平潭综合实验区党工委党校(区行政学院、区社会主义学院)招聘编外工作人员1人备考考试题库附答案解析
- 2026福建龙岩鑫达彩印有限公司龙岩鑫利来酒店分公司(第一批)招聘3人参考考试试题附答案解析
- 江苏省扬州市区2025-2026学年五年级上学期数学期末试题一(有答案)
- 2024版2026春新教科版科学三年级下册教学课件:第一单元4.磁极与方向含2个微课视频
- 培训保安课件
- “党的二十届四中全会精神”专题题库及答案
- 2026届福建省宁德市三校高三上学期1月月考历史试题(含答案)
- 2026年冀教版初一地理上册期末真题试卷+解析及答案
- 2025年文化产业版权保护与运营手册
- 四川省乐山市高中高三上学期第一次调查研究考试数学试题【含答案详解】
- 物流行业运输司机安全驾驶与效率绩效评定表
- 2026年及未来5年市场数据中国脱硫市场运行态势及行业发展前景预测报告
- 中国农业科学院2026年度第一批统一公开招聘笔试考试参考试题及答案解析
评论
0/150
提交评论