面试软件测试,有什么建议或面试题预测?

发表于:2021-3-23 09:24

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:知乎

  一、测试技能面试题准备
  不同测试方向,对应的测试技能是不同的。
  以下就是针对不同的测试方向,核心需要掌握的技能。
  · 功能测试可以理解为软件测试的基础,是必须要会的。
  · 接口测试其实起到的是承上启下的作用。不了解接口测试,之后的接口自动化以及性能测试就根本入不了门。
  · 自动化测试是初级测试工程师与中级测试工程师的分界线,如果要想拿到更好的offer,不懂代码是不行的。
  二、预测常见的面试题
  1、技术类的问题
  1) 怎么保证软件产品的质量?
  答:1.需要团队共同来参与测试;2.需求就开始介入;3.发现问题不能放过;4.加强技术,通过用例集来记录测试点防止有场景未被覆盖到。
  2) 你在公司中,是怎么准备测试数据的?
  答:1.把生产环境数据脱敏之后,导入到测试环境;2.通过业务逻辑,构造测试(例如需要登录,可以先注册然后再使用注册账号进行登录);3.通过数据库创建,这里面有分为"按照业务逻辑设计测试数据"和"通过导入的方式来设计测试数据"两种方式;4.通过代码来创建测试数据。
  3) 你们公司是怎么划分BUG的严重等级的,为什么这么划分?
  答:我们公司主要分为4个等级:严重、高、普通、一般。
  严重:一般是系统级别的错误,会导致系统奔溃,严重影响用户使用;以及影响范围广的BUG 。
  高:不会导致系统崩溃,但是会有导致功能出现异常的BUG,不满足需求设计的BUG。
  普通:边界值错误等。
  一般:易用性错误,提示性错误等等。
  4) 在实际工作当中,你主要从哪些维度设计测试用例
  答:我们设计用例时主要从功能、性能、安全、网络、兼容性、UI界面、专项测试这几大块。 
  其中功能,重点关注我们软件产品有没有实现具体的功能,只要测试是通过测试用法论,设计测试用例来进行测试。
  性能上,我们主要考虑功能操作的响应时间,以及CPU、内存、网络、磁盘IO的消耗情况。 
  安全上,我这边没有深入的进行测试,但是有一定的了解,我知道需要进行敏感信息是否加密、SQL注入等一些简单的安全测试。 
  网络上,我们需要关注,无网络、弱网、网络之间的切换的测试点 兼容性上,主要关注不同的版本兼容,如果是前端界面,需要关注分辨率等测试,如果是手机需要关注操作系统的兼容性。
  UI界面上,主要是关注一些UI测试点,按钮是否可用,界面之间是否能够顺利的跳转,布局等这些测试。 专项测试:针对一些独有的功能进行测试。
  5) 你在公司当中,是怎么分析定位BUG的?
  答:在公司里面,我们定位BUG必须借助工具才能完成。
  例如我们可以使用fiddler抓包,抓取接口的信息,如果是前端问题,那么在前端输入信息,和fiddler抓到的请求肯定会不一样。如果是接口的响应数据有问题,那么就是后端BUG。
  怎么深入定位后端里面的BUG呢?
  这个时候,我们需要借助日志来完成,我们按照开发提供的日志文件路径,来使用关键字搜索对应时间所产生的错误日志,根据日志的描述,来判断问题出在哪个方面。如果日志文件看不懂,可以让开发帮助查询分析。 
  一般BUG的来源有这么几个: 
  · 开发修复BUG引发的BUG 
  · 开发新功能引发的BUG 
  · 开发使用了依赖的第三方插件导致BUG 
  · 缓存导致的BUG
  6) 你们公司是如何做接口测试的?
  答:1.先进行需求分析,了解此次迭代需要实现的功能;
  2.解析API文档,了解此次迭代都新增了哪些接口,又有哪些接口更改了;
  3.根据API文档,编写测试用例;
  4.使用接口测试工具来完成接口测试用例的执行,常用的接口测试工具postman或者jmeter;
  5.在测试的过程中,需要进行缺陷管理以及跟踪,确认开发即使响应,并且快速修复问题;
  6.生成测试报告,将测试结果同步到项目组,来确定此次迭代是否可以上线;
  7.考虑将此次迭代的接口,编写到接口自动化项目中,方面之后的回归测试。
  7) 什么时候开展接口测试?
  答:1.开发给出API文档的时候,我们就可以开始编写接口的测试用例,这里有一个常识性的知识点:开发给出API文档的时候,接口并没有被开发出来;
  2.后端的开发提测的时候,我们就可以开始进行接口的测试了(实现接口的测试用例);
  3.接口测试完成或者快完成,我们就可以开始考虑使用代码实现接口的自动化。
  8) GET和POST有什么区别?
  答:1.Get通过URL来传输数据,POST通过URL和请求体传输数据,在请求体中的数据,我们是无法直接观测到的。 
  2.在安全性上,GET没有POST安全。但是他们都不是绝对安全。因为POST中的数据,可以通过抓包获取。
  3.在数据大小上,GET有限制,而POST没有上限。
  9) 你在实际工作当中,是怎么解决数据之间的依赖关系的?
  答:我在之前的XXXXX项目中,参与了的接口测试中,有大量接口存在依赖关系,以登录和添加员工接口为例。添加员工接口依赖了登录接口;我们使用的工具是POSTMAN,我这边通过先提取登录返回的令牌,然后保存到环境变量,再在下一个添加员工接口中,引入保存的环境变量,实现关联。
  10) 自动化测试的优缺点?
  答:优点: 自动化测试,可以很好的进行回归测试,自动化测试,能够解决手动测试一些难以测试的场景 自动化测试,可以解决一些复杂的业务逻辑。
  缺点: 不能完全代替手工测试, 自动化测试的脚本的编写和维护比较困难,对于质量比较低的代码,不适合做自动化。 对于需求变更频繁的项目,项目周期比较短的项目也不适合做自动化。
  11) 请简单介绍下PO模式的原理?
  答:什么是PO模式,它有什么作用? 
  PO模式,英文全称PageObject;它主要是为了减少代码重复,让代码可读性更强,更容易维护。 
  PO设计模式是怎么进行设计的?
  PO设计模式主要包括三层:对象层、操作层、业务层 ;
  对象层:主要封装某些元素定位的方法; 
  操作层:封装元素的一些特定操作;
  业务层:把一个或多个操作组合成具体的业务,实现具体的功能测试。
  用最简单的案例描述PO模式: 
  那么接下来我们就以登录页面为例,来描述PO设计模式的实现过程。
  step1: 先实现BasePage基类,这个基类当中主要是实现driver的获取。通过这个driver可以进行 兼容性测试;
  step2: 根据BasePage基类,实现对象层,封装登录页面的元素定位,封装定位用户名、密码、 确认按钮的定位方法;
  step3: 根据封装定位方法,封装他们的操作,例如输入用户名和密码,点击确认按钮; 
  step4: 根据封装LoginPage页面和操作类,实现登录的测试。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号