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

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

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

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

① 是否满足前提条件

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

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

② 是否携带默认值参数

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

③ 业务规则、功能需求

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

④ 参数是否必填

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

⑤ 参数之间是否存在关联

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

⑥ 参数数据类型限制

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1 决定自动化什么

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

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

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

3 消除不确定性

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

4 选择正确的框架和工具

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

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

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

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

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

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

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

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

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

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

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

多用 try 捕捉,处理异常;

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

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

解决方法如下:

使用单例模式;

使用自定义缓存机制;

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

pytest 中 fixture 机制;

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/869787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试经典题

找出字符串中第一个匹配项的下标 class Solution { public:vector<int> getNextArray(string needle){int n needle.size();if(n 1){return {-1};}else if(n 2){return {-1, 0};}vector<int> res(n);res[0] -1;res[1] 0;int cnt 0;int i 2;while(i < n)…

从零开始搭建互联网医院系统:技术与案例解析

随着信息技术的飞速发展和人们对医疗服务需求的增加&#xff0c;互联网医院逐渐成为医疗服务的重要模式。本文将详细介绍从零开始搭建互联网医院系统的关键技术和具体案例&#xff0c;帮助读者理解如何构建一个高效、可靠的互联网医院系统。 一、互联网医院系统的核心技术 1…

60秒带你了解冒泡排序

排序似乎有很多种排序&#xff0c;选择、插入、快速、归并、基数排序等等&#xff0c;今天实现一种最简单的排序方式&#xff1a;冒泡排序&#xff08;Bubble Sort&#xff09;。 int[] arr {9,1,6,3,8,4}; ↓&#xff08;如何通过算法实现这个过程&#xff1f;&#xff09; …

SMU Summer 2024 Contest Round 3

A.Hcode OnlineJudge 先用欧拉筛把质数预处理出来&#xff0c;然后枚举左端点的质数&#xff0c;只需要询问右端点是不是质数并取差值的min就行了 #include<bits/stdc.h> #define endl \n #define mk make_pair #define int long long using namespace std; typedef lon…

深入解析 Laravel 策略路由:提高应用安全性与灵活性的利器

引言 Laravel 是一个功能强大的 PHP Web 应用框架&#xff0c;以其优雅和简洁的语法而受到开发者的喜爱。在 Laravel 中&#xff0c;路由是应用中非常重要的一部分&#xff0c;它负责将用户的请求映射到相应的控制器方法上。Laravel 提供了多种路由方式&#xff0c;其中策略路…

NodeJS小饰品销售管理系统-计算机毕业设计源码21597

摘 要 在当今的数字化时代&#xff0c;电子商务已经成为了商业领域中不可或缺的一部分。随着消费者对于购物体验的要求越来越高&#xff0c;一个高效、便捷、用户友好的小饰品销售管理系统显得尤为重要。 本系统旨在利用 JavaScript 技术&#xff0c;设计并实现一个功能强大的小…

conda篇----在已有conda环境的基础上升级python包

conda篇----在已有conda环境的基础上升级python包 原先的python版本 第一步&#xff1a; conda update --all(py11) [xxxaivrs01 xxx]$ conda update --all Collecting package metadata (current_repodata.json): done Solving environment: done> WARNING: A newer vers…

如何高效学习(二)

二、如何练就超强学习能力&#xff1f;为什么有的人学的又快又好&#xff1f;高效学习的底层逻辑在这&#xff01; 说实话看到这个标题我感觉我捡到宝了&#xff0c;这不就是我一直在找寻的吗 这一节视频他分了三部分&#xff0c;分别是取势篇、明道篇、优术篇还有每次都有的&q…

【读点论文】ASAM: Boosting Segment Anything Model with Adversarial Tuning,对抗学习提升性能

ASAM: Boosting Segment Anything Model with Adversarial Tuning Abstract 在不断发展的计算机视觉领域&#xff0c;基础模型已成为关键工具&#xff0c;对各种任务表现出卓越的适应性。其中&#xff0c;Meta AI 的 Segment Anything Model (SAM) 在图像分割方面表现突出。然…

C语言 输出图案

输出以下图案: * * * * * * * * * * * * * * * * * * * * * * * * * #include <stdio.h>int main() {int n 5;for (int i 0; i < n; i) {for (int j 0; j < i; j) {printf(" ");}for (int k 0; k < n; k) {printf("* ");}pr…

首批!蚂蚁数科通过中国信通院面向大模型的可信执行环境产品专项测试

2024年6月17日&#xff0c;在中国信息通信研究院&#xff08;以下简称“信通院”&#xff09;组织的首批“面向大模型的增强型可信执行环境基础能力专项测试”中&#xff0c;蚂蚁数科摩斯顺利完成全部测试内容&#xff0c;成为首批完成此项测试的组织。 标准及测试介绍 《面向…

全局唯一id

问题引出&#xff1a; 由于数据库的自增的id很有规律&#xff0c;会让人猜到后续id 由于一个单表存储的数量有限&#xff0c;那么就会用多个表存储&#xff0c;每个表的id都是自增&#xff0c;这样导致id不唯一的情况。 引进新的方法&#xff1a; 具体解决方法&#xff1a;使用…

MySQL--函数、约束、多表查询

函数 函数指一段可以直接被另一段程序调用的程序或代码 字符串函数、数值函数、日期函数、流程函数 字符串函数 数值函数 日期函数 datediff&#xff08;date1,date2&#xff09;&#xff1a;date1-date2 流程函数 约束 概念&#xff1a;约束是作用于表中字段上的规则&…

ECCV:A Discriminative Feature Learning Approach for Deep Face Recognition

1 Abstract 卷积神经网络&#xff08;CNNs&#xff09;已广泛应用于计算机视觉领域&#xff0c;显著提高了计算机视觉领域的技术水平。在大多数可用的cnn中&#xff0c;使用软tmax损失函数作为监督信号来训练深度模型。为了增强深度学习特征的识别能力&#xff0c;本文提出了一…

AI自动生成PPT怎么用?5种提升演示效果的方法

随着#7月份我的同事一个个消失了#的话题热议&#xff0c;职场中的效率与变革再次成为焦点。 在忙碌的工作节奏中&#xff0c;AI自动生成PPT的软件悄然兴起&#xff0c;成为不少职场人的新宠。它们不仅简化了繁琐的PPT制作流程&#xff0c;更以高效、专业的姿态&#xff0c;助力…

包成功安装tiny-cuda-nn,记录安装过程中的问题解决,附带pytorch3d安装【踩坑指南】

tiny-cuda-nn安装过程中的问题解决&#xff0c;附带pytorch3d安装【踩坑指南】 前言tiny-cuda-nn第一种下载方法&#xff1a;命令行安装tiny-cuda-nn第二种下载方法&#xff1a;本地编译 pytorch3d安装 前言 official repo: https://github.com/NVlabs/tiny-cuda-nn 该包可以显…

Java 中的阻塞 IO 和非阻塞 IO

Java 中的阻塞 IO 和非阻塞 IO 1、阻塞 IO&#xff08;Blocking IO&#xff09;2、非阻塞 IO&#xff08;Non-blocking IO&#xff09;3、区别与应用场景4、总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; IO&#xff08;输入输出&…

C语言从头学32——字符串数组

关于字符串数组的声明方式&#xff0c;介绍两种&#xff1a; 1、二维数组方式 如果一个数组的每个成员本身也是字符串&#xff0c;那就需要通过二维的字符数组来表示。每个字符串本身是一个字符数组&#xff0c;多个字符串再组成一个数组。如下例&#xff1a; ch…

基于Booth乘法和Wallace树的乘法器优化思想

基于Booth乘法和Wallace树的快速乘法器 为了理解Booth乘法和Wallace数如何让乘法器变得更快&#xff1a; 先考虑不优化的8位乘法器实现&#xff0c;即8个16位数字累积共进行7次加法运算&#xff0c;可以认为一次16位加法用到16个全加器&#xff0c;则共需要112个全加器件&…

字节面试题:在线表格功能怎么实现?怎么测?

最近有小伙伴私信问我怎么不更新了&#xff0c;期待更新&#xff0c;甚是感动。 简述下自己近况&#xff1a; 还在干测试&#xff0c;最近忙活的事情大概是自动化测试、性能测试以及业务等等&#xff0c;主打一个啥活都干。 业余时间&#xff0c;尝试在短视频赛道搞一些个人兴…