软件测试:最强面试题整理出炉附答案,一点点小总结,建议收藏

话不多说,我只是一个喜欢分享整理软件测试相关的面试题的卑微萌新,直接上干货

大家如果想下载我录制的一些软件测试学习视频、面试资料
或者想我的哈皮群友讨论怎么学软件测试、自动化测试的都可以点这里✔←
Python自动化软件测试3
在这里插入图片描述

一、Web自动化测试

1.Selenium中hidden或者是display = none的元素是否可以定位到?

不能,可以写JavaScript将标签中的hidden先改为0,再定位元素

2.Selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?

1.添加元素智能等待时间 driver.implicitly_wait(30)
2.添加强制等待时间(比如python中写 sleep)
3.try 方式进行 id,name,clas,x path, css selector 不同方式进行定位,如果第一种失败可以自动尝试第二种

3.如何提高Selenium脚本的执行速度?

代码优化,多任务,分布式部署都是可以提升脚本执行速度的。

4.用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就没办法通过了,如何去提升用例的稳定性?

1.time.sleep( )
2.driver.implicitly_wait(30)
3.多用 try 捕捉,处理异常

5.你的自动化用例的执行策略是什么?

自动化测试与软件开发本质上是一样的,利用自动化测试工具,经过测试需求分析,设计出自动化测试用例,从而搭建自动化测试的框架,设计与编写自动化脚本,验证测试脚本的正确性,最终完成自动化测试测试脚本(即主要功能为测试的应用软件)并输出测试结果

6.自动化测试的时候是不是需要连接数据库做数据校验?

从数据库层面来进行数据校验可以更方便验证系统的数据处理方面是否正确,数据处理逻辑正常后,UI层面上的校验也是需要做的。
在这里插入图片描述

7.id,name,class,xpath, css selector这些属性,你最偏爱哪一种,为什么?

css 、xpath 几乎所有的元素都可以定位到,但是它们的短处在于页面上更改了元素后位置很容易改变,所以首先使用的还是id或者name等。

8.如何去定位页面上动态加载的元素?

触发动态加载元素的事件,直至动态元素出现,进行定位

9.如何去定位属性动态变化的元素?

xpath或者css通过同级、父级、子级进行定位
点击链接以后,Selenium是否会自动等待该页面加载完毕?
会的

10.什么是page object设计模式?

简单来说,就是把页面作为对象,在使用中传递页面对象,来使用页面对象中相应的成员或者方法,能更好的体现面向对象语言(比如java或者python)的面向对象和封装特性。

11.如何在定位元素后高亮元素(以调试为目的)?

用JavaScript等脚本来重置元素属性,给定位的元素加背景、边框

12.什么是断言?

断言的英文是assertion,断言检查的英文是assertion checking。
断言是指定一个程序必须已经存在的状态的一个逻辑表达式,或者一组程序变量在程序执行期间的某个点上必须满足的条件。

13.你觉得自动化测试最大的缺陷是什么?

1.不稳定
2.可靠性
3.不易维护
4.成本与收益

14.Webdriver可以用来做接口测试吗?

接口测试有现成的模块来处理,WebDriver是用于做WebUI自动化测试的。如果要实现接口测试,可以使用Requests模块来实现

二、APPUI自动化测试

1.Android APP 内存不足时, 系统如何结束进程获得内存?

系统优先结束被挂起(暂停)的进程,释放内存

2.APP 测试常见的严重问题有哪些? 分别引起的原因有哪些?

常见的有 crash、ANR(应用无响应、卡死),一般由设备碎片化、网络波动大、内存泄漏、代码编写错误

3.请简单介绍你曾使用过的一款 APP 自动化测试工具 ?

开放性问题,带点主观意见
1.对比其他熟悉的自动化工具的优缺点
2.自动化的简要方案(简要的同时关键内容请具体)。(提示: appnium 等)

4.Android 测试与 web 测试有什么区别?

相同点:
1.设计测试用例均依据等价类、边界值等方法,测试原理相同;
2.大多数都采用黑盒测试方法来验证业务功能;
3.需要检查界面布局、风格和按钮是否美观、统一等(UI测试);
4.测试页面载入和翻页的速度、登录时长是否溢出等问题(

  • 19
    点赞
  • 174
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
当谈到软件测试面试题集合时,有很多常见的问题和答案可以帮助你准备面试。以下是一些常见软件测试面试题及其答案: 1. 什么是软件测试? 答:软件测试是一种评估软件质量的过程,通过执行预定义的测试用例来检查软件是否满足预期的需求和功能。 2. 软件测试的目的是什么? 答:软件测试的目的是发现软件中的缺陷和错误,并确保软件在交付给用户之前具有高质量和可靠性。 3. 什么是黑盒测试和白盒测试? 答:黑盒测试是基于软件功能和需求规格进行的测试,而不考虑内部实现细节。白盒测试是基于软件内部结构和代码进行的测试。 4. 什么是单元测试和集成测试? 答:单元测试是对软件中最小的可测试单元进行的测试,通常是一个函数或一个模块。集成测试是将多个单元组合在一起进行的测试,以验证它们在集成时的正确性。 5. 什么是回归测试? 答:回归测试是在对软件进行更改或修复后重新执行现有测试用例,以确保修改不会导致其他功能出现问题。 6. 什么是性能测试? 答:性能测试是评估软件在不同负载条件下的性能和响应能力的过程,以确定其在实际使用情况下的表现。 7. 什么是自动化测试? 答:自动化测试是使用脚本和工具来执行测试用例的过程,以减少人工干预并提高测试效率。 8. 什么是缺陷跟踪? 答:缺陷跟踪是记录、跟踪和管理软件中发现的缺陷和问题的过程,以确保它们得到及时解决。 9. 什么是测试计划和测试策略? 答:测试计划是定义测试范围、目标、资源和时间表的文档。测试策略是定义测试方法、技术和工具的文档。 10. 什么是冒烟测试? 答:冒烟测试是在软件构建或发布之前执行的一组基本功能测试,以验证软件是否可以进行更详细的测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值