(文章首发于公众号:程序员一凡,公众号回复【面试】有我往期软件测试大厂面试题精讲)
不管你现在做软件测试,在什么级别。
软件测试理论基础和软件质量保证问题,面试的时候绝对是离不开的。
软件测试这一个行业离开了业务就失去了灵魂。
一切的自动化、一切的编程、一些软件测试工具,都是辅助测试为主。
我们最终的目的是保证我们产品的质量。
所以不管什么样级别的软件测试工程师,你得全面掌握软件测试理论基础、文档的编写、测试流程。
如果说我是面试官,你现在来面试。
那我第一个肯定不会问你那些代码的问题,也不会问你自动化的问题,也不会问你测试开发的问题。
我首先看你做了几年软件测试,有没有属于自己的一些软件测试思维,有没有自己的心得。
比如说像软件测试分为哪几个阶段?然后你之前测试过的项目流程,在每一个阶段的输出有哪些?是怎么样去执行的,你在软件测试过程中充当的角色。
这一类软件测试面试题,根据你的回答,就能知道你有没有工作经验。你对软件测试的认知,你对自己岗位的职责,对自己的定位是否准确。
都是一些比较综合性的问题。
现在都是一个敏捷开发的模式,很多公司都是用敏捷开发,那么你能谈一谈这个敏捷开发吗?
大家不要局限于很传统的问题,什么是测试计划啊,什么是测试用例编写等等。
敏捷开发现在也是属于软件测试基础理论的一个理念。
然后Linux常见的查看日志命令有哪些?这也是比较基础的一些东西了。你至少要会查看开发的日志,会数据库。
然后我问你,线上质量BUG频频爆发怎么办?你做为一个测试你该怎么去应对?像这些都是比较综合性的问题,都是考验你在工作中的经验于心得。
你做过多少项目,你在遇到这些问题你是如何处理的。
然后你如何分析一个Bug是前端还是后端的问题?
像这个问题,这是一个软件测试工程师初、中级会问你的面试题。
像最前面图上的问题,你一定要能够全面的诠释。大家一般能答出多少个?欢迎在评论区留言探讨。
在回答这一类问题的时候,我们要根据自己的工作经验,去总结。
回答的时候不能简单的说“是否对错”,我们要根据面试官问的问题去扩展,我们就拿第6个问题来说吧!
然后你如何分析一个Bug是前端还是后端的问题?
这个就看大家做软件测试的心得了,像这类问题,你去百度去网上也不好找。欢迎在评论区谈一下大家自己的经验。(抓包?看接口返回?)
通过一些接口请求信息,抓接口请求信息。(通过浏览器的一些开发者工具)
就是说检查接口,检查接口首先你得了解BUG它用到了哪些接口,然后检查请求的数据,发送的数据是否正确,后台反馈的数据是什么?
如果前端没有请求接口,或者请求的时候参数与需求不符,那么肯定就是前端的问题。
划重点:请求参数,返回的响应值
那么我们可以来看一个简单的案例。
我这里有一个平台,是前后端分离的,只有前后端分离的系统才会出现这个问题。
假设这个是我们被测的系统,我们在系统管理-用户管理这里是不是有很多用户,这个是最简单的用户管理系统了。就是有哪些人,有admin有知一,有木子,有当当等等很多。
我们先来删除其中任意一个,页面没有任何的反应。
我第二次再去删除同一个,它就报Userld不存在了对吧?
那么如果是这种情况,是前端的问题还是后端的问题?一看就是前端的问题对吧。
判断这个问题,是不是前端的问题,我们就打开netkwork
我们来新增一个用户,它就会调用一个add接口,显示用户新增成功。
当我新增一个用户的时候,bug可能会偶尔重现。所以大家在看接口请求的时候,你要看它本来你去删除的时候它只调用了一个接口,那么它不仅要删除这个人,它其实还要去刷新这个页面,它需要重新去调用这个用户界面的接口。这个时候你就需要知道当它做这个删除功能的时候需要调用几个接口。
可能有些接口,开发人员没有去调用,那么就是前端的问题,这个时候需要我们主动刷新一下,主动刷新的时候,整个页面它会重新整个去获取一遍。这个时候删除在页面上才会生效。所以说这是前端少调用了一个接口。
这就是前端的一个问题。
用了一个接口。
以后去回答这个面试题,你就可以完美的去回答了,如果还是没有完全理解可以公众号程序员一凡获取视频详细教程。
最后: 欢迎关注公众号:程序员一凡,领取一份300页pdf文档的Python自动化测试工程师核心知识点总结!软件测试技术交流群:(1079636098) 这些资料的内容都是面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。