2023年软件测试岗面试题+答案汇总,也许你例offer就差这一个...


前言

1、B/S架构和C/S架构区别

B/S 只需要有操作系统和浏览器就行,可以实现跨平台,客户端零维护,但是个性化能力低,响应速度慢

C/S 响应速度快,安全性强,一般应用于局域网中,因为要针对不同的操作系统,需要针对性的开发,并且维护成本高

2、GET与POST区别

GET使用URL或Cookie传参。而POST将数据放在BODY中。
GET的URL会有长度上的限制,则POST的数据则可以非常大。
POST比GET安全,因为数据在地址栏上不可见。
一般get请求用来获取数据,post请求用来发送数据。

3、单元测试与集成测试的侧重点

单元测试:是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试,测试重点是系统的模块,包括程序的正确性炎症等

集成测试:也叫组装测试或联合测试,在单元测试的基础上,讲所有模块按照设计要求,组装成为或系统,进行集成测试

系统测试:是将经过测试的子系统装配成一个完整系统来测试,它是检验系统是否确实能提供系统方案说明中指定功能的有效方法,测试重点是整个系统的运行以及其他软件

4、结束条件(项目上线的条件)

需求的覆盖率,用例的执行和缺陷的遗留率达到质量目标;
通常来说,需求覆盖率和用例执行率需要达到100%;
致命/严重的缺陷需要当天解决,轻微/一般遗留率不得超过30%;

5、什么时候用到场景法

使用场景法通常是在冒烟测试中或者一些流程性比较强的软件/功能(比如安装,卸载等等)

6、测试环境怎么搭建的?

搭建环境前,开发都会给我们一份系统发布手册,我们会根据这个手册来搭建。

比如:
我这个xx系统,是搭建在Unix系统下的,web服务器用的是Tomcat8,Mysql版本是5.7,程序是Java编写的,首先我们向开发拿到编译好的安装包,然后用xshell(或CRT)远程连接上Unix系统,把tomcat服务器停掉,把程序包放到webapps目录下,然后再启动tomcat服务器就可以了

7、产品在上线后用户发现bug,这时测试人员应做哪些工作?

首先要做的是重现这个问题并反馈给研发人员,尽快出patch或者解决方案。
当BUG解决且上线没有问题之后,我们再看后续的处理。
追查原因及处理方法:这个BUG出现的原因是什么。

这有分为几种情况:
1)测试环境无法重现:可能是线上的环境造成的BUG或者是测试环境无法模拟的情况。
解决方法:尽量完善测试方法、尽量模拟测试环境、增加线上测试。

2)漏测:
测试用例裁剪过度:错误预估优先级或者时间过于紧迫裁剪了用例

解决方法:在后续版本或者其他项目启动时重新评估测试时间,要求专家介入对优先级进行评估,避免此类事件再次发生。

测试用例执行期间遗漏:由于测试人员疏忽造成测试用例执行遗漏。

解决方法:调查该名测试人员的整个测试过程的工作情况,并随机抽测其他模块,对该名测试人员进行综合评估,给出结论,是因为偷懒漏测,还是因为负责模块过多漏测,还是有其他原因,对该名测试人员发出警告,对相关测试主管,项目经理,产品经理发出警告。

测试用例覆盖不全:由于用例评审的不严格造成的;中途需求变更造成的;由于某些其他因素造成的

8、如何跟踪缺陷

过程描述:
测试人员按照测试用例依次进行,并针对缺陷整个生命周期进行跟踪

角色的定义:
测试人员:负责具体测试执行及跟踪人员
测试组长:负责测试执行机跟踪包括bug单的一次审阅
项目经理:对测试人员的bug进行审核及分配
开发人员:对分配到个人的bug进行解决

状态的定义:
新建,确认,解决,重新验证,关闭,重新打开

9、如何定位bug

1)发现bug,首先要查看bug的详细信息,根据描述初步分析是哪个模块哪段代码的问题

2)检查引发bug的测试环境、测试代码段和测试数据,排除测试人员的误操作导致的程序异常

3)确认测试代码、测试环境和数据都正确后,再进一步分析bug根源。这里就需要看具体的测试业务了,可借助相关的工具进行分析,比如firebug插件等

4)如果产品或业务有相关的日志记录,可通过分析日志来确认bug

5)当测试人员经过一系列的分析,可以基本确认bug产生的原因后,就可以直接找开发提bug了(注意沟通技巧)

6)如果各方面都分析完还不能确认bug的原因,可以找开发一起定位(注意保留bug现场或者可以复现bug场景)

7)确认bug后,提单给开发进行bug跟踪。

问题单上要描述清楚以下信息:
具体的测试时间、测试环境、测试场景、测试的具体业务和功能、使用的测试代码和测试数据、测试执行步骤、测试结果、bug现象(最好截图)、日志记录、预期结果、bug确认相关人员等

8)跟踪bug,等开发人员修复bug后进行回归测试。(关注bug是否完全修复、有没有对其他功能造成影响、有没有引入新的问题)

10、项目介绍(重要)

对项目进行基本介绍:
最近测试的项目是一个电商平台系统,运营模式类似于天猫,京东这些网站。
项目系统由前台和后台两部分构成。

前台面向购物用户,包括会员、商品展示、购物车、订单、支付、用户中心等系统模块。

后台面向经营商家,包括商品管理,会员管理,订单处理等系统模块。

说明自己负责测试的模块:
我在项目中主要负责订单及后台订单处理相关模块测试。
购物车-----
订单处理-----

我们项目后台订单处理主体流程是:
用户支付成功–商家确认订单–发货–用户确认物品无误,确认收获–订单结束–后续有售后和评价相关流程。

其他:
商家除了确认用订单,还可以对订单进行取消操作;
用户如果未确认收货,系统可以设置超时自动收货(7天);
收货异常或其他情况下还可以进行退款操作。

11、在项目中发现哪些经典bug?什么原因导致的?(重要)

Jmeter连接数据库进行压测的时候 (报错无法创建拒绝用户的访问,密码正确)

解决方法:禅道与mysql数据库端口冲突,服务中关闭mysqlzt,就好了

注册信息中的错误提示信息:如手机信息栏应填入11位有效电话号码,但提示信息却为“13位电话号码”,这是因开发人员粗心大意造成的

接口bug:传的字段值为空,但是开发没给默认值设个0导致接收不到数据

12、如何尽快找到软件中的bug?

尽快熟悉软件的需求和业务,只有熟悉了产品的业务流程、你才能迅速找出软件中存在的一些重要的缺陷

把自己当成用户,把自己当成是用户去使用该系统,比如在使用该系统过程中是这样操作的吗?

善于怀疑,不要开发人员的能力

13、你们发现bug会怎么处理

1)项目经理通过和客户的交流,完成需求文档
2)开发人员根据需求文档完成需求分析文档,测试人员进行评审
3)测试人员根据修改好的需求分析文档开始写测试用例
4)测试用例完成后,测试和开发需要进行评审。
5)测试人员搭建环境
6)开发人员提交第一个版本,可能存在未完成功能,需要说明。测试人员进行测试,发现bug后提 交给bugzilla。

7)开发提交第二个版本,包括bugfix以及增加了部分功能,测试人员进行测试。
8)重复上面的工作,一般是3-4个版本后bug数量减少,达到出货的要求。
9)如果有客户反馈的问题,需要测试人员协助重现以及回归测试。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

奋斗是人生最美丽的姿态,拼搏是实现梦想的唯一途径。不管路途多么坎坷,心中都要燃起希望的火焰,用勇敢和执着书写自己的辉煌篇章。

每一次努力都是改变的种子,坚持即使微小的进步也能创造巨大的价值。不论目标有多遥远,只要迈出第一步,勇往直前,相信自己的力量,最终绽放属于自己的辉煌!

奋斗是燃烧心灵的火焰,永不停息的追求是内心的指南。把梦想当成航向,披荆斩棘,跋山涉水,不屈不挠。每一次努力都离成功更近一步,坚持不懈,终将铸就辉煌的人生华章!

猜你喜欢

转载自blog.csdn.net/m0_60054525/article/details/132318417