概述
测试基础问题:
1.HR:测试人员在测试中的任务是什么?
- 尽早的找出系统当中的Bug
- 避免软件开发过程中缺陷的出现
- 确保缺件的质量
- 关注用户的需求,并保证系统符合用户需求
2.HR:缺陷报告内容包括什么?
- Bug的优先级
- Bug的严重程度
- 开发的接口人员,与Bug产生对应的软件版本
- Bug可能属于的模块。如果不能确认,可以由开发人员来判读
- Bug标题,需要清晰的描述现象
- Bug描述,需要尽量给出新的Bug步骤
- Bug附件中能给出相关的日志与截图
3.HR:请描述一下测试的V模型?
用户需求—需求分析—概要设计—详细设计—编码—单元测试—集成测试—系统测试—验收测试
其中:
单元测试:是模块测试,验证软件的基本组成单位的正确性,是白盒测试;
集成测试:是模块间的测试,测试接口是否正确,是灰盒测试(白盒和黑盒结合);
系统测试:是包括(冒烟测试、系统测试、回归测试)
(1)冒烟测试:主干流程测试,确认软件的基本功能正常,可以进行后续的测试工作;
(2)系统测试:是检测系统的功能、质量、性能能否满足系统的要求,包括功能、性能、界面、可靠性、兼容性等等,是黑盒测试;
(3)回归测试:修改了旧代码之后重新进行测试,确认修改后的代码没有引入新的错误或导致其他代码产生新的错误;
验收测试:是确保软件的实现能否满足用户的需求或合同的要求。
局限性:V模型是基于瀑布模型的,V模型有一个缺点,就是将测试放在整个开发的最后阶段,没有让测试尽早介入开发,没有在需求阶段就进入测试。
4.HR:请描述一下测试的W模型?
W模型其实就是由两个V模型组成,一个是开发阶段,一个是测试阶段
开发阶段是由:用户需求—需求分析—概要设计—详细设计—编码—集成—实施—交付
测试阶段是由:验收测试准备—系统测试准备—集成测试准备—单元测试准备—单元测试—集成测试—系统测试—验收测试
它的优点呢就是:测试与开发并行,让测试尽早介入开发环节,也就是早发现早治疗嘛;
局限性:虽然开发与测试并行了,但是在整个开发阶段,仍然是串行的,上一阶段未完全完成无法进入下一阶段,不支持敏捷模式的开发。
5.HR:软件测试的目的和原则是什么?
目的:其最根本的目的就是验证软件有没有问题,降低其软件上线后遇到的风险,记录软件运行过程中的一些数据。
原则:
1.肯定是尽早执行,越早越好,并且贯穿整个软件生命周期嘛;
2.严格执行测试计划,排除测试的随意性,比如就是我测完这条了,下条测试数据感觉和这条差不多就不测了,要不就是测完这条换另一条;
3.测试应从小规模开始,逐步转向大规模;
4.缺陷的二八定律嘛:核心功能占20%,非核心功能占80%,我们会集中测试20%的核心功能,发下缺陷的几率会高于80%,所以,遇到的缺陷都会集中在20%功能模块里面。
5.穷尽测试是不可能的,有些功能无法将所有测试情况逻辑出来,任何的测试都有结束的时间;
6.必须确定预期输出(或结果)
7.必须彻底检查每个测试结果
8.充分注意测试中的群集现象
6.HR:缺陷报告内容包括什么?
1.bug的优先级;
2.bug的严重程度;
3.开发的接口人员,与bug产生对应的软件版本;
4.bug可能属于的模块,如果不能确定,可以由开发人员来判读;
5.bug标题,需求清晰的描述现象;
6.bug描述,需要尽量给出新的bug步骤;
7.bug附件中能给出相关的日志与截图。
项目中的问题:
1.HR:你能拿你项目中的某一个功能模块,来介绍下你们一个用力思路吗?
比如订单处理的一个模块,首先的话就是要去验证它的正常功能是不是都能够使用的,正常功能验证完了,之后会去考虑它的一些异常功能,就比如说订单处理中的一个添加地址的功能吧,我先正常嘛,来保证它正常的输入内容之后,比如说我填写它的手机号的时候,我会考虑它的一些异常比如说手机号过长过短或者是一些非数字、特殊字符之类的去验证。
技巧:举例说明模块先说清楚需求是什么,然后再针对需求,用到了拿些用例设计方法(等价类
边界值、场景法)
2.HR:如何保障产品质量?
写测试用例的时候一定要保证测试用例的覆盖率,首先得想的全面,严格的按照测试用例的设计方法去进行设计,先是把流程写出来,然后需要进行细分模块,然后把这个模块需要实现的主要功能和各种异常情况给它完善掉,然后写完测试用例的话,一定要进行内容评审一下,这样的话可以取长补短,然后呢是测试的过程中一定要细心、耐心把每个点都测试到,过程呢基本就这些。
3.HR:对复现率比较低的BUG该如何去处理?
这种bug首先得把它记录下来,然后呢尽力去看自己的操作步骤,有没有哪里疏漏,看看它能不能复现,如果复现不了,多操作几遍,它就操作出来了,然后呢看它复现率是多少,如果它复现还是复现不了,那一定得向产品和开发说明情况,尤其得向产品说明这个情况,别以后来找麻烦,说测试的问题。
HR:又问:只是向他们说明就可以吗?不需要提交到缺陷管理平台吗?
需要,无论是复现率高还是低,我们都需要把它记录下来,只要是一个BUG就得提交。
4.HR:产品上线出现bug该如何解决?
我首先要去定位这个bug,然后进行重现嘛,在测试环境如果重现出来的话呢,开发那边就比较好改了,但是如果重现不出来的话就比较麻烦了,等到线上的话,去找这个问题怎么出现的,线上有一些问题它出现这个bug之后,就是莫名其妙的就出现了,日志里面也没有更多的信息,很难定位到改掉它,如果是客户反馈的,就需要跟客户进行沟通,了解一下这个问题是怎么操作出来的一些步骤,怎么导致问题出现的,然后呢在测试环境上去进行重现,重现出来就交给开发那边去进行修复,修复完成之后,我们就赶紧的将这个问题导入,如果看这个问题的严重程度嘛,如果说比较
严重的话,那可能修复完了之后马上验证,然后进行版本的上线,就直接把这个问题进行线上的处理,但如果问题不是特别严重,那么就可能会做下版本的延期,还有一个就是线上出现了这个问题之后,我改完之后那这个问题是怎么产生的,我们可能要做一些经验总结。
5.HR:测试报告写过没?
测试报告呢首先需要项目概况,需要参考文件,参考文件一般有PRD,然后有测试用例,参考文件之后,就开始有测试计划、测试人员和发现了多少个bug,然后测试覆盖率是多少,然后就是bug的分析和改进建议,最后就是测试报告总结,基本上就是含有这些东西,重点是要突出bug的分析和对以后的改进和建议。
6.HR:有没有用jmeter去测jdbc请求?
这个需要配置jdbc,具体步骤需要在界面里面按照它下面那个一项一项的进行操作,然后需要加一个把jar驱动放到lib文件夹里面。
7.HR:你们接口里有涉及到关联接口,是怎么用jmeter去实现的?
关联的话是用一个json提取器通过路径把需要的东西,比如说一个token去提取出来,通过参数化的方式,作为下一步继续操作的一个头部。
8.HR:对于第三方接口如何测试?
他们那边的第三方接口主要是他们第三方来完成测试的,然后他们测试完毕之后,我们直接去调用他们已经测好的这个接口,直接返回相应的我们需要的一个响应结果就可以了。
9.HR:有碰到什么让你映像深刻的问题吗?
我们有一个bug,需要和第三方去进行接口的交互,三方的话,他自己改的需求,我们点击这个获取报价,他需要给我返回一个出厂价格,它原来只返回一个字段,就是这个出厂价,因为他们自己改的需求,所以它返回三个价格,一个是含税价,一个是不含税价,一个是含利润价,然后呢我们后台开发当时就很想当然的认为是最高的价格它就是出厂价,所以它就取了一个含税价,然后测试的时候发现这个价格不一样,完了就去找后端开发去问,后端去看三方的接口文档发现他们现在变了,他们现在传回来三个价格,原来只有一个价格。
10.HR:接口测试用例怎么设计?
接口测试用例的设计方法和功能测试比较类似,首先我得保证正常的流程要走通,就是接口嘛,它的返回值就是入参请求返回都是正常的,然后就考虑在每个接口上,它的入参的各种异常的情况(比如说输入类的话,就是看输入的类型、长度、输入是否可以为空、是否可以重复,这种异常情况),同时还要考虑它这个流程,就比如说我双击状态改变的时候,它的状态会有不同的状态码,这个都是测试点。
11.HR:如何定位前后端问题?返回值主要有哪些问题?
首先检查入参,检查我的url,还有请求方式有没有错误,如果这些都没有错误,向这个后端接口发送请求,后端接口的返回值如果是正确的,那么就是前端有可能出现的问题,如果说是返回值有问题,那就是后端的问题,然后把这个问题向开发说明,提交bug,返回值呢一般主要有(状态码、message、data)
12.HR:能否说一下fiddler抓包的过程?
如果抓app包的话,需要在APP上去设置代理,设置代理通过咱们网络,也就是咱们连接wifi那个地方,就能点进去设置代理,然后代理的地址就是fiddler上的IP地址,然后还需下载证书(证书和https证书一样,手机端也需要下载证书,如果不是https则不需要下载),需要把这个地址和端口号输入进去之后,进行下载,就可以通过fiddler进行抓包了。
13.HR:抓包的目的是什么?
目的是为了判断接口错误,有前端错误还是后端错误。
14.HR:自动化测试框架它的组成结构是什么样的?
(一般情况来说这个框架不是我搭建的,我们主要是往里写自动化脚本的)它包括一个启动文件就是ride.py,会包括一个common,common里会包括我们所有的一些公共的方法和函数,然后的话会有测试数据,会有测试的日志跟报告,这基本就是我们自动化测试的一个框架的长成。
15.HR:网络测试有哪些?弱网测试怎么做?
网络测试首先要覆盖各种网络类型,比如说我的3G网、4G网、5G网还有wifi等等网络的一些切换,这些都是网络测试, 其中的弱网是一种比较特殊的网络,因为它的网络是属于信号不是很好或者是丢包或者是有些延迟的这种网络,所以遇到这种的我们要去模拟一下这个环境。
16.HR:接口测试怎么操作断言?
利用request可以直接获取到响应方式和响应结果,然后提取出响应结果与接口测试用例里面的期望结果进行对比(这个对比呢是用if判断)
17.HR:对接口测试的理解?为什么要做接口测试?
测试的话是尽量要越早进入越好,如果接口测试的话,在前端没有出来之前就可以开始测试了,而且可以方便发现一些最底层的问题(最底层问题:有时候前端会设置一些限制,然后可以通过接口测试可以跳过前端的一些设置,发现更多的一些问题)
18.HR:当接口文档不详细时,怎么做接口测试?
如果是接口文档不详细时,我们要分两种情况,一种情况是开发已经把前端做出来了,前端做出来之后呢,我们就可以通过抓包去辅助的,抓包工具比如说fiddler抓包,我们去抓包看一下人家的请求头跟请求参数分别是什么东西,那么接口呢不详细,我就抓包去把它获取到,这个是有前端的时候,那么如果没有前端的时候,肯定是要和开发去沟通的。
技巧:(一般提问这个问题,HR肯定是想听一下你会不会抓包,自己去看一下这些请求的一些参数,比如:请求头、请求参数,能不能抓包分析出来)
19.HR:如何判断前后端bug?抓包前后端交互的报文分析。
我们可以利用抓包工具(比如说fiddler抓包),抓取前端跟后端的交互过程,那么它们之间交互的过程我要看一下,我到底是前端发请求就发错了,那么发错的话,肯定就是前端的问题嘛,比如说我输入一个A的信息,结果它给我说要请求的是B的,那么它给我响应B的就是前端的问题,如果说我发过去的就是A的信息,但是后端给我返回的是B,那么肯定是后端的问题。
20.HR:发布模块怎么测试?
要发布的话我肯定是要先注册登录成为它的一个会员,比如说是账号密码是否重复、是否为空,还有其他可以用等价法、边界值法进行测试嘛,然后的话我可以去发布我的一个商品,那么发布这个商品的时候,有哪些输入项、需要去输入,那么这些输入项又有什么样的一些限制,比如说图片嘛,它最多能发多少张,它的最大的一个像素是多少。
技巧:(说具体需求可以加入用例设计方法,具体原则:(1.介绍这个功能,2.结合需求,3.针根据用例设计方法设计测试点))
21.HR:工作项目介绍?(如何突出自己的优势)
技巧:(先讲清楚这个东西是什么+功能有哪些+如何跟用户去进行交互)
22.HR:一个项目中有多少个接口?大概用多长时间?
应该有四五十个吧,要从写用例开始的话,那么我们要看这个接口它的复杂程度,然后接口文档是不是比较周全,如果接口文档不是很详细,我还要进行另外的抓包,那么这个时间肯定会长一点,如果接口文档很详细,接口又比较简单,我们就直接测了,就时间的话比较短一些,短的话可能1到2天就测完了,长一点的话,可能2到3天。
22.HR:性能测试关注的指标是什么?
1.用户数
①注册用户数
注册用户数指软件中已经注册的用户,这些用户是系统的潜在用户,随时都有可能上线。这个指标 的意义在于让测试工程师了解系统数据中的数据总量和系统最大可能有多少用户同时在线。
②在线用户数
在线用户数是指某一时刻已经登录系统的用户数量。在线用户数只是统计了登录系统的用户数量, 这些用户不一定都对系统进行操作,对服务器产生压力。
③并发用户数
不同于在线用户数,并发用户数是指某一时刻向服务器发送请求的在线用户数,他是衡量服务器并 发容量和同步协调能力的重要指标,从这个含义上讲,我们可能会如下两种理解:
同一时刻向服务器发送相同或者不同请求的用户数,也就是说,既可以包括对某一业务的相同请 求,也可以包括对多个业务的不同请求
同一时刻向服务器发送相同请求的用户数,仅限于某一业务的相同请求
2.事务的响应时间
事务是指用户在客户端做一种或多种业务所做的操作集,事务的响应时间就是衡量用户执行这些操 作集所花费的时间。在性能测试中,一般通过计算事务的开始时间和结束时间的差值来获取事务的 响应时间。
一个事务表示一个“从用户发送请求->web server接受到请求,进行处理-> web server向DB获取数据->生成用户的object(页面),返回给用户”的过程,一般的响应时间都是针对事务而言的。
3.每秒点击数
每秒点击数是指每秒钟像web服务器提交的HTTP请求数,它是衡量服务器处理能力的一个常用指 标。需要注意的是,这里的相应时间并非鼠标的一次单击操作,因为在一次单击操作中,客户端可 能向服务器发出多个HTTP请求,切勿混淆。
4.吞吐率
吞吐率通常指单位时间内从服务器返回的字节数,也可以单位时间内客户提交的请求数。吞吐率是 大型web系统衡量自身负载能力的一个重要指标,一般来说,吞吐率越大,单位时间内处理的数据 就越多,系统的负载能力也强。吞吐率与很多因素有关,服务器的硬件配置,网络的宽带及拓扑结 构,软件的技术架构等。
5.业务成功率
指多用户对某一业务发起操作的成功率。例如,测试网络订票系统的并发处理性能,在早上8:00
——8:30半小时的高峰里,要求能支持10万比订票业务,其中成功率不少于98%。也就是说系统允 许200笔订票业务超时或者因其他原因导致未能订票成功。
6.TPS - 吞吐量
TPS表示服务器每秒处理的事务数,他是衡量系统处理能力的一个非常重要的指标,在性能测试 中,通过检测不同用户的TPS,可以估算出系统处理能力的拐点。
7.资源利用率
资源利用率就是指资源的使用情况
CPU使用率70%—80%,内存使用率80%以下网络带宽利用率 100Mbps=12.5MB/s
8.QBS
查询率QPS:每秒查询率,因特网上经常用每秒查询率来衡量域名系统服务器的机器的能。 对应请求数/sec,即每秒的响应请求数,也即是最大吞吐能力。
9.错误率:一批请求中结果出错的请求所占比例。
23.HR:软件测试流程是怎么样的?
软件测试的流程可以分为以下几个步骤:
需求分析-》测试计划-》测试用例的编写-》测试执行,包括呢还有测试报告的输出和维护新测试,包括咱们平时比较常用的方法呢有等价类、边界值法、正交法、场景法、还有就是错误推测法,比如就是我们现在要测一个登陆功能嘛,那么我可以去输入正确的用户名,但是输入错误的密码,都是从逆向思维去分析问题。
其他问题:
1.HR:离职原因是什么?
公司架构进行了调整,职位变动幅度较大,跟我想要的职业发展路线不太相同,所以我出来看看机会。
2.HR:你自己的职业规划是什么样子?
技巧:(不要去说管理层,说一下技能方面的职业规划)
3.HR:你们公司有几个测试?测试任务怎么分配的?
有三个测试,就我来说是负责安卓手机投资模块的功能测试和接口测试,其他同事呢就是会测ios系统上的APP以及我的账户或者首页。
4.HR:面试薪资怎么谈?
比较诚意的说:例如:(我上家公司是多少,然后呢我也在网上看到贵公司一个薪资范围,然后我基于这个跳槽的一个涨幅,一般是百分之10到30嘛,所以我的期望薪资是多少)
5.HR:测试工作中你的优势是什么?
优势的话就是我比较细致嘛,然后遇到问题我会去钻研一下它报错原因,不是简单的把这些出现的一些bug直接扔给开发那边,还有就是加班算不算优势,因为有时候项目很赶的话,就会直接影响到进度嘛,还有就是效率,我会认真的去完成工作任务。
6.HR:你觉得什么样的项目适合做自动化测试?
其实可以分场景嘛,一:就是产品的需求稳定,不需要你频繁的去变更需求,也不需要你频繁的去变更你的自动化测试的代码;二:就是项目周期足够长,比如说一些小公司,产品还没开发完,甚至还没有上线就已经倒闭了,那你做自动化测试有什么意义呢;三:就是你的自动化测试代码可以重复的在一些场景上面去使用,比如说冒烟或者回归;四:就是公司的软件流程比较规范,比如说有比较详细的需求文档、接口文档或者是原型图;五:就是手工测试无法完成的,或者是完成的成本非常高的,比如说性能测试,需要你频繁的去访问一个接口或者是其他的一些操作。
这个是我自己整理的Python自动化测试的简历详解,欢迎大家浏览https://blog.csdn.net/WorldPeace_Su/article/details/118093380
最后
以上就是仁爱小虾米为你收集整理的最新最全python自动化测试面试题及回答技巧、答案~~持续更新中测试基础问题:其他问题:的全部内容,希望文章能够帮你解决最新最全python自动化测试面试题及回答技巧、答案~~持续更新中测试基础问题:其他问题:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复