当前位置:   article > 正文

已成功入职字节月薪20k,2024最新软件测试面试题《含答案》_软件测试20k面试_字节跳动软件测试面试题

字节跳动软件测试面试题

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
img

正文

A:Appium 属于 C/S 架构,Appium Client 通过多语言支持的第三方库向 Appium Server 发起请求,基于 Node.js 的 Appium Server 会接受 Appium Client 发来的请求,接着和 iOS 或者 Android 平台上的代理工具打交道,代理工具在运行过程中不断接收请求,并根据 WebDriver 协议解析出要执行的操作,最后调用 iOS 或者 Android 平台上的原生测试框架完成测试。

1.什么是自动化测试?

自动化测试是一种使用自动化工具编写和执行测试人员测试脚本和案例的技术。
自动化测试的主要目标是减少手动运行的测试用例数量,而不是完全取消手动测试。

2.什么时候自动化测试?

在以下情况下首选自动化

  • 重复性任务
  • 烟雾和理智测试
  • 使用多个数据集进行测试
  • 回归测试用例
    通常,决定基于ROI(投资回报率)

3.你什么时候不自动化测试?

人们不应该在以下情况下自动化

  • 当受测试的应用程序频繁更改时
  • 一次测试案例
  • 临时 - 随机测试

4.自动化过程涉及哪些步骤?

在自动化过程中,涉及的步骤是

  • 选择测试工具
  • 定义自动化范围
  • 规划,设计和开发
  • 测试执行
  • 保养

5.规划自动化阶段时涉及的要点是什么?

在自动化的规划阶段,必须考虑的事项是

  • 选择“正确”的自动化工具
  • 如果选择自动化框架
  • 范围内和自动范围外的项目列表
  • 测试环境设置
  • 为测试脚本开发和执行准备项目时间表的授予图表。
  • 确定测试可交付成果

6.在什么条件下我们不能使用Agile方法的自动化测试?

在以下条件下,自动化测试对敏捷方法无用

  • 当敏捷测试总是要求改变需求时
  • 当敏捷需要详尽的文档级别时
  • 仅适用于敏捷测试期间的回归测试,如持续集成

7.良好的自动化工具的主要特征是什么?

  • 测试环境支持且易于使用
  • 良好的调试设施
  • 强大的物体识别
  • 对象和图像测试能力
  • 对象识别
  • 测试数据库
  • 支持多个框架

8.软件自动化测试中使用的框架有哪些类型?

在软件自动化测试中使用了四种类型的框架

  • 数据驱动的自动化框架
  • 关键字驱动的自动化框架
  • 模块化自动化框架
  • 混合自动化框架

9.执行自动化测试时的脚本标准是什么?

在编写用于自动化的脚本时,您必须考虑以下事项:

  • 统一命名约定。
  • 每10行代码3行注释
  • 足够的缩进。
  • 强大的错误处理和恢复方案
  • 尽可能使用框架

10.哪些是最受欢迎的自动化测试工具?

最受欢迎的自动化测试测试工具是

  • QTP(HP UFT)
  • 理性机器人
  • Selenium

11.您可以在什么基础上绘制自动化测试的成功图?

通过遵循标准,可以映射自动化测试的成功

  • 缺陷检测率
  • 自动化执行时间和时间节省以释放产品
  • 减少人工和其他费用

12.可以列出手动测试的一些缺点吗?

  • 手动软件测试需要更多时间和更多资源。
  • 不准确
  • 反复执行相同的测试用例容易出错并且很无聊。
  • 在非常大的项目和有时限的项目上进行手动测试是不切实际的。

13.告诉我你对Selenium的了解

Selenium是一个免费的(开源)Test Suite框架。它用于自动化Web和移动环境。它包括

  1. Selenium IDE(浏览器插件 - 录制和播放工具)
  2. Selenium WebDriver
  3. Selenium Grid(分布式测试)
    Selenium支持Java,C#,Python,Ruby,PHP,Perl,Javascript等语言的脚本编写。

14.告诉我有关QTP的信息

QTP(Quick Test Professional)现在称为HP UFT。它是一种商业自动化工具,支持各种测试环境Web,桌面,SAP,Delphi,Net,ActiveX,Flex,Java,Oracle,Mobile,PeopleSoft,PowerBuilder,Siebel,Stingray,Visual Basic等。

脚本语言是VBScript。该工具可与HP ALM(测试管理工具)和HP LoadRunner(性能测试工具)很好地配合使用。

QTP的突出特点包括业务流程测试,关键字驱动框架,XML支持,强大的检查点,测试结果。

15.解释Sikuli是什么?

Sikuli是一个使用“Visual Image Match”方法自动化图形用户界面的工具。Sikuli中的所有Web元素都应作为图像存储在项目中。
Sikuli由。组成

  • Sikuli脚本
  • Jython的Visual Scripting API
  • Sikuli IDE
    Sikuli的实际用途是
  • 它可用于自动化Flash网站或对象
  • 它可以自动执行基于窗口的应用程序以及您在屏幕上看到的任何内容,而无需使
  • 它提供简单的API
  • 它可以很容易地与Selenium等工具相关联
  • 桌面应用程序可以自动化
  • Sikuli为自动化Flash对象提供广泛的支持
  • 要自动化桌面,它使用强大的“Visual Match”和Flash对象
  • 它可以适用于任何技术–.NET,Java,

16.提到Selenium和Sikuli有什么区别?

Selenium:

  • 它不能自动化视频播放器,音频播放器等闪存对象。
  • 它有复杂的API
  • 它没有视觉匹配
  • 它只能自动化Web应用程序
    Sikuli:
  • 它为自动化Flash对象提供了广泛的支持
  • 它有简单的API
  • 它使用视觉匹配来查找屏幕上的元素。因此,我们可以自动化我们在屏幕上看到的任何内容
  • 它可以自动化Web和Windows应用程序

最后大家看一看这十个问题能答出几个?

1.三种等待时间的区别和场景应用?

强制等待、隐式等待、显示等待。

第一个强制等待:就是说,当我去点击

当我把这两行代码

放到这里

不管你这个元素,有没有在页面出现我都等3秒,我再去操作它。是强制,命令式的。但是这些往往一般都只用在脚本的调试,不会真正的出现在自动化测试用例中。你想一想,一个用例十行你加了十个,一个等三秒那十个等三十秒,一个用例三十秒是不可取的。

第二个

隐式等待:一般用在什么地方呢?

这个就是隐式等待。

比如说隐式等待它是一个什么样的区别?就是说你不管点哪里它只要写一次就可以了。像time.sleep(3)你每次都要去写,像driver .implicitly_wait( 3)#一次就好了。它每次去点都会等待三秒,那中间这个三秒它在等什么呢?

重点来了,一个页面它可能有非常多的图片,jss、css、img。就是再加载jss的图片。举个例子我想点击搜索按钮

隐式等待的三秒钟就是在等待这个页面的所有js和图片加载出来。就算你搜索按钮出来了,我还要去等js、img加载完成。理解了吗?软件测试全栈内容欢迎来公众号程序员一凡交流学习。那么如果三秒钟之类jss、css没有加载完成我还是不会去点你,这就是一个隐式等待。它虽然很方便但是有瑕疵。

第三个:

那么什么叫显示等待呢?

字面意思就是和隐式等待相反。一个是隐藏的一个是非常明显的,我想要去做什么就做什么,不需要等待。

当这个搜索按钮一显示出来,我马上就去点它。

我不管页面的其他LOGO、图片有没有加载出来,只要我的想要的比如搜索按钮出来了,我就马上去点击它。

这个题目是做自动化测试非常重要也非常基础的问题,所以我把这个问题排在了第一。

这个问题以后被问到,就难不到你了。

听懂了的朋友,点赞支持一波~

2.之前项目做过自动化测试吗?如何推进的?

工资想超过15K,这个问题是必问的!

不要看这个问题很简单?这个问题其实有点难度的。面试官问你有没有做过自动化测试,那么你肯定不能简单的说:额~我做过!

你要告诉面试官,你如何自动化开展到推进。如何推进的非常重要,你如何开始自动化入和推进,咱们不要片面的去回答,会或者不会。

比如你这样回答:我会,之前公司我们的项目接口方面,前端UI方面我是用selenium这个开源框架加上Python基础架构来实现我的自动化来实现的。

实现原理:用一些单元测试框架unittest去组织我们的测试用例,(或者用Pytest)

数据驱动:比如说我们用execl表去做一个数据驱动,然后我们用到一些关键字驱动,还有你在做自动化你遇到哪一些问题,大家一定要准备几个自动化遇到的问题!这个即使你不说,也是必问的!然后就是这些问题你是如何解决的。

给大家分享一个公式:

如何解决这些问题呢

对你公司项目产生了什么样的价值?像我去面试的时候,我就会说成为我们公司的一个固定资产。

不管是开发、产品、运营,都会用到咱们的这个自动化脚本。可以帮我们线上监控,帮我们自动化回归,帮我们造数据,帮我们跑数据,提高了迭代效率,释放了很多人力。

自动化测试有什么用,是对自动化最大的误解。

很多做软件测试的同行,他没有用过确实感受不到。我之前开始做自动化的时候,在一个人工智能的公司。产品上线之前,CTO只问我一句话,能不能上?因为我这边有很多自动化项目已经不停的在回归,然后功能测试也测了。所以功能+自动化结合就能很自信的上线。它校验出了很多隐藏的BUG,很多因为代码提交、新功能的开发产品的BUG。

3.RF框架用过吗?关键字驱动的原理?如何开发系统关键字?

4.selenium的底层核心原理是什么?有没有做过二次封装?

5.requests中的session会话管理的作用是什么?

6.unittest/pytest有什么区别?

7.谈谈你对自动化分层思想的理解?

其实这句话,经常会被写到一些大型招聘网上去。你会自动化而且还要会自动化分层思想。

做自动化和做功能测试一样,那么它分为哪些东西?

第一个:自动化用例它有一个业务层/业务逻辑

比如登录的业务逻辑是什么?

输入用户名-输入密码-点击登录按钮

分层:

业务逻辑

关键字驱动:

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

做自动化和做功能测试一样,那么它分为哪些东西?

第一个:自动化用例它有一个业务层/业务逻辑

比如登录的业务逻辑是什么?

输入用户名-输入密码-点击登录按钮

分层:

业务逻辑

关键字驱动:

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-BPzln2QN-1713215412023)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/796597
推荐阅读
相关标签
  

闽ICP备14008679号