首页 > 其他分享 >已成功入职字节月薪20k,2024最新软件测试面试题《含答案》_软件测试20k面试

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

时间:2024-09-04 09:52:09浏览次数:13  
标签:面试题 框架 Selenium Sikuli 测试 自动化 20k 等待 软件测试

appium原理?

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基础架构来实现我的自动化来实现的。

标签:面试题,框架,Selenium,Sikuli,测试,自动化,20k,等待,软件测试
From: https://blog.csdn.net/2401_86962969/article/details/141660449

相关文章

  • Java 面试题:事务隔离级别以及并行事务会出现什么问题&&怎么解决脏读、不可重复读和幻
    文章目录四种事务隔离级别MySQL中设置事务隔离级别四种事务隔离级别在并行事务中可能会遇到的问题脏读、不可重复读和幻读三者区别事务的隔离级别是怎么解决这三个问题的?ReadView是什么ReadView包含的信息ReadView在MVCC中的工作原理工作流程总结事务的隔......
  • 高级java每日一道面试题-2024年9月02日-基础篇-什么是脏读、不可重复读和幻读?
    如果有遗漏,评论区告诉我进行补充面试官:什么是脏读、不可重复读和幻读?我回答:在数据库事务的并发控制中,脏读(DirtyRead)、不可重复读(Non-repeatableRead)和幻读(PhantomRead)是三种常见的并发问题,它们主要涉及到事务的隔离级别和一致性。了解这些问题有助于我们设计更健......
  • 高级java每日一道面试题-2024年9月02日-基础篇-如何处理嵌套事务?
    如果有遗漏,评论区告诉我进行补充面试官:如何处理嵌套事务?我回答:处理嵌套事务(NestedTransactions)是Java开发中一个常见的问题,特别是在涉及多个数据库操作时。嵌套事务指的是在一个事务中又开始了另一个事务,形成了事务的层次结构。处理嵌套事务需要特别注意事务的边界......
  • 面试题
    面试题浏览器是如何渲染页面的?当浏览器的网络线程收到HTML文档后,会产生一个渲染任务,并将其传递给渲染主线程的消息队列。在事件循环机制的作用下,渲染主线程取出消息队列中的渲染任务,开启渲染流程。整个渲染流程分为多个阶段,分别是:HTML解析、样式计算、布局、分层、绘制、......
  • js面试题手写代码
    实现一个new操作符实现一个instacneof操作符 实现一个new操作符 functionmyNew(fn,...args){if(typeoffn!=='function){returnTypeError('fnmustbeafunction')}//letobj={}创建一个空对象//obj.__proto__=fn.prototype将......
  • 中新赛克嵌入式面试题及参考答案
    目录在编码中使用过的数据结构描述如何实现链表当发生哈希冲突时的解决策略在调用malloc分配内存后确保分配成功的操作解释TCP的三次握手过程及说明两次握手不可行的原因优化多个客户端同时连接到服务器的连接管理设计和实现心跳检测机制在项目中是否使用了锁机制......
  • 2024年携程大数据开发面试题及参考答案
    目录JavaObject类中包含的方法hashCode方法和equals方法的关系以及它们的重要性volatile关键字在Java中的作用对java.util.concurrent包下的类的了解线程池的核心参数及其作用优先队列(PriorityQueue)的概念红黑树对Hadoop和Spark的了解为什么在这里选择......
  • 关于jmeter的一些面试题及回答
    1、说明jmeter的工作原理jmeter就像一个虚拟用户模拟器,你创建一个测试计划,指定这些虚拟用户(线程)要做什么,比如你要访问网站的不同页面,jmeter会按照你设定的规则,让这些虚拟用户同时发起请求,然后记录下这些请求的响应时间和结果,最后,你可以通过查看这些数据来分析网站在不同负载下......
  • 互联网 Java 工程师面试题(Java 面试题四)
    下面列出这份Java面试问题列表包含的主题多线程,并发及线程基础数据类型转换的基本原则垃圾回收(GC)Java集合框架数组字符串GOF设计模式SOLID抽象类与接口Java基础,如equals和hashcode泛型与枚举JavaIO与NIO常用网络协议Java中的数据结构和算法正则表达式JVM底......
  • 消息队列面试题 -- 一问一个准
    消息队列 RabbitMQ的死信队列和延时队列?消息被拒,requeue设置为false消息过期,队列达到最大程度这时候会存放到死信队列中去。设置消息过期时间:采用队列中的x-message-ttl参数去设置,单位是毫秒关于ActiveMQ、RocketMQ、RabbitMQ、Kafka一些总结和区别为什么使用消息......