2023年软件测试经典面试题

泽慧0 分享 时间:

软件测试面试问题及回答技巧是需求分析、测试计划、测试设计、测试执行、测试评估。以下是小编为大家收集的关于2023软件测试面试题的相关内容,供大家参考!

2023年软件测试经典面试题

2023年软件测试经典面试题(带答案)

1、自动化代码中,用到了哪些设计模式?

单例设计模式

工厂模式

PO设计模式

数据驱动模式

面向接口编程设计模式

2、什么是断言( Assert) ?

断言Assert用于在代码中验证实际结果是不是符合预期结果,

如果测试用例执行失败会抛出异常并提供断言日志

3、什么是web自动化测试

Web自动化测试是从UI (用户界面)层面进行的自动化测试,

测试人员通过编程自动化程序(测试用例脚本)来打开浏览器测试网站的业务逻辑。

4、什么是Selenium?

Selenium是一个开源的web自动化测试框架,支持多种编程语言开发自动化测试脚本,支持跨浏览器平台进行测试

5、写出Selenium中你最熟悉的接口或类

WebDriver、InternetExplorerDriver、 FirefoxDriver、 ChromeDriver、 WebElement、WebDriverWait、 By

6、元素定位类型有哪些?

By类一共有8种元素定位方式,它们都是静态方法:

By.id():

By.name():

By.tagName():

By.className():

By.cssSelector():

By linkText():

By partialLinkText():

By.xpath():

7、Xpath是什么?

它是查找web页面元素的一种方式,相当于元素在dom中间的一个路径,可以采用绝对路径和相对路径的方式进行定位

它对于定义动态的页面元素有很大的帮助,同时也需要谨慎使用,因为如果页面结构发生变化,那么定位信息也可能需要变化。

8、findElement()和findElements(方法有什么区别

两个都是查找页面元素的方法

findElement():查找一个页面元素,只会返回一个WebElement对象

findElements() :查找页面上所有符合匹配的元素,返回元素集合

9、登录按钮除了用click方法进行点击以外还有其他方式吗?

还可以使用submit()方法,前提是input元素的type为submit

10、怎么提高Selenium脚本的执行速度

优化等待时间:使用 WebDriverWait 智能等待来代替线程等待 sleep 和 隐式等待 implicityWait

减少不必要的操作:如直接进入某页面代替经过一系列自动化操作进入某页面在服务器允许的情况下,使用多线程实现并发执行测试用例.

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

1) :图像识别,技术难度大,效果不佳,不推荐

2) :屏蔽验证码,邀请开发处理,但在预生产环境或者生产环境不推荐

3) :万能验证码,使用一个复杂的其他人无法猜到的验证码

12、怎么验证复选按钮是不是被选中

可以使用元素的 isSelected() 方法,如果返回的是 true 则说明被选中,否则表明未被选中

13、如何处理alert弹窗?

处理 alert 弹窗首先需要先跳转到 alert 上,然后在点击确定或者取消按钮,

Alert alert = driver.switchTo().alert(); //切换到alert

alert.accept0; //确定

alert.dismiss0; //取消

14、下拉菜单中如何去选择一个菜单项?

如果下拉菜单是select标签,使用方法: selectByValue() 或者 selectByIndex() 或者 selectByVisibleText() 即可

如果这个下拉菜单不是通过 select 标签创建,则直接通过 xpath 定位元素然后去点击选择

15、如何模拟浏览器的前进和后退、刷新操作

driver.navigate().back()://后退

driver. navigate().forward()://前进

driver.navigate0.efresh()://刷新

16、怎么获得当前页面的URL?

String url = driver.getCurrentUrl();

17、WebDriver的close()和quit(方法的区别是什么?

close()方法只是关闭当前正在操作的窗口

quit()是关闭了所有已经打开的窗口

18、你觉得自动化测试用哪些缺陷

成本比较大,而成效可能并不高

适合自动化测试的功能有限

某些功能操作相对复杂,比如验证码

维护成本高,一旦项目需求变更,自动化测试脚本和用例就需要改进

19、Web端功能自动化,如何实现(非input型上传)上传文件

与windows窗口进行交互,可以使用 pywin32库 实现。

20、遇到这种class中间有空格的控件,如何通过class定位?

xpath定位:直接//d1 [@class="inf_bar clearfx"]

css定位: d1.inf_bar.clearfix

21、单元测试的策略有哪些?

逻辑覆盖、循环覆盖、同行评审、桌前检查、代码走查、代码评审、景泰数据流分析

22、LoadRunner分哪三部分?

用户动作设计;场景设计; 测试数据分析;

23、LoadRunner进行测试的流程?

–1、 熟悉业务流程,测试规划

–2、 创建虚拟用户脚本

–3、 创建运行场景

–4、 运行测试脚本

–5、 监视场景

–6、 分析测试的结果

以上,最好是结合一个案例,根据以上流程来介绍。

24、软件的评审一般由哪些人参加?其目的是什么?

在正式的会议上将软件项目的成果(包括各阶段的文档、产生的代码等)提交给用户、客户或有关部门人员对软件产品进行评审和批准。其目的是找出可能影响软件产品质量、开发过程、维护工作的适用性和环境方面的设计缺陷,并采取补救措施,以及找出在性能、安全性和经济方面的可能的改进。

人员:用户、客户或有关部门开发人员,测试人员,需求分析师都可以,就看处于评审那个阶段。

如何面试软件测试?

想要获得一个满意的offer,除了自身必要的专业能力和素质,还需要经过面试这一关。

面试前,多点了解公司是做什么业务的,以及工作岗位的主要工作内容。结合招聘要求,提前想一下面试官可能问的问题,换位思考以及延伸思考。面试过程中,需要学会把面试官引到自己熟悉的领域。最好就是结合一些流程图、原理图分析自己优化过程,让面试官知道你的思考轨迹,这时候,面试官才更容易认可你。此外,多点刷专业面试题,对面试成功也有很大的帮助。

软件测试面试自我介绍

尊敬的各位考官:

下午好!

我是计算机专业的面试者__,我此次应聘的职位是IT行业的软件工程师,这份工作不仅与我的专业对口,同时也是我的特长与兴趣所在。现在我就从以下三个方面介绍自己:

1、学习能力:我有较强的科研能力,能熟练的进行Windows2000和LINUX操作,并能使用VB,DELPHI等语言编程。能运用网页三剑客Photoshop软件进行相关工作。

2、实践能力:我的专长是软件开发,我希望能从事这方面的工作,并且我曾经发过多个系统,如人事档案管理系统,工资管理系统等等。

3、交际能力:我的性格沉稳,能坐得住,对IT行业的工作,具有非常好的适应能力,而且为人谦和,具有很强的组织和协调能力,富有的事业心和责任感使我能够面对任何困难和挑战。

从以上的简单自我介绍,我希望公司能给我一个展示自己能力的机会,让我我可以学以致用,同时我也很欣赏X公司的企业文化与工作环境。我愿意成为企业一员,为企业的发展贡献自己的一份力量。我的职业生涯目标是,做一个既懂技术,又懂业务的复合型人才。

1500784