学生整理,最全软件测试面试问题总结!

2020-07-16  啄木鸟学院 

接口测试
一、平常用什么工具测接口的?接口测试工具很多,主要postman


二、没有接口文档,如果做接口测?(这是个送命题)


1.没有接口文档,那就需要先跟开发沟通,然后整理接口文档


2.没有接口文档,可以抓包看接口请求参数,然后不懂的跟开发沟通


三、当一个接口出现异常时候,你是如何分析异常的?


1.抓包,用fiddler工具抓包,或者浏览器上f12,app上的话,那就用fiddler设置代理,去看请求报文和返回报文了


2.查看后端日志,xhell连上服务器,查看日志


四、如何分析一个bug是前端还是后端的?


平常提bug的时候,前端开发和后端开发总是扯皮,不承认是对方的bug


这种情况很容易判断,先抓包看请求报文,对着接口文档,看请求报文有没问题,有问题就是前端发的数据不对


请求报文没问题,是返回的数据不对,那就是后端开发的问题咯


五、如何使用postman发送符合要求的HTTP请求?


选择请求方法、输入请求URL、输入请求参数值、发送


六、接口测试得步骤:


请求接口、选择请求的方法、输入请求url、输入请求得参数、返回响应、断言


七、HTTP协议-超文本传输协议,是用于从WWW服务器传输超文本到本地浏览器的传送协议。HTTP采用请求响应模型来处理HTTP事务, HTTP事务有一条请求命令和一个响应结果组成,它们通过HTTP报文进行数据传输。协议是一种沟通双方都能听得懂的编解码方式


八、http接口传递数据常用的方式:get post


九、get和post得区别:


get方式,从服务器上获取数据,在做数据查询时,多用get


post方式,向服务器传送数据,在做数据添加、修改、删除时,多用post


十、http接口测试的类型:


get请求无参数、get请求有参数、post请求


十一、使用postman接口测试时,要注意什么?


注意选择请求方法、注意输入的url、注意输入的参数


如果有接口文档,你按照接口文档的定义,使用postman发送了请求,得不到服务器的正常响应,怎么办?


web端UI自动化测试
一、自动化测试优缺点:


优点,能快速回归、脚本重用,从而代替人的重复活动。


缺点,不能取代手工测试,有很多需要人脑判断结果的测试用例无法用自动工具实现,手工测试比自动测试发现的缺陷更多,自动化测试对测试质量的依赖性极大。


二、自动化用例的执行策略?自动化测试脚本怎么产生的?


利用自动化测试工具,经过测试需求分析,设计出自动化测试用例,从而搭建自动化测试的框架,设计与编写自动化的脚本,验证测试脚本的正确性,最终完成自动化测试脚本,输出测试结果。


三、UI测试原理:设定测试场景,模拟用户使用流程。


四、为什么想到要用UI自动化测试?


在前期,配合开发使用了单元测试,后来版本稳定了,我们就开始考虑UI层是与客户交互最多的界面,如果要提高用户体验,必须从UI层入手。


五、web页面测试应该注意什么?


浏览器的兼容性、页面分辨率、安全考虑、图片的显示和链接、文字的缩略和折行、易用性、页面显示部分


六、以前工作中selenium自动化用的多吗?


之前在回归测试阶段,selenium用的多。因为在回归测试阶段,为了减少测试人员的工作量,把一些繁琐、重复的工作交给自动化测试工具执行,而测试人员就可以解放出来去测试那些新需求或是不适合自动化测试工具执行的任务。


七、当时用selenium测的时候,用的什么驱动?


Firefox driver(在webdriver中自带驱动)


Chrome driver(在webdriver中没有自带驱动)


八、用selenium主要测什么?


selenium主要测,被测对象的功能和在不同浏览器中的兼容性


九、selenium自动化原理:


自动化程序发出命令,通过http请求,发给浏览器驱动,浏览器驱动接收到请求,然后内部处理一下,再转发给浏览器(一般还是通过http转发)。浏览器会自动解析请求,解析完后会进行相应操作,执行,返回响应,给客户端返回结果。


手工测试
一、为何从上家辞职?


上家公司的老大和同事都挺好的,相处也挺愉快的,对我之前的工作都给予了很大的帮助!但是天下没有不散的宴席,我是一个喜欢挖掘自己潜力的人,上家公司虽然很好,但是我的很多工作潜力还没有被挖掘出来,我也没处发挥,我来之前了解了贵公司,觉得项目类型以及工作强度都适合我!我喜欢这种能够高压工作的氛围,年轻嘛,就是要醒着拼!希望能够有更加忙碌的工作与生活,所以才选择了来贵公司面试,并希望能够加入贵公司的测试团队,发挥自己的力量!


二、你觉得一个软件达到什么标准可以上线?


测试用例的执行率达到100%,通过率大于95%。所有缺陷的解决率、修复率大于90%,遗留的10%得到大家的认可。缺陷密度不大于5‰


问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决?首先,将问题提交到缺陷管理库里面进行备案。


然后,要获取判断的依据和标准:


根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据;


如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;


根据用户的一般使用习惯,来确认是否是缺陷;


与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;


合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不参杂个人情绪。


等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并有上级做出决定。


四、结合项目说一下测试流程:


像我们在做“理赔管理系统”时,先学习理赔管理系统需求说明书,然后开了需求评审会议,然后把模块进行了划分,拿到自己的模块,用xmind进行清晰的需求梳理,再利用清晰的思维导图进行测试用例的编写,执行测试用例,初步确定缺陷。


五、测试用例的设计方法:


常用的就是等价类划分法、流程分析法、边界值


理赔案件登记,这个模块中有案件名、手机号、性别、年龄等信息。比如在测输入案件号时,就要满足“10到12个字符,可使用大写字母、数字、下划线,必须使用大写字母开头”。这个就可以用等价类划分法,进行测试用例设计。这里也可以结合边界值设计测试用例。


个人出单,这个模块中有个人信息、业务类型、报价。比如在测输入的身份证号时,规则就是身份证号:六位数字地址码+八位数字出生日期码+三位数字 顺序码+一位数字校验码,这个部分就可以用等价类分析法设计测试用例。


六、我们项目有8个开发,5个测试。


一个项目1100个测试用例,项目20天,总共726个缺陷


一个模块262个测试用例,自动化测试覆盖率大概是30%,大概就是80个自动化测试用例。


每人每天测7到8个左右。


七、测试计划包括:测试范围、测试策略、测试风险、交付物、限制条件、测试资源、退出机制


八、测试报告包括:测试目的、输入文档、版本测试、测试数据分析、测试结论


九、测试用例包括:模块、测试场景、用例名称、先决条件、测试步骤、预期结果


性能测试
Jmeter的工作原理是什么?


模拟客户端去测系统服务器所能承受的最大负载压力。


什么是性能测试?


确定系统所能承受的最大负载压力。也就是,对系统能承受最大量的访问数,进行测试。


性能测试包含了哪些测试?


负载测试(Load Testing):负载测试是一种主要为了测试软件系统是否达到需求文档设计的目标


压力测试(Stress Testing):强度测试也就是压力测试,压力测试主要是为了测试硬件系统是否达到需求文档设计的性能目标


容量测试(Volume Testing):确定系统最大承受量


简述性能测试的步骤


需求确认-> 测试方案->准备环境(硬件,软件)->测试工具选择->测试数据准备->脚本录制开发->系统调优->测试报告


什么时候可以开始执行性能测试?


一般在系统功能稳定没有大的缺陷之后开始执行。但前期准备工作可以从系统需求分析时就开始:性能目标制定、场景获取


你们怎么开展性能测试的?


答: 需求确认-> 测试方案->准备环境(硬件,软件)->测试工具选择->测试数据准备->脚本录制开发->系统调优->测试报告


性能测试的对象是:系统的服务器


性能测试的目的是:验证系统在高并发的环境下,是否满足需求


性能测试的工具的工作原理:模拟客户端去测系统的服务器


性能测试的工具怎么选择:通过协议选择,你服务器支持什么协议/客户端支持什么协议,只要找到模拟这个协议的工具就行。


Jmeter代理服务器的作用:在浏览器与服务器之间,启动一个代理,录制脚本(消息都录制下来)


创建一个性能测试计划——线程组(设置模拟并发的用户数)——规定行为:http/https——脚本录制(用Jmeter代理服务器)启动Jmeter代理服务器——配置浏览器代理到Jmeter——使用浏览器访问你要测得网站——Jmeter自动录制消息——对消息调试——脚本录制——脚本优化——回访(1个用户)——N用户

187°/1876 人阅读/0 条评论 发表评论

登录 后发表评论