自动化测试面试题及答案.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

自动化测试面试题及答案

一、基础认知题

问:你觉得自动化测试和手动测试最大的区别是什么?实际项目里怎么判断一个功能该用自动化还是手动测?

答:最大区别不是“机器测vs人测”,而是适用场景和效率——手动适合探索性测试、交互复杂的场景(比如支付流程的异常弹窗判断),自动化更适合重复度高、规则明确的场景(比如回归测试里的登录验证、数据查询)。

实际判断看两点:一是“重复次数”,如果一个功能每次迭代都要测3遍以上,优先自动化;二是“稳定性”,如果功能还在频繁改需求,写了自动化用例也得天天改,不如先手动,等需求稳定了再补自动化。

问:自动化测试的核心流程是什么?你之前做的时候,哪一步最容易出问题?

答:核心流程就是“需求分析→选工具/框架→写用例→执行脚本→出报告→维护用例”。最容易出问题的是“维护阶段”——比如开发改了页面元素(比如按钮ID从“login-btn”改成“submit-btn”),自动化脚本就会报错,要是没及时更新,后续执行全白做。所以我们之前会约定,开发改UI或接口时,提前1天同步给测试,避免用例批量失效。

二、工具与框架题

问:用Selenium做Web自动化时,你常用哪些元素定位方式?遇到“元素定位不到”的情况,一般怎么排查?

答:常用的就是ID、name(这俩最稳),其次是XPath(复杂场景比如“第3个表格行的按钮”),CSSSelector偶尔用。

定位不到时,我会按步骤查:第一步看是不是元素还没加载出来(加个显式等待,比如WebDriverWait等元素可点击);第二步查定位表达式对不对(用浏览器F12的Elements面板搜表达式,看能不能匹配到);第三步看是不是有iframe(比如登录框在iframe里,得先switch_to.frame再定位);最后看是不是有动态属性(比如元素ID带随机数,这种就换用相对路径的XPath,别用固定ID)。

问:App自动化用Appium的话,iOS和Android的测试有什么不一样的地方?你踩过哪些坑?

答:最大区别是驱动和环境配置——Android要装SDK、配置adb,iOS得装Xcode、配置WebDriverAgent,而且iOS只能在Mac上跑。

踩过的坑比如:Android的“权限弹窗”,不同机型弹框文案不一样(比如小米是“允许”,华为是“始终允许”),后来用了UiSelector模糊匹配文本解决;iOS的“WebView切换”,得先在Xcode里配置debug模式,不然获取不到WebView的上下文,之前卡了半天才发现是配置没开。

问:你用过什么自动化测试框架?比如TestNG、Pytest,说说它们的优势在哪?

答:主要用Pytest,之前也用过TestNG。Pytest的优势是灵活——支持函数式用例(不用写类),fixture功能比TestNG的@Before/@After更灵活(比如可以只给某个用例传测试数据),而且报错信息很详细,能直接看到哪行代码出问题。TestNG的话,适合做测试套件管理(比如按模块分组执行用例),但语法比Pytest繁琐点。实际项目里,Python项目用Pytest,Java项目就用TestNG,跟着开发语言走。

三、项目实战题

问:如果让你做一个电商平台的自动化测试,你会选哪些模块做自动化?怎么设计用例?

答:优先选“核心且稳定”的模块:登录(每次迭代都要测,重复度高)、商品搜索(规则明确,输入关键词就有固定结果)、下单流程(除了支付环节,地址选择、商品数量修改这些都能自动化)。

用例设计会按“场景+数据”来:比如登录模块,会写“正确账号密码登录成功”“错误密码提示失败”“空账号提示必填”这几个用例,数据用CSV存,脚本里读数据循环执行(数据驱动)。

问:自动化用例执行失败了,怎么判断是功能bug还是脚本问题?

答:先复现——第一步用手动测同样的步骤,看功能是不是正常:如果手动也失败,那就是功能bug,提给开发;如果手动正常,那就是脚本问题。

脚本问题再细分:比如看日志里是“元素定位失败”(改定位表达式)、“接口返回数据不对”(查接口参数或依赖数据)、“等待时间不够”(加更长的显式等待)。之前遇到过一次,脚本报“订单提交失败”,手动测没问题,最后发现是脚本里用的测试账号余额不足,改了账号就好了——这种就是脚本依赖的数据没维护好。

问:怎么保证自动化测试的稳定性?比如避免用例今天能跑,明天就报错。

答:我总结了3个点:一是少用不稳定的定位方式(比如绝对路径XPath

文档评论(0)

151****9429 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档