当前位置:网站首页>面试常问的问题总结【呕心沥血熬了一个晚上总结的】
面试常问的问题总结【呕心沥血熬了一个晚上总结的】
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。
- 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.输出测试报告
边栏推荐
- Non photorealistic rendering (NPR) paper understanding and reproduction (unity) - stylized highlights for cartoon rendering and animation
- 允许或者禁止同时连接到一个non-domain和一个domain网络
- wireshark图形界面抓包
- 单元集成(接⼝)测试
- 多线程CAS、synchronized锁原理 、JUC以及死锁
- Interpretation of unity desktop version 7.6
- ROS topic name setting
- Remote sensing image recognition imaging synthesis
- Detailed explanation of thread safety problems
- 互联网简单协议概括
猜你喜欢
随机推荐
软件测试用里篇
PLL of IP core
多线程常见锁的策略
Automatic tracking
Index and transaction of database (emphasis)
Thesis writing (harvest)
Automated Deployment Project
数据库的索引和事务(重点)
Brief introduction to unity menu interface
Unityshader depth texture (understanding and problems encountered)
ROS workspace coverage
Li Kou daily question (linked list simulation)
Progress in remote sensing image recognition 2022/5/5
英语基础知识:非谓语使用规则上篇
Header and source files in ROS
Some descriptions and usage of database index
5G的前世今生---简述移动通信的发展
Path to file
Advanced ROS communication mechanism
Simple understanding of network principle









