目录
1.选择走测试为什么还要学这么多的开发知识?
2.为什么选择软件测试开发岗位而不是软件开发岗位?
3.个人的职业规划是什么?
4.测试中遇到的问题如何进行解决?
5.对自己的项目做过哪些测试工作?
6.描述selenium实现自动化测试的流程
7.设计测试用例的万能思路
8.常见的测试方法有哪些?哪种测试方法用的多?
9.如何对接口设计测试用例
10.【高频考题】开发不认可提测试的bug该怎么办
1.选择走测试为什么还要学这么多的开发知识?
(1)从个人爱好出发:对开发技术比较感兴趣(目的是凸显自己爱学习)
(2)从工作性质出发:测试不仅包含黑盒测试,还有白盒测试。测试人员也需要具备扎实的开发能力来提高个人项目测试质量。另外测试人员也需要开发测试效率工具来辅助提高测试效率和质量(凸显自己对软件测试工作的了解)
2.为什么选择软件测试开发岗位而不是软件开发岗位?
回答思路:从岗位工作性质分析+个人性格/爱好+个人职业规划三个方面阐述
工作性质区分:
(1)软件开发:主要以业务编码为主。
(2)测试:不管是测试还是测试开发都统称为测试人员,所以测试人员主要以保障项目测试质量为主,通过开发一些效能工具(比如我们学的自动化就是效能工具,除此之外还有我们课件上写的内存泄漏工具等等)来提高测试效率
个人性格/爱好:
结合测试课程中c学到的测试人员需要具备的素质来阐述个人在测试工作方面有哪些优势。如沟通能力、文字组织能力、细心、热衷发现代码中的问题等
3.个人的职业规划是什么?
建议规划为(1~3年内,太长就有点假、大、空)
仅供参考:
入职之后一年内积极积累个人的测试经验,夯实测试能力和开发能力,做好个人的项目测试管理,打好测试基础。后续继续提高个人的测试影响力,不管是项目测试还是技术能力上都能够独挡一面,个人负责的业务这块的所有项目都可以自己完成高质量测试并交付。
4.测试中遇到的问题如何进行解决?
这个问题问的比较模糊,没有针对具体问题的提问。这种情况下可以自由发挥,给面试官展开讲讲在学习中/写代码中遇到的具体的bug的栗子,重点在于讲述bug定位思路和如何解决的问题,该问题可以是真实遇到的也可以是自己想象出来的,建议面试之前一定要准备一个这样的问题。
仅供参考:
1)内存泄漏的案例:程序在短时间内运行没有问题,长时间运行会存在程序崩溃的问题
2)忽略边界值的问题
3)页面数据展示异常
我写的web项目(仅设计到前端代码和后端代码)在测试的时候发现有个字段展示的数据不正确,我首先通过在页面上使用F12开发者工具查看接口的请求参数和返回值是否正确,当时发现接口返回值是正确的,所以我判定是前端代码写的有问题。如果是接口返回值就是错误的,那可能是代码逻辑出现了问题,需要对后端代码进行调试。
......
5.对自己的项目做过哪些测试工作?
从以下测试内容进行展开:
(1)项目中需要体现对项目的测试,至少要有对项目编写的测试用例。描述对哪些页面哪些功能编写了测试用例,主要从哪些方面来设计的测试用例(功能测试、性能测试、界面测试、兼容性测试、易用性测试、安全性测试、弱网测试......)
(2)如有自动化测试内容,讲解用到了什么自动化工具,对哪些页面/功能进行了自动化测试,自动化测试操作的具体流程是什么,自动化测试结果是什么(最好有通过自动化测试发现的代码问题,没有的话问题也不大)
(3)如有性能测试内容,讲解用到了什么工具,对哪些接口进行了性能测试,性能测试操作的具体流程是什么,性能测试结果是什么(最好有通过性能测试发现的程序问题,没有的话问题也不大)
6.描述selenium实现自动化测试的流程
-
明确自动化测试要覆盖哪些页面(编写UI测试用例)
-
针对测试用例编写自动化测试脚本
1)用例管理:
以页面为维度,每个页面的测试用例单独放在一个文件中;将所有的用例统一放到test/tests文件夹/包下,方便用例的管理
2)封装通用方法:
自动化中涉及到的通用操作封装在一个文件中,如创建驱动对象、屏幕截图等,使得自动化程序启动后只创建一次自动化实例对象
3)添加等待
为避免自动化中由于页面渲染速度慢导致自动化误报的问题,代码中通过引入等待方法来减少自动化误报率,常用的等待有强制等待、隐式等待、显示等待
7.设计测试用例的万能思路
功能测试+界⾯测试+性能测试+兼容性测试+易⽤性测试+安全测试 +(弱⽹测试、安装卸载测试)
面试官问测试用例越多越好吗?
不是的,测试用例能够提高系统测试覆盖率就是好的测试用例,但是面试中能够说出越多的测试用例肯定是越好的,考察在设计测试用例的思维发散能力
8.常见的测试方法有哪些?哪种测试方法用的多?
白盒测试和黑盒测试,在工作中需要根据实际情况来结合白盒和黑盒测试。通常来说测试人员使用黑盒测试方法相对要多一点
回答上面这句话后再给面试官说说自己掌握了哪些黑盒设计测试用例的方法(等价类,边界值,正交法,场景法,错误猜测法等等),以及这些方法的适用场景
9.如何对接口设计测试用例
提示:该面试题考察同学们接口的理解。接口测试不同于上面的设计测试用例题型,主要从以下几个方面来回答,重在理解!!不要死记硬背哦
接口主要的组成部分:请求方法、请求参数、URL、响应结果
检查数据正确性:不同的参数对应的不同接口返回结果;检查数据库数据是否正确
不同的请求类型:get post不同的请求类型下是否符合预期
校验接口兼容性:传入异常数据接口是否会崩溃,接口之间互相调用的情况下是否兼容老版本的接口
校验接口的安全性:参数是否加密,SQL注入,XSS漏洞(select * from user where userId = '1' or 1=1 <script>alert("hello")</script>)(酌情而论,这块如果不知道,就不说了)
10.【高频考题】开发不认可提测试的bug该怎么办
具备批判性思维,自己在提bug时是否是误操作导致的,是否存在创建bug时描述不规范等问题。
如果是对bug的等级不认可,bug等级要有理有据,讲出bug这样定级的原因
站在用户的角度看待问题,反问:“如果你是用户,你能接受这样的问题吗”
不光要能提出bug,最好也能提出解决方案
如果以上的沟通都无法解决问题,组织bug评审,邀请开发、测试、产品等代表参会,针对该问题进行分析如何进行解决,什么时候解决,由谁解决