软件测试面试题含答案:web+网络|接口测试|性能测试|自动化测试

测试萌萌 测试萌萌     2022-12-10     179

关键词:

一、WEB+网络

  1. http代码表,常考题目

404:找不到资源

500:服务器内部错误,无法完成请求。

501:服务器不支持请求的功能,无法完成请求。

502:充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。

301:永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI,今后任何新的请求都应使用新的URI代替。

302:临时移动。与301类似。但资源只是临时被移动,客户端应继续使用原有URI。

200:成功。

  1. TCP/IP四层网络模型

链路层、网络层、传输层、应用层。

  1. TCP/UDP区别?

TCP:可靠传输协议,需要三次握手连接,有确认重传机制,特点是可靠、准确、有拥塞控制,缺点就是比较慢,传输量比较小,适用于升级、下载;一句话:TCP是可靠的传输。

UDP:不可靠传输协议,面向非连接的协议,优点是传输量大、速度快,缺点是已丢失、没有拥塞控制,适用于直播、视频等。一句话:UDP是不可靠的传输。

  1. html css js运行的先后顺序是什么?

界面加载的时候先加载html在加载css最后加载js

  1. session和cookie的区别是什么

  2. session存放在服务器端用来校验客户端的身份

  3. cookie存放在客户端,每次从客户端往服务器发请求时,将cookie带到服务器端,用来校验客户端的身份

二、接口测试

1. 怎么用JMeter测试接口?

如果使用JMeter进行接口测试:

  1. 测试前了解需求,根据接口规格说明书梳理业务;

  2. 接下来设计用例,分析接口的入参和出参,分清楚有哪些有效输入和无效输入,设计用例(原则:用最少的用例覆盖所有有效输入,针对每一个无效的输入设计一个测试用例,如果有错误码没有覆盖到,还要对每个未覆盖的错误码分别设计一个用例);

  3. 准备测试数据,比如:测试所需的账号、密码、key 等信息;

  4. 打开JMeter,创建一个线程组,根据接口类型,填写好对应的接口地址和请求方式等;

  5. 参数化配置,添加配置元件CSV Data Set Config,定义变量,并准备CSV格式的数据,变量的引用用$变量名的格式;

  6. 添加断言来判断测试结果的正确性,用得最多的是响应断言;

  7. 添加监听器,比如查看结果树,对测试结果进行监听;

  8. 运行测试用例;

  9. 查看监听器结果,来判断用例的执行是成功还是失败,针对失败的用例,分析其失败原因;

  10. 针对测试中发现的问题,给开发提单,直到问题最终解决。

  11. 最后输出测试报告。

2. 怎么用Postman测试接口?

如果使用Postman测试接口:

其中1,2,3点相同,工具使用方面则比JMeter跟简单,工具的主要的步骤是添加对应的请求、填写主机URL及入参、添加测试套、运行测试套、分析结果出报告。

3. 在JMeter上如何把上一个请求的结果作为下一个请求的参数?

使用正则表达式提取器提取上一个请求的响应中的信息,保存一个引用名称比如abc,在下一个请求的参数中,用$abc的格式来引用提取的结果。

常用的正则表达式格式:(.+?),其中.表示匹配任意字符串,+表示只匹配一次,?表示匹配到就停下来。

三、 性能测试

一般是我们功能测试完成最后两三天时间测试性能。

1、先是分析需求计算出并发数,TPS,响应时间和 CPU,内存,硬盘和网络IO这些指标。

2、制定测试方案,主要包括环境,计划和具体测试那些场景(如可靠性,并发,负载,压力测试等)

3、根据场景用Badboy录制脚本,导出为JMeter工具支持的脚本。

4、用JMeter工具打开脚本,进行脚本调试,加一些断言,监听器,参数化等。

5、接下来执行性能测试,然后主要收集监听器和收集服务器CPU,内存,硬盘和网络IO等分析是否满足需求,如果满足就输出性能测试报告。

6、如果指标不能满足,反馈给开发进行调优。调优后继续测试,一直到满足需求后最终输出测试报告。

四、自动化测试

1. Python怎么定义一个函数?

你可以定义一个由自己想要功能的函数,以下是简单的规则:

  1. 函数代码块以def关键词开头,后接函数标识符名称和圆括号()。

  2. 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。

  3. 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

  4. 函数内容以冒号起始,并且缩进

  5. return[表达式]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回None

2 Python切片

list1=[sa,fe,faw,ve,eta,t]

list1[2:5]

list1[2:]

list1[:]

list1[20:]

得到的是[ ]

3. Python上用过什么库/模块?

webdriver:定位和操作元素

time:设置等待时间

ActionChains:动作链,完成鼠标的相关操作

Keys:键盘的相关操作

WebDriverWait:设置显式等待

Expect_Conditions:针对单个元素,设置显式等待的场景

PIL:截图

Select:下拉选择框的操作

unittest python:自带的单元测试框架

HTMLTestRunner:运行脚本,生成报告

ddt:实现数据驱动测试,行为和数据分离

4. 你做过自动化测试吗?

我在上一份工作中,公司去年下半年也开始规划做Web 自动化,采用Python作为开发语言,通过Selenium WebDriver定位和操作页面元素,自动化框架用的是unittest。我主要负责写测试脚本。

假设一个测试团队有5个人:1资深(测试经理)+2~3个中级(自动化+手动)+1 个初级(手动)

5. 使用什么工具进行的自动化测试

使用的工具是Selenium(Web自动化工具)

6. 用的什么编程语言

用的Python

7. Selenium 用的是哪个版本的的?Python用的是哪个版本的?

用的是selenium 3.11.0和Python2.7.10

8. Selenium的工作原理?

1)对html元素定位

2)模拟对第一步定位到的元素进行点击、输入、选择等操作一句话:定位元素,操作元素。

9. 元素定位方法有哪些?

要点:8种定位方法

  1. 根据元素的属性值定位,比如 id、name、class、标签名、链接文字和部分链接文字;

  2. 根据CSS选择器定位;

  3. 根据 XPath 定位;

10. 子页面里的元素怎么定位?

先切换到框架里,然后再定位,用switch_to_frame函数根据子页面id或name,切换到子页面;定位完了如果要再定位主页面的元素,要用switch_to_default_content 函数先返回主页面。

11. 怎么定位alert弹窗?或者这样问:怎么处理JS原生窗口?

要点:主要涉及点击弹窗确认按钮、强行关闭弹窗、获取弹窗中的文字等操作。

  1. 点击弹窗的确定按钮,用如下函数:

driver.switch_to_alert().accept()

  1. 强行关闭,点击右上角的叉叉,用如下函数:

driver.switch_to_alert().dismiss()

  1. 获取弹窗里的文字,用如下函数:

driver.switch_to_alert().text

12. 怎么运行自动化用例并生成测试报告?

以unittest为例,我通常的做法是把用例加载到测试套中,做成一个脚本,在命令窗口下运行脚本,报告的生成用第三方模块HTML TestRunner来生成。

13. 怎么定位/操作图片中的验证码?

用tesseract OCR引擎处理图片中的验证码,步骤:

(1)对整个屏幕截屏,保存成png格式的图片;

(2)在截取的图片中定位验证码图片的位置坐标;

(3)根据坐标对验证码截图;

(4)在图片中提取验证码,输入到输入框。

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你

关注我的微信公众号【伤心的辣条】自行获取~

自己建的软件测试交流学习群: 902061117

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

好文推荐:

阿里小黑叹息:越来越多的年轻人从职场撤退了?

Python简单?先来40道基础面试题测试下

App公共测试用例梳理

从一名开发人员转做测试的一些感悟

阿里最全面试100题:阿里天猫蚂蚁金服阿里巴巴面试题含答案

【阿里天猫、蚂蚁、钉钉面试题目】1、微信红包怎么实现。2、海量数据分析。3、测试职位问的线程安全和非线程安全。4、HTTP2.0、thrift。5、面试电话沟通可能先让自我介绍。6、分布式事务一致性。7、nio的底层实现。8、jvm基础... 查看详情

软件测试面试题:web+网络|接口测试|性能测试|自动化测试

参考技术A1.http代码表,常考题目404:找不到资源500:服务器内部错误,无法完成请求。501:服务器不支持请求的功能,无法完成请求。502:充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。301:永久移动。请... 查看详情

跳槽季--性能测试面试题(带答案)

一、性能测试开展过程:答:第一步:找产品沟通哪些接口需要压测,需要达到什么样的预期值(TPS和响应时间)第二步:编写测试计划,人员、时间周期、工具第三步:环境搭建第四步:造数据第五... 查看详情

4万字,200道java面试题含答案

...ka、Zookeeper、MySQL、Redis、JVM」,如下图所示:共包含208道面试题,本文的宗旨是为读者朋友们整理一份详实而又权威 查看详情

4万字,200道java面试题含答案

...ka、Zookeeper、MySQL、Redis、JVM」,如下图所示:共包含208道面试题,本文的宗旨是为读者朋友们整理一份详实而又权威 查看详情

性能测试面试(转)

测试干货:https://www.cnblogs.com/Chamberlain/p/10730850.html不懂得可以问我+v chimugu  1) 什么是性能测试?答案:系统在一定的压力情况下,查看cpu,内存,磁盘,网络带宽,TPS、响应时间、并发用户数、等各项指标,通... 查看详情

软件测试面试--性能测试

1、如何理解强度测试?参考答案:强度测试是为了确定系统在最差工作环境的工作能力,也可能是用于验证在标准工作压力下的各种资源的最下限指标。它和压力测试的目标是不同的,压力测试是在标准工作环境下,不断增加系统... 查看详情

软件测试面试题目—接口测试面试题,梦寐以求的答案来了

最近很多人在问接口测试面试题有哪些,小编基于大家的需求,花了好几天时间给大家整理了一篇接口测试面试的时候经常会问到的一些题。大家觉得有用的话记得分享给身边有需要的朋友。(笔芯)本次接口测... 查看详情

百度资深工程师全方位讲解测试面试

...程介绍本章对本门课做详细介绍,说明本课围绕测试人员面试展开,从语言基础、高级编程、web自动化测试、接口自动化测试、性能测试到mysql、Linux全部包含在内,让你的面试技术无死角。最后对测试项目和测试人员的价值及... 查看详情

网络测试工程师面试题及答案

...A  网络测试工程师求职者提高应聘水平的第一关就是面试题的回答。下面是我为大家精心推荐的网络工程师面试题及参考答案,希望能够对您有所帮助。  网络工程师面试题篇1  1、什么是兼容性测试?兼容性测试侧重哪... 查看详情

2022最新整理软件测试常见面试题附答案(代码片段)

包含的模块:本文分为十九个模块,分别是:软件测试基础、liunx、MySQL、web测试、接口测试、APP测试、管理工具、Python、性能测试、selenium、lordrunner、计算机网络、组成原理、数据结构与算法、逻辑题、人力资源需... 查看详情

性能测试面试灵魂问答

性能测试的三个核心原理是什么?1.基于协议。性能测试的对象是网络分布式架构的软件,而网络分布式架构的核心是网络协议2.多线程。人的大脑是单线程的,电脑的cpu是多线程的。性能测试就是利用多线程的技术... 查看详情

4万字,200道java面试题含答案

...ka、Zookeeper、MySQL、Redis、JVM」,如下图所示:共包含208道面试题,本文的宗旨是为读者朋友们整理一份详实而又权威的面试清单,下面一起进入主题吧。Java基础1.JDK和JRE有什么区别?JDK:JavaDevelopmentKit的简称,Java开发工具包,... 查看详情

软件测试面试必杀篇:2023软件测试面试八股文宝典

800道软件测试面试真题,高清打印版打包带走,横扫软件测试面试高频问题,涵盖测试理论、Linux、MySQL、Web测试、接口测试、App测试、Python、Selenium、性能测试、LordRunner、计算机网络、数据结构与算法、逻辑思维、... 查看详情

宅家30天,吃透这份测试工程师面试700道题解析,成功定级阿里p7

...测试工程师核心面试700题解析整理!内容包括:软件测试基础210道面试题及答案解析Linux54道面试题及答案解析MySQL80道面试题及答案解析web测试10道面试题及答案解析接口测试35道面试题及答案解析APP测试12道面试题及答案... 查看详情

2021最新vue面试题含源码解析(代码片段)

...好的性能v-for优先于v-if被解析(把你怎么知道的告诉面试官)//源码中找答案:compiler/codegen/index.js>genElement()if(el.staticRoot&&!e.staticProcessed) 查看详情

4万字,200道java面试题含答案!

你知道的越多,不知道的就越多,业余的像一棵小草!你来,我们一起精进!你不来,我和你的竞争对手一起精进!编辑:业余草cnblogs.com/51ma/p/12462688.html推荐:https://www.xttblog.com/?p=5271包含... 查看详情

做接口测试前必备的网络基础知识,你get了吗?(代码片段)

在面试时,不管是面试功能测试、自动化测试、测试开发乃至性能测试,都会问到计算机网络基础相关知识。今天主要介绍一些高频的网络基础面试题目,网络情缘一线牵,珍惜这段缘,如果觉得有帮助,... 查看详情