当前位置:网站首页>面试常问的问题总结【呕心沥血熬了一个晚上总结的】

面试常问的问题总结【呕心沥血熬了一个晚上总结的】

2022-07-27 05:22:00 Leoon123

一:功能测试基础面试题

1、测试流程

需求评审—指定测试计划—编写测试用例----测试评审—进程系统测试—生成测试报告—验收测试—完结
注意:要详细说明每个步骤的情况

2、工具的了解

1、postman
2、jmeter
3、禅道
4、jira
5、RF
6、fiddler
7、linux
8、数据库
测试常问的问题

1、自我介绍

你好,我叫XX,17年从湖南大学计算机专业毕业,毕业至今在零檬公司从事软件测试工作2年。
主要负责的项目一个是家居定制整合平台系统,有web端跟app端,这个系统是设计师发布作品,购买
者选择订单,设计师接收订单这样的一个产品模式;我主要负责测试用例设计、功能测试、接口测试;
另一个项目是家校互动类系统,包括家校沟通、发布作业、上课点名、课程表,学校动态等功能,
这个是我独立负责完成,包括需求确定及分析、环境部署、测试案例设计、功能及性能测试具体执行。
我个人擅长功能、接口测试、linux、数据库;测试工具像Jmeter,postman,fiddler用的比较多;
另外,我是一个有耐心有责任心,有强大学习能力的人。我的自我介绍完毕,谢谢。

2、公司的测试流程

我们公司的话,首先会参与需求评审会议,产品经理会介绍产品业务及功能细节。需求会议之后,我们老大会制定测试计划。之后我们会按照计划先进行用例的编写,用例编写完成后进行测试用例的评审。等开发产品编译完毕,提测后,我们测试组就介入测试。先进行预测,再进入到正式的测试。测试过程中发现的缺陷,全部提交到缺陷管理平台,并对bug进行跟踪,进行回归测试,直至缺陷率满足用户需求。这里一般测试3轮到5轮。测试结束后,对测试结果进行分析,编写测试报告。之后就是运维发布上线。上线后,关注线上产品是否正常运行。这个就是我们公司的流程,谢谢。

需求评审-测试计划-编写测试用例-评审测试用例-代码编译后接入测试-回归测试-编写测试报告-验收-发布上线-查看产品是否运行正常

需求评审-测试计划-测试设计-测试执行-测试评估

3、介绍你的项目

这个家校互动类项目,学校老师和学生家长可以通过文字、语音等方式进行沟通;老师可以布置作业、
批阅作业;发布通知、奖惩表、学生成绩等信息。还包括发表个人动态、班级动态模块。项目从今年3月份开始进入立项、设计开发,到8月底完成测试发布上线。我们是3个人负责测试这个项目,我主要负责app的测试工作,项目中参与了需求确定及分析、环境部署、测试案例设计、功能及接口测试具体执行、测试结果分析、最后的文档归档总结工作。大概就是这些,谢谢。

4、认为是bug,但开发不是

首先确认开发环境是否跟自己测试环境一致,排除因环境或者业务理解不一致而产生的错误 bug 。确认是实实在在的 bug ,跟开发保持有效的沟通。严重级别较高的bug ,对应需求文档、测试出现的 bug 截图、
 bug 对产品影响的危害,跟开发说明清楚,更有说服力。若开发仍然不接收 bug ,需要找上级或产品介入。级别较低的建议性 bug ,开发不改,暂时不需要花费大量时间去说服修改,有时间再进行集中跟进。
以上就是我的回答,谢谢。

5、复现率不高的bug

首先是对于偶现 bug 的提交。只要是出现的 bug 都必须记录到缺陷管理平台。 bug 出现的步骤环境账号等信息尽量描述清楚。包括操作系统、浏览器版本, app 写明机型型号;附带问题截图及日志截图,
且标题注明偶现。
提交后对于 bug 的跟踪。每一轮回归测试,都会尽可能去重现这个 bug ;多轮回归测试中仍然不能重现,会依据这个 bug 的严重程度决定是否继续跟踪。严重程度低,一般就关闭; bug 严重程度高,在上线前需要开发一起协助复现,如果还是复现不了,记录到 bug 平台后续版本再跟进。
以上就是我的回答,谢谢。

6、行李箱的测试

主要从,功能上,界面上,易用性上,兼容性,安全性,压力方便进行考虑
7、给你一个新项目,如何测试
拿到项目后,先熟悉需求、原型图,了解被测功能和和各个功能的业务逻辑;支持哪些平台,有哪些不同的应用场景,是否需要考虑到稳定性、性能等等。针对以上需要测试的内容进行大概的测试规划,然后逐个细化去设计测试用例。整个过程中存在疑问的及时跟开发产品沟通确认。
拿到被测软件后,按照用例执行测试,提交 bug ,并有效进行回归测试完成 bug 跟踪;测试完毕后,及时汇报测试结果,输出测试报告。
以上就是我的回答,谢谢。

8、工作中遇到的困难

测试时间总是被开发及的很少,需要规范测试流程

9、作为一名软件测试,应具备那些测试

计算机的基础:操作系统,数据库,至少属性一名变成语言
软件测试基础,各种测试理论,测试方法,编写测试用例,缺陷流程的跟踪,软件质量的评估
软件方面,向沟通,做事严谨耐心,有测试性,对被测产品敢于提出疑问,善于自我总结,督促

10、对我们公司了解吗

11、3-5年的规划

我之前公司做的项目是金融类业务,比较多的是功能跟接口测试。如果有幸入职咱们公司,
1年内先做好本职工作、积累业务知识;2-3年时间希望能完成公司项目的自动化架构,实现自动化测试;目前我已经开始在研究学习 Python 编程及编写自动化测试脚本;
3-5年的时间,希望能在技术上面上升到测试开发,能自己独立开发测试平台及工具,为公司带来更大价值。以上就是我的规划,谢谢。
## 12、加班的看法
您好,我们之前公司也会有加班,主要是两种情况。第一种,工作效率低不得不通过加班来完成工作任务,像这种加班我会尽可能提高自己的工作效率,不做无意义的加班。另外一种,像发版日、紧急任务需要加班,这种情况的加班会义不容辞。以上就是我对加班的看法,谢谢。

13、你还有什么想问的

公司正在做的项目
如果入职主要从事测试那部分工作
测试团队的构成

二:性能测试基础面试题

1、如何选择性能测试工具
1、行业内的主流的工具—如果我离职了,大多是人可以快速接受
2、是否支持支持分布式部署
3、对工具的熟练度
2、如何进行性能测试,性能测试的流程
1、结合项目需求进行性能需求分析,同步设计性能场景
2、搭建性的测试环境
3、基于场景实现脚本的设计
4、基于性能测试数据的准备
5、执行测试并采集数据
6、性能诊断与分析
7、如果有有问题,提出性能调优-----哪有问题找哪个
8、输出测试报告
3、如果测试过程中,发现响应时间太长,应该怎进行下一步分析
1、网络带宽
2、服务器转发过慢
3、应用服务器资源使用率是不是过高
1、线程

三:web ui测试基础面试题

1、web自动化
selenium+webdriver
1、八大元素定位(定位语法)
2、动态元素如何定位 (通过收动定位,通过子及定位父级)
3、常见的异常解决手段
1、元素定位不到(没有添加等待,iframe-句柄不同)
2、元素无法正常交互
3、超时
4、无法创建session
自动化框架如何设计
1、结合python+selenium+yaml+pytest+allure+logging+Jenkins+git+通知
2、现有的框架如何设计
3、如何设计一个符合需求的框架
4、为什么要这样设计
结合公司的实际需求设计测试用例
1、团用成员会的情况
2、结合企业的需求

四:app自动化测试面试日

APP自动化
1、如何利用自动化测试微信工作号和小程序
1、基于微信自己定位的框架,和主流的有区别,很难
2、如何实现webview,如何获取webvirw的元素
3、如何多设备集群管理

五:接口自动化面试题

如何管理接口测试用例
1、用过csv
2、用过exexl
3、通过yaml

六、持续集成

Jenkins,git(管理项目管理)
1、怎么做定时任务
2、怎么做集成

七、大杂烩问题

1、怎么准备数据

如何造数据,通过接口,直接操作数据库,导入mysql

2、什么请况下要做管理

上下文有关联的时候要做关联
登录的cookes也需要做关联

3、c利用csv文件做数据驱动

1.创建data.txt文件,文件第一行为变量名
2.添加会议室脚本以变量形式引入
3.添加csv配置元件
4.线程组数量设置为6
5.添加结果树查看结果,此方法可以测试异常场景,或者批量造数据

4、什么是aloha、 beta测试

alonha:也成为了内部测试
beata:潜在的客户在自己的环境下测试

5、什么是性能测试,负载测试,压力测试

性能测试:表项,响应时间,cpu的使用,内存使用,硬盘使用,是否符合性能要求
负载测试:通过不断的加压负载测试一个系统的性能
压力测试:不断的负载加价来考察你能否在宜春的情况下正常工作

6、白和测试和黑河测试

白鹤测试,也成结构测试,基于程序的本身进行测试
黑盒测试:对于程序的表明功能进行测试

7、ui自动化最核心的问题:

8、给你一个网站,如何测试

首先查找需求文旦,网站设计相关文档,分析测试需求
制定测试计划以及测试范围,一般包括一家几个部分,功能,性能,界面,数据库测试,安全测试,兼容性测试

9、测试的分类

按阶段分:单元,系统,集成,验收
按是否运行:静态,动态
按是否查看代码:白盒,黑盒

10、接口自动化

网络协议:https/https cookes session token
http的无状态协议,和长链接
我要请求获取我的信息,首先我需要登录
无状态链接:需要进行信息鉴权,进行关联,来判断你是否登录
长连接:一直保持连接状态,非常消耗资源
接口关联

11、软件测试的定义:

使用人工,或者自动化来测定某个系统的过程,用于检验他是否满足规定的需求中逾期结果与实际结果的差别

12、软件测试的原则:

原则一:测试证明软件存在缺陷
原则二:穷尽测试是不可能的
原则三:尽早介入测试
必须尽早介入测试活动,为软件开发的下一阶段做好准备。只要生成产品需求或文档,测试人员甚至就可以开始测试
原则四:缺陷具有集群性
80%的错误是由20%的模块引起的。
原则六:测试是上下文相关的
因此,测试人员不能对不同的项目应用相同的测试方法
原则七:无错误谬论
测试是为了降低缺陷存在的可能性而开展的活动,即便多次测试都没有发现任何缺陷,也不能证明软件是完美的。软件测试不仅仅是为了找出Bug而存在的活动,而是还需要确认软件是否满足用户的期望和需求,如果产品不能满足用户的需求,即使没有出现任何缺陷,这个产品也是失败的。“没有错误” 并不是我们的追求,在互联网时代,始终快速给用户创造最大的价值才是我们孜孜不倦的追求。

13、软件测测试模型:

v模型

V 模型指出,单元和集成测试是验证的程序设计,检测程序的执行是否满足软件设计的要求。系统测试应当验证系统设计,检测系统功能、性能的质量特性是否达到系统设计的指标。测试人员和用户进行软件的确认测试和验收测试,追溯软件需求说明书进行测试,以确定软件的实现是否满足用户需求或合同的要求。
w模型

W 模型的优点:
(1)测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。
(2)体现“尽早地和不断地进行软件测试”的原则。
(3)在 V 模型中增加软件和开发阶段应同步进行的测试。

14、如何进行支付测试

一、支付的金额上

1、金额最小值:如0.01

2、无实际意义的金额:如0元订单

3、支付金额错误:格式错误、数字错误(支付金额为负数)

4、超大金额:设置的最高金额上限(如微信单个红包最大值200等)

5、余额小于实际支付的金额

6、银行卡或其他设置当日消费金额或者是单笔消费金额超限

二、支付接口上

关于支付会涉及到很多第三方接口的相关事件。比如:支付宝、微信、网银系统、手机银行、pos机等终端服务,甚至是扫码枪等硬件设备也是有关系的。

三、支付操作上

1、指纹支付

2、免密支付

3、扫脸支付

4、账号+密码支付

5、动态获取支付验证码支付

6、微信、支付宝等支付码

7、他人代付

如今的支付方式多样化、快捷支付和银行卡支付之间的差异性。信用卡和普通储蓄卡之间的差异性。都是需要考虑的。

四、产品容错性上(异常处理)

1、如何处理退款

2、支付时出现断网

3、支付失败后,如何补单和退单

4、支付金额不足的情况下,充值后,是否可以继续支付

5、持续点击,是否会出现多次扣款

6、如果发送多次扣款,如何退款到支付账号

五、产品后台处理上

成功订单的账务处理、失败订单的账务处理、退款订单的账务处理、差错帐处理等等

15、给你一个网站,如何进行测试

在测试一个全新网站的时候,首先应该先查找需求说明、网站设计等相关文档,分析测试需求。然后制定一个测试计划,确定测试范围和测试策略,然后逐步去测试。
 
1.功能性测试,主要包括了链接测试,链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回。提交功能的测试。多媒体元素是否可以正确加载和显示。多语言支持是否能够正确显示选择的语言等。
2.界面测试,界面测试主要考虑页面是否风格统一,美观,页面布局是否合理,重点内容和热点内容是否突出,控件是否正常使用,对于必须但未安装的控件,是否提供自动下载并安装的功能,文字检查
3.性能测试,主要从压力测试;负载测试;强度测试等方面去测试
4.数据库测试要具体决定是否需要开展。数据库一般需要考虑连结性,对数据的存取操作,数据内容的验证等方面。
5.安全性测试,基本的登录功能的检查,是否存在溢出错误,导致系统崩溃或者权限泄露
相关开发语言的常见安全性问题检查,例如SQL注入等,如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试,或者获取支持
6.兼容性测试,主要考虑浏览器的兼容性;操作系统的兼容性;软件平台的兼容性;数据库的兼容性。
 
设计完测试用例之后就可以开展测试,并记录缺陷。合理的安排调整测试进度,提前获取测试所需的资源,建立管理体系(例如,需求变更、风险、配置、测试文档、缺陷报告、人力资源等内容)。进行定期评审,对测试进行评估和总结,调整测试的内容。

16、http与https的区别是什么呢?

https协议需要到ca申请证书,一般免费证书很少,需要交费。

http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议

http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。

http的连接很简单,是无状态的

HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全

17、get与post基于http协议请求的特点

1、get请求的特点:

1.GET请求能够被缓存

2.GET请求会保存在浏览器的浏览记录中

3.以GET请求的URL能够保存为浏览器书签

4.get传送的数据量较小,不能大于2KB。

5.GET请求主要用以获取数据

2、post请求的特点:

1.POST请求不能被缓存下来

2.POST请求不会保存在浏览器浏览记录中

3.以POST请求的URL无法保存为浏览器书签

4.post传送的数据量较大,一般被默认为不受限制

get和post其实是HTTP协议中的两种发送请求的方法,而HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。

HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。GET和POST能做的事情是一样一样的。你要给GET加上request body,给POST带上url参数,技术上是完全行的通的。

3.get和post产生的数据包

另外,get和post还有一个重大的差别,就是get请求是产生一个TCP数据包的,而post请求是产生2个TCP数据包的。

3、本质的区别

总结来说:

对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);

而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

18、cookie和session的特点和区别

1、cookie的特点:

保存到客户端,容易被篡改(删除、禁用)

保存的数据量有限的

简单易懂好用

2、cookie的缺点:

保存在客户端,容易被篡改。
大小受限,本身最大4kb。

  1. cookie和session的共同点
    cookie和session都是用来跟踪浏览器用户身份的会话方式。

3、cookie和session区别

cookie是保存在客户端的

cookie有大小限制

session是保存在服务器端

session更加安全

session会比较占用服务器性能,当访问增多时应用cookie

19、http请求的过程

1、DNS域名解析

解析地址顺序:
    (1)浏览器自身的DNS缓存(缓存时间比较短,大概只有一分钟,且只能容纳1000条缓存);
    (2)如果浏览器自身缓存里找不到,那么浏览器会搜索系统自身的DNS缓存;
    (3)尝试从hosts文件里面找;
    (4)上面三个过程都没有获取到的话,就去域名服务器查找。

2、三次握手建立tcp连接

在http工作开始之前,客户端首先要通过网络与服务器建立连接,http连接是通过tcp来完成的。http是比tcp更高层次的应用层协议,根据规则,只有低层协议建立之后,才能进行高层协议的连接,因此,首先要建立tcp连接,一般tcp连接的端口号是80。
1:seq=a;ctl(标记位)=SYN(同部位)

2:seq=b;ack=a+1(回复确认,上面序列号加1);ctl(标记位)=syn(同部位,进行询问),ack(进行确认,并回复一个确认位)

3:seq=a+1;ack=b+1(对上面的序列号加1);ctl=ack(进行确认,并回复一个确认位)
在这里插入图片描述

3、客户端发起http请求

4、服务端响应http请求

5、客户端解析html代码,并请求html代码中的资源

浏览器拿到html文件后,就开始解析其中的html代码,遇到js/css/image等静态资源时,就向服务器端去请求下载。

6、客户端渲染展示内容

7、关闭tcp连接

一般情况下,一旦服务器向客户端返回了请求数据,它就要关闭tcp连接。然而如果客户端或者服务器在其头信息加入这行代码 Connection:keep-alive,tcp连接在返回数据后将仍然保持打开状态,于是,客户端可以继续通过相同的连接发送请求,也就是说前面的3-6步可以反复进行。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。

21、性能测试的方法

负载测试(load testing):目的是找到系统处理能力极限
压力测试(stress testing):目的是检查系统处于压力情况下的性能表现
并发测试(concurrency testing):目的是发现系统中可能隐藏的并发访问时导致的问题
可靠性测试(reliability testing):目的是验证系统是否支持长期稳定的运行,需要在一定压力运行一段时间,需要关注运行状况。比如系统处于可能的压力峰值下,运行两三天。

20、性能测试的指标

1、响应时间
2、系统响应时间和应用延迟时间
3、吞吐量
4、并发用户数
5、资源利用率

21、如何开展接口自动化测试

接口自动化测试的基本流程
1、需求分析
2、挑选需要做自动化测试的功能接口
3、设计测试用例
4、搭建我们的自动化测试环境
5、设计自动化测试项目的整体架构
6、编写脚本代码
7、运行测试用例脚本
8、生成自动化测试报告

22、如何开展性能测试

一般系统的性能测试步骤大体如下:

1.确认测试目标;

2.分析被测系统业务需求;

3.分析被测系统的系统结构;

4.分析被测系统的性能测试点;

5.设计测试方案、检测方案和测试案例;

6.选择测试工具;

7.测试开发;

8.测试执行;

9.测试结果分析;

10.测试调优、测试验证、测试分析;

11.输出测试报告

原网站

版权声明
本文为[Leoon123]所创,转载请带上原文链接,感谢
https://blog.csdn.net/Leoon123/article/details/125690702