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

2023-11-08 22:20

本文主要是介绍金九银十招聘季, 自动化测试面试题分享,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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~👋


学习资源分享

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….

这篇关于金九银十招聘季, 自动化测试面试题分享的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/372851

相关文章

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、

Python处理大量Excel文件的十个技巧分享

《Python处理大量Excel文件的十个技巧分享》每天被大量Excel文件折磨的你看过来!这是一份Python程序员整理的实用技巧,不说废话,直接上干货,文章通过代码示例讲解的非常详细,需要的朋友可... 目录一、批量读取多个Excel文件二、选择性读取工作表和列三、自动调整格式和样式四、智能数据清洗五、

Python使用python-docx实现自动化处理Word文档

《Python使用python-docx实现自动化处理Word文档》这篇文章主要为大家展示了Python如何通过代码实现段落样式复制,HTML表格转Word表格以及动态生成可定制化模板的功能,感兴趣的... 目录一、引言二、核心功能模块解析1. 段落样式与图片复制2. html表格转Word表格3. 模板生

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

电脑系统Hosts文件原理和应用分享

《电脑系统Hosts文件原理和应用分享》Hosts是一个没有扩展名的系统文件,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应... Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应