Hi,大家好,我是测试娜娜。马上进入金九银十,很多小伙伴有被动跳槽的打算,所以更新一些相关的自动化面试题,希望能帮到大家。

一、怎么设计接口测试用例?

通常,设计接口测试用例需要考虑以下几个方面:

① 是否满足前提条件

有些接口需要满足前提,才可成功获取数据。常见的,需要登录Token

逆向用例:针对是否满足前置条件(假设为n个条件),设计0~n条用例

② 是否携带默认值参数

正向用例:带默认值的参数都不填写、不传参,必填参数都填写正确且存在的“常规”值,其他不填写,设计1条用例

③ 业务规则、功能需求

这里根据时间情况,结合接口参数说明,可能需要设计N条正向用例和逆向用例

④ 参数是否必填

逆向用例:针对每个必填参数,都设计1条参数值为空的逆向用例

⑤ 参数之间是否存在关联

有些参数彼此之间存在相互制约的关系

⑥ 参数数据类型限制

逆向用例:针对每个参数都设计1条参数值类型不符的逆向用例

⑦参数数据类型自身的数据范围值限制

正向用例:针对所有参数,设计1条每个参数的参数值在数据范围内为最大值的正向用例。

二、你平常做接口测试的过程中发现过哪些bug?

  • 常规错误,接口没实现,没按约定返回结果,边界值处理出错等。

  • 输入异常值(空值、特殊字符、超过约定长度等),接口抛错,没做封装处理;

  • 输入错误的参数、多输入、少输入参数,接口可能出现的错误;

  • 安全性问题,如明文传输、返回结果含有敏感信息,没对用户身份信息做校验,没做恶意请求拦截等;

  • 性能问题,如接口并发插入多条相同操作,响应时间过长,接口压测出现瓶颈等;

三、如果一个元素无法定位,你一般会考虑哪些方面的原因?

  • 页面加载元素过慢,加等待时间;

  • 页面有frame框架页,需要先跳转入frame框架再定位;

  • 可能该元素是动态元素,定位方式要优化,可以使用部分元素定位或通过父节点或兄弟节点定位;

  • 可能识别了元素,但是不能操作,比如元素不可用,不可写等。需要使用js先把前置的操作完成。

四、在Selenium中如何实现截图,如何实现用例执行失败才截图?

在Selenium中提供了一个get_screenshot_as_file()的方法来截图的,一般结合try/except捕获异常时使用,进行错误截图。

五、怎么对含有验证码的功能进行自动化测试?

  • 图像识别,难度大,效果不好不推荐

  • 屏蔽验证码,在测试环境邀请开发处理,预发和正式环境恢复

  • 万能验证码,使用复杂的其他人无法猜到的验证码

六、测试自动化中有哪些最佳实践?

以下是软件开发和测试团队应使用的一些最佳实践,以确保软件质量。

1、决定自动化什么

自动化某些测试是不可能或不切实际的,例如可用性、可访问性、探索性测试或经常更改的非重复测试用例。

2、根据技能和经验分配测试用例

在划分测试用例时,要考虑测试人员的技能和经验以及被测功能的复杂性和严重性。

3、消除不确定性

七、你觉得自动化测试能完全替代手工测试么?

不。自动化测试不会使手动测试过时。尽管自动化测试有助于避免回归问题或发现你已经意识到的问题,但手动探索性测试对于发现你不知道的错误(例如不正确的需求或实现)至关重要。

某些类型的测试,例如探索性测试、可用性和可访问性测试,需要由人工测试人员执行。如果测试本身存在错误或问题,它们将提供错误的结果,给利益相关者提供错误的保证。

好的自动化测试测试可重复的测试用例,你可以确定性地复制这些用例。它当然减少了人工测试人员将执行的手动测试量,但并没有消除它。一旦人类测试人员发现了一个错误,他们就可以添加自动化测试以确保它在未来被自动捕获。

八、如何提升UI自动的稳定性?

  • 测试自动化的整个目标是进行可靠、准确、一致的测试,为测试人员提供有用的反馈。如果测试由于测试本身的错误而失败,或者它给出了误报,那么测试自动化的投资回报率就会开始下降。

    4、选择正确的框架和工具

    • 有很多工具可以执行自动化测试。为手头的测试选择错误的工具会浪费时间,并为发布可能在生产中失败的软件提供错误的信心。

      5、将测试记录保存在错误数据库中

      无论团队是否使用测试自动化,使用错误数据库都是最佳实践。

        1. 每当自动化工具或测试人员发现新错误时,都应将其记录在错误跟踪工具中,并包含重现错误的确切步骤和其他详细信息。

    1. 在经常检测失败的元素前尽量加上显式等待时间,等要操作的元素出现之后再执行下面的操作;

    2. 多线程的时候,减少测试用例耦合度,因为多线程的执行顺序是不受控制的

    3. 多用 try 捕捉,处理异常;

    4. 尽量使用测试专用环境,避免其他类型的测试同时进行,对数据造成干扰。

九、其他接口要先获取接口信息,如何让登录的接口只在其他接口调用一次?

解决方法如下:

  • 使用单例模式;

  • 使用自定义缓存机制;

  • 使用测试框架中的 setup 机制;

  • pytest 中 fixture 机制;

以上就是今天的全部内容,希望对大家有所帮助,也希望大家多多留言、点赞、在看、转发四连爱❤️  支持。 咱们下篇文章见,Bye~

金九银十招聘季, 自动化测试面试题分享相关推荐

  1. 2022金九银十 —— 招聘有感,给各位测试同学的一些建议

    前言 前段时间因公司的业务扩展需要,测试部人员编制开始扩招. 这里简单介绍一下团队的基本编制与架构: 团队编制1+3+12(经理+组长+执行),执行包括业务.测开等角色. 博主在测试行业摸鱼了十余年, ...

  2. 与基础事务管理器的通信失败 存货申请_金九银十跳槽季,恶补分布式事务

    随着微服务架构在各个企业的渗透,大家都在纷纷的将技术架构转型,从单体式应用变成微服务架构式,从单机部署变分布式部署,我们的应用也变成了分布式应用.在分布式应用中,一切就变得复杂了,如何保障数据的一致性 ...

  3. 金九银十跳槽季,恶补分布式事务

    随着微服务架构在各个企业的渗透,大家都在纷纷的将技术架构转型,从单体式应用变成微服务架构式,从单机部署变分布式部署,我们的应用也变成了分布式应用.在分布式应用中,一切就变得复杂了,如何保障数据的一致性 ...

  4. java输入输出流_金九银十准备季:Java异常+Java IO与NIO面试题(含答案)

    写在前面:2020年面试必备的Java后端进阶面试题总结了一份复习指南在Github上,内容详细,图文并茂,有需要学习的朋友可以Star一下! GitHub地址:abel-max/Java-Study ...

  5. 备战金九银十,Java研发面试题+答案整合PDF,走到哪刷到哪

    八月在即,马上就是"金九银十",又是跳槽招聘季.咱们这行公认涨薪不如跳槽加的快.但不建议频繁跳槽,还是要学会融合团队,抓住每个机会提升技能. 在这里给大家整理了一套各大互联网公司面 ...

  6. 金三银四、金九银十 面试宝典 SpringBoot 面试题 超级无敌全的面试题汇总

    SpringBoot框架 - 面试宝典 又到了 金三银四.金九银十 的时候了,是时候收藏一波面试题了,面试题可以不学,但不能没有!

  7. 金三银四、金九银十 面试宝典 MySQL面试题 超级无敌全的面试题汇总(超万字的面试题,让你的MySQL无可挑剔)

    MySQL数据库 - 面试宝典 又到了 金三银四.金九银十 的时候了,是时候收藏一波面试题了,面试题可以不学,但不能没有!

  8. 2021金九银十面试季!如何化身BAT面试收割机

    前言 蓦然回首自己做开发已经十年了,这十年中我获得了很多,技术能力.培训.出国.大公司的经历,还有很多很好的朋友.但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员 ...

  9. 金九银十加薪季,测试题预热一波。

    <孙子·谋攻篇>曰:"知己知彼,百战不殆:不知彼而知己,一胜一负:不知彼,不知己,每战必殆." 做一个自我介绍? 对于刚拿到你的面试简历的面试官,第一个问题基本上就是做 ...

  10. 金九银十求职季,美团高频面试题和答案都帮你准备好啦

    前言 八月底了,马上到大家的找工作的高峰期了!为了帮助大家更好的备战面试和跳槽,可以在众多求职者中脱颖而出,我帮大家准备了丰富的企业真实面试题,大家赶紧收藏吧! 1.说下你最近做的项目,你主要负责什么 ...

最新文章

  1. 前端工程师算法(一)
  2. 如何利用反射来绕过泛型
  3. bzoj1051 [HAOI2006]受欢迎的牛 tarjan缩点
  4. Elements in iteration expect to have v-bind:key directives错误的解决办法
  5. 有道词典总显示无法连接服务器,有道词典无法联网提示网络已断开该怎么办
  6. 产品列表页分类筛选、排序的算法实现(PHP)
  7. 34.卷1(套接字联网API)---常用函数
  8. xs资料网-jdpaint编程图档下载_限时下载 | 西门子、三菱、欧姆龙PLC电气设计与编程自学宝典(3册)...
  9. 微信小程序 时间插件 (可以选择日期+星期)
  10. MySQL数据的读写分离之maxscale的使用
  11. 【联想启天M4350】Windows 7下安装Yosemite 10.10.1懒人版
  12. Linux的oracle账户解锁,如何解锁Oracle数据库中账号
  13. Vue3状态管理-小菠萝Pinia快速入门学习
  14. conan-transit服上的库列表
  15. 硬盘SMART检测参数attributes详解
  16. 滚动快门效应与果冻效应
  17. R语言解读多元线性回归模型
  18. Jupyter notebook常用快捷键
  19. Android水纹波浪动画
  20. 特斯拉与Uber达成协议,为Uber伦敦司机提供电动汽车

热门文章

  1. Acwing 2069. 网络分析(并查集+树laz)
  2. 全国计算机等级考试三级数据库试题,9月全国计算机等级考试三级《数据库技术》笔试真题...
  3. 菲律宾云服务器怎么样,菲律宾云服务器新手使用指南
  4. 书单推荐 — 《浪潮之巅》
  5. 手把手教你一键随机获取快手热门短视频的技巧
  6. 分类/回归/聚类——模型评估
  7. keras 香草编码器_2020年的香草指数HTML
  8. = markdown 分界线 =
  9. python深度学习--处理文本数据(one-hot; word Embedding)
  10. 计算机技术比武试题,计算机专业技术比武理论试题