BAT大厂都爱出的十道自动化测试面试题,看到就是赚到

目录

一.项目

二.http和https的区别是什么

参考答案

三.接口测试细节方面的面试题

1.json 和字典的区别?

2.测试的数据你放在哪?

3.参数化

4.下个接口请求参数依赖上个接口的返回数据

5.依赖于登录的接口如何处理

6.依赖第三方的接口如何处理

7.不可逆的操作,如何处理,比如删除一个订单这种接口如何测试

8.接口产生的垃圾数据如何清理

9.一个订单的几种状态如何全部测到,如:未处理,处理中,处理失败,处理成功

10.python 如何连接数据库操作?

11.其它的就是运行出报告、代码管理(git)、运行策略和持续集成 jenkins相关了

四.Linux指令

五.测试工具

六.元素定位

参考答案:

七.遇到过的问题

八.测试用例

参考答案

九.字符串

十.你还有什么想问的吗

后话


前言
“面试造航母,工作拧螺丝。”
这句话在互联网行业可以说是很真实了,但作为面试官来说,大都时候的一场面试,并不是主要面你需要的岗位,而是看你掌握的能力把你安排到缺少的岗位

因此初面的范畴都是很广的,什么算法知识、工具掌握、语言基础甚至些前端运维的知识都很常见

这里就给大家举例十个,在面试自动化测试的时候,所谓的大厂都爱出的面试题

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:1150305204【暗号:csdn000】

 

一.项目

上一个项目做的什么、在项目中负责的什么等类似的问题
如果是实习岗,便会问你最近在学些什么,碰到过什么问题
主要是和你交流简历上写的经历,会挑选你简历上的一些信息进行询问,并顺着你的回答深入询问。
这一步是为了筛选你的个人经历的“厚度”和真实性,在简历上就要记得写自己擅长的方面,有一些拿捏不住的经历一定不要虚夸记录

二.http和https的区别是什么

这个问题会设计到前端问题,做一个自动化测试只有三种:UI自动化测试,接口自动化测试,性能自动化测试,而前端和接口密不可分,连http的报文都不能完全掌握,就没必要把你往接口岗位输送了

参考答案

HTTP 协议传输的数据都是未加密的,也就是明文的,因此使用 HTTP 协议传输隐
私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司 设计了SSL(Secure Sockets Layer)协议用于对 HTTP 协议传输的数据进行加密,从而就诞生了 HTTPS。简单来说,HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,要比 http 协议安全。

HTTPS 和 HTTP 的区别主要如下:
总的来说: HTTPS=SSL+HTTP
1、https 协议需要到 ca 申请证书,一般免费证书较少,因而需要一定费用。
2、http 是超文本传输协议,信息是明文传输,https 则是具有安全性的 ssl 加
密传输协议。
3、http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,
后者是 443。
(这个只是默认端口不一样,实际上端口是可以改的)
4、http 的连接很简单,是无状态的;HTTPS 协议是由 SSL+HTTP 协议构建的可进
行加密传输、身份认证的网络协议,比 http 协议安全。

HTTP 请求报文与响应报文格式
请求报文包含三部分:
a、请求行:包含请求方法、URI、HTTP 版本信息
b、请求头部(headers)字段
c、请求内容实体(body)
响应报文包含三部分:
a、状态行:包含 HTTP 版本、状态码、状态码的原因短语
b、响应头部(headers)字段
c、响应内容(body)实体

三.接口测试细节方面的面试题

不管你有无通过上一个问题,面试官趋于保守,会再问一个接口相关的问题,这个迹象可能会被看做是刻意刁难,但是要知道,谁也不愿放过一个潜在的人才,多几重问题才能确定一个人是否合适一个岗位

关乎接口测试细节方面的问题有很多,基本是考虑接口测试深度,以下问题由浅入深

1.json 和字典的区别?

对基础数据类型的考察

2.测试的数据你放在哪?

数据与脚本分离

3.参数化

数据驱动模式

4.下个接口请求参数依赖上个接口的返回数据

参数关联

5.依赖于登录的接口如何处理

token 和 session 的管理

6.依赖第三方的接口如何处理

mock 模拟数据返回

7.不可逆的操作,如何处理,比如删除一个订单这种接口如何测试

造数据

8.接口产生的垃圾数据如何清理

数据清理

9.一个订单的几种状态如何全部测到,如:未处理,处理中,处理失败,处理成功

造数据,改数据库订单状态

10.python 如何连接数据库操作?

11.其它的就是运行出报告、代码管理(git)、运行策略和持续集成 jenkins相关了

以上系列问题的参考答案我放在公众号自动化测试 资料小屋,公众号内回复【小家洛】即可进行领取

四.Linux指令

你常用的Linux指令有哪些?举例几个你用过的Linux指令,并说出他们的用处
Linux指令是一个我喜欢出的问题,因为通过Linux指令使用的熟练与否能看出一个人互联网工作的年限,与是否有专业学习过计算机基础
这里拿出十个测试人员常用的linux指令与作用

  • ls 查看目录中的文件
  • cd /home 进入 ‘/ home’ 目录;cd … 返回上一级目录;cd …/… 返回上两级目录
  • mkdir dir1 创建一个叫做 ‘dir1’ 的目录
  • rmdir dir1 删除一个叫做 ‘dir1’ 的目录 (只能删除空目录)
  • rm -f file1 删除一个叫做 ‘file1’ 的文件’,-f 参数,忽略不存在的文件,从不给出提示。
  • rm -rf /mulu 目录下面文件以及子目录下文件
  • cp /test1/file1 /test3/file2 如将/test1 目录下的 file1 复制到
    /test3 目录,并将文件名改为 file2
  • mv /test1/file1 /test3/file2 如将/test1 目录下的 file1 移动到
    /test3 目录,并将文件名改为 file2
  • mv * …/ Linux 当前目录所有文件移动到上一级目录
  • ps -ef|grep xxx 显示进程 pid

五.测试工具

你常用的测试工具?上个项目中你用过什么测试工具?等类似工具的问题
其实一般会拿两个工具让你比较,说一下优劣
这类问题是一个表现的机会,一定要记得旁征博引,将现有话题引到自己擅长的工具上面去

六.元素定位

怎么确定一个页面元素是否存在?常用的元素定位方法?

上面说过了,自动化测试只分UI自动化测试、接口自动化测试和性能自动化测试,元素定位就主要在UI自动化测试阶段提问

参考答案:

方法一:用 try…except…

def is_element_exsist(driver, locator):
 '''
 判断元素是否存在,存在返回 True,不存返回 False
 :param locator: locator 为元组类型,如("id", "yoyo")
 :return: bool 值,True or False
 '''
 try:
 driver.find_element(*locator)
 return True
 except Exception as msg:
 print("元素%s 找不到:%s" % (locator, msg))
 return False
if __name__ == '__main__':
 loc1 = ("id", "yoyo") # 元素 1
 print(is_element_exsist(driver, loc1))

方法二:结合 WebDriverWait 和 expected_conditions 判断from selenium import webdriver

from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
def is_element_exsist2(driver, locator):
 '''
 结合 WebDriverWait 和 expected_conditions 判断元素是否存在,
 每间隔 1 秒判断一次,30s 超时,存在返回 True,不存返回 False
 :param locator: locator 为元组类型,如("id", "yoyo")
 :return: bool 值,True or False
 '''
 try:
 WebDriverWait(driver, 30, 
1).until(EC.presence_of_element_located(locator))
 return True
 except:
 return False
if __name__ == '__main__':
 loc1 = ("id", "yoyo") # 元素 1
 print(is_element_exsist2(driver, loc1))

七.遇到过的问题

你的项目碰到过什么问题?是如何解决的?
这也是个考验型的问题,可以简单地说说平常遇到过的坑,这个问题主要是用来看个人深度的

八.测试用例

水杯,电梯等都是经典测试用例面试题,还有问:说下常用的黑盒测试方法?什么情况下用哪种?

自动化测试超脱与点点点,但是离不开点点点,虽说进入了技术的范畴,但是还是逃不开业务范围

参考答案

  1. 功能
  • 水倒水杯容量的一半

  • 水倒规定的安全线

  • 水杯容量刻度与其他水杯一致

  • 盖子拧紧水倒不出来

  • 烫手验证

  1. 性能
  • 使用最大次数或时间

  • 掉地上不易损坏

  • 盖子拧到什么程度水倒不出来

  • 保温时间长

  • 杯子的耐热性

  • 杯子的耐寒性

  • 长时间放置水不会漏

  • 杯子上放置重物达到什么程度杯子会被损坏

  1. 界面
  • 外观完整、美观

  • 大小与设计一样(高、宽、容量、直径)

  • 拿着舒服

  • 材质与设计一样

  • 杯子上的图案掉落

  • 图案遇水溶解

  1. 安全
  • 杯子使用的材质毒或细菌的验证

  • 高温材质释放毒性

  • 低温材质释放毒性

  1. 易用性
  • 倒水方便

  • 喝水方便

  • 携带方便

  • 使用简单,容易操作

  • 防滑措施

  1. 兼容性
  • 杯子能够容纳果汁、白水、酒精、汽油等。
  1. 震动测试
  • 杯子加包装(有填充物),六面震动,检查产品是否能应对铁路/公路/航空运输。
  1. 可移植性
  • 杯子在不同地方、温度环境下都可以正常使用。

九.字符串

手撕代码,必不可少,这个不多加赘述了,题目太多,堪称题海

十.你还有什么想问的吗

这个问题估计在面试场景的出现率会有90%以上,面试是一个有来有回的过程,而不是单方面的询问
我还是挺喜欢在这个环节有不少问题的人,即使他不会选择我的公司
这里提出几个常见提问
1.贵公司目前的项目在做那个阶段?
2.贵公司用的测试框架是什么
3.入职以后我的主要职责在那个方面
4.您对我的这次面试有什么评价吗(这个很重要)

后话

以上这些面试题都是非常容易被面试官问到的,建议保存,面试之前反复观看,最后祝愿所有的面试者都能够找到自己满意的工作。

这些资料是我从开始学习的时候找的和朋友给的资料,现在已经整理归纳好了,软件测试、自动化测试的详细资料包含:电子书,简历模块,各种工作模板,面试宝典,自学项目、视频课程等。需要的点击文末名片加入群聊与我一起学习交流

 

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

  • 35
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值