首页 > 其他分享 >面试题

面试题

时间:2024-11-29 14:34:22浏览次数:6  
标签:WEB 面试题 locust 生成器 列表 测试 客户端

1.性能测试的流程?

1.测试需求分析
2.测试计划制定与评审
3.测试用例设计与开发
4.测试执行与监控
5.分析测试结果
6.编写性能测试报告
7.测试经验总结

2.一份测试计划应该包括哪些内容?

背景、项目简介、目的、测试范围、测试策略、人员分工、资源要求、进度计划、参考文档、常用术语、提交文档、风险分析。

3.你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决?

首先,将问题提交到缺陷管理库里面进行备案。
然后,要获取判断的依据和标准:

根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据;
如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;
根据用户的一般使用习惯,来确认是否是缺陷;
与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;

合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不参杂个人情绪。
等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并有上级做出决定。

4.get和post的区别?

get请求的的入参是在URL地址栏当中的
post请求的入参是在body当中的
post请求方法比get请求方法要安全,并且携带的数据会更多
post请求方法一般用于表单提交或者向服务器提交数据,get请求用来查询会比较多

5.你怎么判断一个bug是前端还是后端?

我首先会通过fiddler或者谷歌浏览器F12开发者调试模式去抓取接口,如果接口的入参没有问题,并且返回的报文也没有问题,那说明就是一个前端的bug,有可能是JavaScript代码的语法问题,或者页面渲染的问题,或者样式问题导致的
如果接口的入参有问题,那就是前端的问题
如果接口的入参没有问题,但是接口的返回报文出现了报错那说明就是后端的bug,至于是什么原因导致的,我一般都会通过xshell去连接Linux服务器,查看实时的日志去分析日志然后定位bug

6.unittest单元测试框架里面失败重跑机制?

用@ rerun 装饰器

7.pytest框架失败重跑机制?

命令行模式:pytest --reruns 2 test_example.py

8.Jmeter怎么做关联接口?

先调通登录接口,然后把响应体的内容,通过正则提取呀,或者json path提取器进行提取,然后再添加一个http信息头管理期在里面用键为:token   值为:${token}进行引用,然后在下一个接口的请求头里面就自带token参数了。

9.http和https的区别?

https协议属于超文本传输加密协议需要到CA申请证书,一般免费证书较少,需要钱,http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl/tls加密传输协议,http和https用的端口也不一样,前者是80,后者是443,http的连接很简单,是无状态的,HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议

10.python中的数据类型?

字符串、Number、元组、列表、字典、集合等等

11.元组和列表的区别?

元组是不可变的基本数据类型、列表是可变的基本数据类型
元组是()小括号来定义的、列表是用中括号[]来定义的
元组的处理速度会列表要快
元组比列表要更加的安全

12.列表和字典的区别?

字典是{}大括号来定义的、列表是用中括号[]来定义的
字典是无序的不能通过索引来取值、列表是有序的
字典是以键值对的形式存在的、列表相当于就是一个容器、里面可以放置任何的数据类型

13.性能测试的bug有哪些?

数据库最大连接数不够
并发时数据库发生死锁
优化慢sql语句,使用唯一索引进行查询数据

14.会接口里面的mock吗?

mock  就是在测试环境不稳定的时候提起把接口的返回提前写好放入mock server系统 

15.APP的弱网测试怎么测?

用fiddler 来模拟弱网测试
比如在fiddler里面设置限制上传和下载的速度
通过模拟5g 4g 3g 2g WiFi网络频段来进行APP端的弱网测试、看一下是否会有数据丢包的现象
web页面还可以通过f12,设置网络

16.左连接和右连接的区别?

左连接‌(LEFT JOIN):左连接会返回左表中的所有记录,即使右表中没有匹配的记录也会显示左表中的数据,右表中的数据则显示为NULL。如果右表中没有匹配的记录,左表中的数据仍然会显示,但右表中的数据会显示为空‌。
右连接‌(RIGHT JOIN):右连接会返回右表中的所有记录,即使左表中没有匹配的记录也会显示右表中的数据,左表中的数据则显示为NULL。如果左表中没有匹配的记录,右表中的数据仍然会显示,但左表中的数据会显示为空‌

17. 对一个列表有相同的元素去重有哪些方法?

set和for循环
#1.set集合
list1 = ['test','dcs13',888,666,'test']
set1 = set(list1)
print(set1)

#2.通过for循环
list1 = ['test','dcs13',888,666,'test']
new=[]
for i in list1:
	if i not in new:
		new.append(i)
print(new)

18.Python中迭代器和生成器的区别?

迭代器 ==》有两个基本的方法:iter() 和 next()。字符串,列表或元组对象都可用于创建迭代器
生成器 ==》使用了 yield 的函数被称为生成器(generator)
跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。
在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。
调用一个生成器函数,返回的是一个迭代器对象。

19.TPS 和 QPS区别?

TPS:每秒事务数,指的是服务器每秒处理的事务数量。一个事务通常包括客户端请求、服务器处理及返回结果给客户端的完整过程。TPS是衡量系统整体事务处理能力的重要指标,常用于评估系统在高并发条件下的表现‌
适用于需要频繁进行数据读写操作的系统,如在线交易、订单处理等。在金融、电商等要求事务完整性较高的场景下,TPS尤为重要‌
QPS:每秒查询数,指的是服务器每秒能够响应的查询次数。QPS更侧重于查询操作的效率,主要用于衡量查询服务器的性能,如数据库的读操作‌
主要受查询优化、索引设计、缓存策略等因素影响。优化QPS的方法包括建立高效索引、使用快速查询算法、实施缓存机制等‌

20.locust分布式压测?

每台机器安装好python-locust环境,并使用编写的同一个脚本
单机分布式压测:
调度机:locust -f locust_batch_data.py --master
执行机:locust -f locust_batch_data.py --slave
多级分布式压测:
调度机:locust -f locust_batch_data.py --master
执行机:locust -f locust_batch_data.py --slave --master-host=192.168.*.*

21.app测试怎么抓取闪退问题?

一般可以通过adb命令,然后通过monkey随机测试  ,如果发现闪退和崩溃,在日志中搜索关键字,截图给我开发同事去定位
1)、ANR问题(程序无响应):在日志中搜索“ANR"(application no response)
2)、闪退问题:在日志中搜索"crash"
3)、异常:搜索"exception"
4)、强制退出:搜索"force closed"

22.进程/线程/协程的区别?

进程是一个应用程序的启动实例
线程属于进程,时程序的执行者,一个进程最少包含一个主线程,也可以有更多的子线程,线程有自己的栈空间,对操作系统而言,线程是最小的执行单元,进程是最小的资源管理单元
协程是一种比线程更加轻量级的存在,一个线程可以拥有多个协程

23.app测试和web测试有什么区别?

WEB测试和App测试从流程上来说,没有区别。
都需要经历测试计划方案,用例设计,测试执行,缺陷管理,测试报告等相关活动。
从技术上来说,WEB测试和APP测试其测试类型也基本相似,都需要进行功能测试、性能测试、安全性测试、GUI测试等测试类型。
他们的主要区别在于具体测试的细节和方法有区别,比如:性能测试,在WEB测试只需要测试响应时间这个要素,在App测试中还需要考虑流量测试和耗电量测试。

兼容性测试:在WEB端是兼容浏览器,在App端兼容的是手机设备。而且相对应的兼容性测试工具也不相同,WEB因为是测试兼容浏览器,所以需要使用不同的浏览器进行兼容性测试(常见的是兼容IE6,IE8,chrome,firefox)如果是手机端,那么就需要兼容不同品牌,不同分辨率,不同android版本甚至不同操作系统的兼容。(常见的兼容方式是兼容市场占用率前N位的手机即可),有时候也可以使用到兼容性测试工具,但WEB兼容性工具多用IETester等工具,而App兼容性测试会使用Testin这样的商业工具也可以做测试。
安装测试:WEB测试基本上没有客户端层面的安装测试,但是App测试是存在客户端层面的安装测试,那么就具备相关的测试点。还有,App测试基于手机设备,还有一些手机设备的专项测试。如交叉事件测试,操作类型测试,网络测试(弱网测试,网络切换)
交叉事件测试:就是在操作某个软件的时候,来电话、来短信,电量不足提示等外部事件。
操作类型测试:如横屏测试,手势测试
网络测试:包含弱网和网络切换测试。需要测试弱网所造成的用户体验,重点要考虑回退和刷新是否会造成二次提交。弱网络的模拟,据说可以用360wifi实现设置。从系统架构的层面,WEB测试只要更新了服务器端,客户端就会同步会更新。而且客户端是可以保证每一个用户的客户端完全一致的。但是APP端是不能够保证完全一致的,除非用户更新客户端。如果是APP下修改了服务器端,意味着客户端用户所使用的核心版本都需要进行回归测试一遍。
还有升级测试:升级测试的提醒机制,升级取消是否会影响原有功能的使用,升级后用户数据是否被清除了。

标签:WEB,面试题,locust,生成器,列表,测试,客户端
From: https://www.cnblogs.com/mrzxb/p/18576683

相关文章

  • 软件测试技术面试题及参考答案整理
    一、什么是兼容性测试?兼容性测试侧重哪些方面?参考答案:兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。兼容测试的重点是,对兼容环境的......
  • React进阶面试题目(三)
    如何在React中实现滚动动画?在React中实现滚动动画可以通过多种方式实现,以下是一个基本的实现步骤:构建组件:首先构建需要展示滚动动画的组件,例如一个About组件,它包含一些文本或元素。监听滚动事件:在组件挂载后,通过window.onscroll事件监听滚动事件。更新状态:根据滚......
  • 面试题 02.07. 链表相交
    题目自己写的:/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode(intx):val(x),next(NULL){}*};*/classSolution{public:ListNode*getIntersection(ListNode*headA,ListNode*hea......
  • 面试题精选16-Nginx的应用场景有哪些
    1.Web服务器Http配置Https配置2.反向代理服务器Nginx作为请求入口,客户端访问Nginx,Nginx再将请求转发到后端,最后响应给客户端,以此防止后端服务器对外暴露,提高服务器的安全性。3.负载均衡将Nginx作为负载均衡器,客户端访问Nginx时,Nginx采取某种策略(默认是轮询策略)将请求......
  • 阿里技术岗位笔试&面试题:最大频率栈
    题目:最大频率栈。实现FreqStack,模拟类似栈的数据结构的操作的一个类。FreqStack有两个函数:push(intx),将整数x推入栈中pop(),它移除并返回栈中出现最频繁的元素。如果最频繁的元素不只一个,则移除并返回最接近栈顶的元素。◼示例:push[5,7,5,7,4,5]pop()->返回5,因......
  • 前端面试题-1(详解事件循环)
    1.了解浏览器的进程模型1.什么是进程?程序运行需要有它自己专属的内存空间,可以把这块内存空间简单的理解为进程每个应用至少有一个进程,进程之间相互独立,即使要通信,也需要双方同意。2.什么是线程?有了进程后,就可以运行程序的代码了。我们可以理解为操作程序的'人'就是线......
  • 测试面试题总结
    功能抓包APPUI自动化项目:项目流程,如何排期测试流程,项目周期项目流程中的问题介绍项目核心功能,如何设计用例熟悉或最近的项目,业务功能,和负责部分,如何进行测试业务测试除了功能上还有其他方面的逻辑测试吗项目最近发版时间开发技术评审发现了什么问题开发逻辑讲......
  • ASP.NET Core面试题汇总
    1.如何在controller中注入service?在configservices方法中配置这个service。在controller的构造函数中,添加这个依赖注入。 2.ASP.NETCore比ASP.NET更具优势的地方是什么?跨平台,ASP.NETCore可以运行在Windows、Linux和MAC系统上;对框架本安装没有依赖,所有依赖都跟......
  • 面试题精选14-数据库中如何实现行锁和表锁
    行锁(RowLock)SQLSERVER行锁是在数据行层面上实施的锁定。当你对特定的行执行操作时,SQLServer通常会自动使用行锁来确保数据的一致性和隔离性。使用事务并指定隔离级别:在事务中使用适当的隔离级别可以使SQLServer在需要时使用行锁。BEGINTRANSACTION;SETTRANSACTION......
  • Hadoop面试题总结
    1.1、介绍Hadoop广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈。狭义上说,Hadoop指Apache这款开源框架,它的核心组件有:(1)、HDFS(分布式文件系统):解决海量数据存储(2)、YARN(作业调度和集群资源管理的框架):解决资源任务调度(3)、MAPREDUCE(分布式运算编程框架):解决海量......