首页 > 编程知识 正文

软件测试的生命周期,jmeter接口自动化测试面试题

时间:2023-05-05 14:24:16 阅读:165422 作者:4833

1. http码表,常考题目404 :找不到资源

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

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

502 )用作网关或代理的服务从远程服务接收到无效请求。

301 )永久移动。 请求的资源已永久移动到新的URI。 返回的信息包含新的URI,浏览器自动移动到新的URI。 今后需要用新的URI替换新的请求。

302 )临时移动。 和301相似。 但是,资源只是临时移动,客户端必须继续使用原始URI。

200 :成功。

2. TCP/IP四层网络模型链路层、网络层、传输层、APP传输层。

3. TCP/UDP有什么区别?TCP:需要可靠的传输协议、三次握手连接,特点是有确认重传机制,可靠、准确、拥塞控制,缺点比较慢,传输量小,升级、拥塞一句话,TCP是可靠的传输。

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

4 .运行4. html css js的优先级是什么? 加载接口时,首先加载html,再加载css,最后加载js

5. session和cookie的区别在于哪些session存储在服务器端,用于验证客户端的身份

cookie存储在客户端上,每次客户端向服务器发出请求时,它都会将cookie带到服务器端以验证客户端的身份

二、接口测试1 .如何用JMeter测试接口? 使用JMeter进行接口测试时:

测试前了解需求,根据接口规格书整理业务

然后设计用例,分析接口的输入和输出,明确存在哪些有效输入和无效输入,设计用例(原则:用最少的用例覆盖所有有效输入,每个无效输入测试用例)

准备测试所需的帐户、密码、key等信息

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

参数化放置,添加放置组件CSV Data Set Config,定义变量,准备CSV格式的数据,变量引用为${变量名}格式;

添加断言以判断测试结果的正确性,使用最多的是对断言的响应

添加监听程序,如查看结果树和监听测试结果;

运行测试用例;

查看侦听器的结果,判断用例的执行是成功还是失败,并对失败的用例分析其失败原因;

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

最后输出测试报告。

2 .如何在Postman上测试接口? 使用Postman测试接口时:

其中,1、2、3点相同,但工具的使用方法比JMeter简单。 工具的主要步骤是添加对应的请求、填写主机URL和条目、添加测试集、运行测试集、分析结果报告。

如何在JMeter中将上一个请求的结果作为下一个请求的参数? 使用正则表达式提取器从上一个请求的响应中提取信息,保存引用名称(如abc ),然后在下一个请求的参数中以${abc}格式引用提取结果。

常见正则表达式格式:(其中.表示匹配任意字符串,仅匹配一次, 表示一致后停止。

三、性能测试通常在我们的功能测试完成后的两三天内测试性能。

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

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

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

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

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

6、指标不达标时,反馈开发进行调优。 调整后继续测试,并最终输出测试报告,直到满足需求。 推荐q群。 902061117分享了很多资料! 资料是面试中面试官一定要问的知识点

四.自动化测试1. Python如何定义函数? 可以定义自己想要的功能的函数。 以下是简单的规则。

函数块以def关键字开始,包含函数标识符名称和括号(

传递的参数和参数必须括在括号中。 可以在括号之间定义参数。

函数的第一行可以选择性地使用文档字符串。 用于存储函数的说明。

函数的内容以冒号开头并缩进

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种定位方法

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

根据CSS选择器定位;

根据 XPath 定位;

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

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

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

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

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

driver.switch_to_alert().accept()

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

driver.switch_to_alert().dismiss()

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

driver.switch_to_alert().text

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

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

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

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

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

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

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

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

最后: 给大家推荐一个 q 群:902061117 里面有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果对你有一点点帮助,各位的「点赞」就是小编创作的最大动力,我们下篇文章见!

好文推荐

2021软件测试工程师面试题汇总(内含答案)-看完BATJ面试官对你竖起大拇指!

什么样的人适合从事软件测试工作?

软件测试和软件开发哪个发展更好

那个准点下班的人,比我先升职了…

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。