自动化接口测试题(接口测试和接口自动化测试的区别)

网友投稿 251 2023-01-09


本篇文章给大家谈谈自动化接口测试题,以及接口测试和接口自动化测试的区别对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享自动化接口测试题的知识,其中也会对接口测试和接口自动化测试的区别进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

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


1. http代码表,常考题目

404:找不到资源

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

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

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

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

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

200:成功。

2. TCP/IP四层网络模型

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

3. TCP/UDP区别?

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

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

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

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

5. session和cookie的区别是什么

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

2. 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切片

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()

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

driver.switch_to_alert().dismiss()

3) 获取弹窗里的文字,用如下函数:

driver.switch_to_alert().text

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

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

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

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

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

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

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

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

软件测试自动化测试面试题

第一题:我认为需要在测试前需要先写好测试计划,其中最重要的是本次测试使用的测试方法、使用的测试工具、测试环境。人员方面需要进行人员及进度的安排,每个测试阶段后的输出工件,还要有风险评估。在测试前将这些准备工作做到位,这样在测试的时候就会比较有条理。
第二题:控制测试质量,我认为最好是做好测试用例的设计,这样可以对测试的覆盖率进行控制。
补充:如果时间充裕的话可以在设计用例后对其进行评审,这样可以提高测试质量。不过这个在实际的工作当中一般实现不了。。。。

下面列出的是网上的一个软测笔试题,好多单位在笔试的时候都会copy下来作为笔试题,我至少遇到两次了,其他的笔试题还有,但不一一列出了。
一、判断题(每题1分,12 分,正确的√,错误的╳)
1.软件测试的目的是尽可能多的找出软件的缺陷。()
2.Beta 测试是验收测试的一种。()
3.验收测试是由最终用户来实施的。()
4.项目立项前测试人员不需要提交任何工件。()
5.单元测试能发现约80%的软件缺陷。()
6.代码评审是检查源代码是否达到模块设计的要求。()
7.自底向上集成需要测试员编写驱动程序。()
8.负载测试是验证要检验的系统的能力最高能达到什么程度。()
9.测试人员要坚持原则,缺陷未修复完坚决不予通过。()
10.代码评审员一般由测试员担任。() 1
11.我们可以人为的使得软件不存在配置问题。()
12.集成测试计划在需求分析阶段末提交。()
二、不定项选择题(每题2 分,10分)
1.软件验收测试的合格通过准则是:()
A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B. 所有测试项没有残余一级、二级和三级错误。
C. 立项审批表、需求分析文档、设计文档和编码实现一致。
D. 验收测试工件齐全。
2.软件测试计划评审会需要哪些人员参加?()
A.项目经理
B.SQA 负责人
C.配置负责人
D.测试组
3.下列关于alpha 测试的描述中正确的是:()
A.alpha 测试需要用户代表参加
B.alpha 测试不需要用户代表参加
C.alpha 测试是系统测试的一种
D.alpha 测试是验收测试的一种
4.测试设计员的职责有:()
A.制定测试计划
B.设计测试用例
C.设计测试过程、脚本
D.评估测试活动
5.软件实施活动的进入准则是:()
A.需求工件已经被基线化
B.详细设计工件已经被基线化
C.构架工件已经被基线化
D.项目阶段成果已经被基线化
三、填空题(每空1分,24 分)
1.软件验收测试包括(正式验收测试)、(非正式验收测试和Alpha测试)、(Beta测试)三种类型。
2.系统测试的策略有功能测试、(性能测试)、(负载测试)、(压力测试)、易用性测试、(容量测试)、(强度测试)、 (兼容性测试又称)、(本地化测试)、(BVT测试)、(裸机测试)、(安全性测试)、()、(容错性测试)、(恢复测试)、()等15 种方法。
3.设计系统测试计划需要参考的项目文档有(需求规格说明书)、()和迭代计划。
4.对面向过程的系统采用的集成策略有()、()两种。
5.通过画因果图来写测试用例的步骤为、、、及把因果图转 换为状态图共五个步骤。
四、简答题(共37分)
1. 阶段评审与同行评审的区别。(4 分)
2 . 什么是软件测试。(3 分)
答:通过人工或自动化手段对系统进行测试,目的是为了验证系统是否满足预定功能或者是为了弄清楚实际结果与预期结果之间的差别。
3 . 简述集成测试的过程。(5 分)
答:将通过单元测试的单元模块按照设计要求组合起来再进行测试。重点检查程序接口处是否有问题。
过程:首先进行集成测试的测试计划测试设计测试开发测试用例执行测试评估,并且进行全程的缺陷跟踪。
4 . 怎样做好文档测试?(4 分)
答:文档测试要注意一下几点:文档的读者群、文档的术语、文档的正确性、文档的完整性、文档的一致性、文档的易用性、样例与示例、文档的语言
5. 白盒测试有那几种方法?(6 分)
答:白盒测试方法分为:静态测试和动态测试
静态测试方法:①编码标准与准则 ②走查 ③审查 ④评审
动态测试方法:①语句覆盖 ②判定覆盖 ③条件覆盖 ④判定-条件覆盖 ⑤条件组合覆盖 ⑥路径覆盖
⑦条件组合+路径覆盖
6. 系统测试计划是否需要同行评审,为什么?(4 分)
答:系统测试计划需要进行同行评审,因为如果对一个系统长时间进行测试可能会出现测试疲劳甚至出现
对系统的免疫现象,因此可以进行同行评审,减少对相同系统的疲劳测试。
7. Alpha 测试与beta 测试的区别。(4 分)
8 . 比较负载测试、容量测试和强度测试的区别。(6 分)
9 . 测试结束的标准是什么?(3 分)

HTTP接口自动化测试

GET:获取指定资源,在URL可以携带参数

HEAD:获取指定资源,区别在于,HEAD方法的相应报文没有消息体

POST:创建或修改指定资源,比如常见的提交表单或上传文件等

PUT:也是创建或修改指定资源,区别在于PUT方法时幂等的,就是说调用一次与调用多次的效果一致

DELETE:请求服务器删除指定的资源

在客户端发起HTTP请求后服务器会进行响应,不同的响应码对应不同的场景,响应码由3位数字组成,第一个数字代表当前响应的类型

1XX:提示信息,服务器的临时响应,此时客户端应继续发起请求;

2XX:成功,请求已被服务器成功处理,比如200OK;

3XX:重定向,需要客户端进行后续操作才能达成目的;

4XX:客户端错误,客户端请求发生错误;

5XX:服务器错误,服务器处理正确请求时发生错误,比如500 Internal Server Error。

参数的测试点有:

接口自动化测试

接口 :外部系统与本系统之间以及系统内部的各个子系统间,以约定标准提供的服务,包括对外提供的接口/对内提供的接口。

在这块我们举一个比较生活化的例子,我们平常使用的笔记本,在笔记本的两端有很多小插口,最常见的就是USB插口,我们可以把鼠标连接在USB插口上,也可以把键盘、U盘连接在USB插口上,为什么同一个USB接口可以连接这么多设备呢,其实这个接口,他就有一个统一对外的连接标准。
在我们开发当中,也有一个对外暴露的接口,因为他们服务的协议都是统一的,最常见的就是hhtp协议,我们规定好一种格式,让客户端来调用我们。
这里面键盘鼠标属于调用方,插到笔记本的USB上,就可以连接设备,就可以进行操作了。对外暴露的一个统一的一个规范,这样去理解接口,更形象一些。

在了解完什么是接口之后,我们来说一下什么是接口测试。
接口测试 测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等,保证对外提供接口的正确性和健壮性。
我们在具体测试过程中,我们不用关心接口调用方和接收方的实现逻辑,我们只需要知道传入什么数据,返回什么的结果是否达到我们的预期。接口测试其实也是黑盒测试,他与UI测试的区别就是没有界面交互,是不可视化的。

测试前置 :我们不能等到整个系统全部开发完成才能进行测试,我们可以通过调用接口来进行测试,把问题拦截在前期,降低问题修复成本。
Bug更容易定位 :因为我们按接口进行测试,出现问题后在被测接口中排查就可以了,它比系统集成之后,发现问题更容易定位,系统集成之后有各种模块的调用,出现bug之后再排查,排查的链路非常的长。另外从机制上更接近出问题的地方更容易命中问题。
前后端分离结构 :现在很多系统都采用前后端分离架构,各服务之间更多的是通过接口来实现信息互通,对接口进行直接测试,可以更全面的覆盖各类测试场景。
自动化测试落地性价比高 :比UI自动化测试更稳定,我们上面已经说了UI层的元素时常发生变化,有时改一个简单的元素,都有可能导致我们的自动化测试走不下去,写一套自动化测试脚本比较容易的,但是维护起来,会耗费很大的时间精力,相对来说,接口就比较稳定,一个项目没有大的改造,入参和出参就是固定的,变化的概率比较小,这样维护起来也比较方便。
减少安全隐患 :比如我们在平常的测试过程中,测试用户名和密码,密码格式要求不能输入特殊字符,前端做了校验,而后端没有处理,这样我们只测试页面,这条case就默认通过了,但一些黑客可能通过抓包的方式进行登录,这样安全隐患就比较大了。我们对接口进行安全测试,可以避免安全隐患。

借助工具 : Postman、Jmeter、jsf平台、jsf测试工具、easytest
编写测试脚本 :Java+TestNG

请关注下一篇如何使用Java+TestNG进行接口自动化测试

关于自动化接口测试题和接口测试和接口自动化测试的区别的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 自动化接口测试题的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于接口测试和接口自动化测试的区别、自动化接口测试题的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微服务网关选项(微服务网关集群)
下一篇:Java为什么匿名内部类参数引用需要用final进行修饰?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~