软件测试面试
高频
常见自动化测试面试题 - tyreal2 - 博客园 (cnblogs.com)
自动化测试面试经历 - 心之歌 - 博客园 (cnblogs.com)
1、GET和POST请求的区别
get:1、相对不安全,没有请求体,一般实在url中传递数据,明文。2、url长度有限,传递数据量小。3、查询,200.
post:1、相对安全,有请求体,浏览器地址看不到,抓包可以看到,敏感数据最好加密。2、有请求体,请求体可传递大量数据。3、增加,201.
2、cookie和session和token有什么区别
cookie:1、存放在浏览器里面。2、通过JS生成,后端服务器颁发(set_Cookie)。3、发送请求自动会带上cookie。4、大小和个数有限制
session:1、存放在服务端。2、用户第一次访问系统时生成(每一个session对象都有一个唯一的id)。3、sessionID通过cookie进行传递。4、存放数据量相对比较大
token:1、实现身份认证。2、一般保存在客户端,有些系统也会在服务器端保存。3、调用登录接口,并且登录成功才会生成。4、访问需要登陆才能访问的接口时进行传递,一般在请求头里传递。5、token一般会保存登录用户的信息,一般时id、。
常见用户认证方式:
1、session+cookie
2、token
3、常用Linux命令
linux系统常用的20个命令(适合新手练习)_linux常用命令_绮梦寒宵的博客-CSDN博客
1。ls 查看指定工作目录的内容,列出指定目录下包含的所有文件以及子目录。
2。cd 切换到目标目录。
3。pwd 显示目录的绝对路径。
4。mkdir 创建指定目录,创建多个目录空格隔开。
5 。touch 创建为空的新文件,多个文件用空格隔开。
6。mv 修改文件或者目录名,移动文件的位置
7。cat 查看文件内容
8 。cp 复制文件或目录
9。rm 删除文件,删除目录需要加-r,-f强制删除。
4、BS和CS架构的区别是什么、
1 什么是C/S架构? 2 3 C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQLServer。 4 5 C/S架构软件有一个特点,就是如果用户要使用的话,需要下载一个客户端,安装后就可以使用。比如QQ,OFFICE软件等。 6 7 8 —C/S架构的优点: 9 10 C/S架构的界面和操作可以很丰富。(客户端操作界面可以随意排列,满足客户的需要) 11 安全性能可以很容易保证。(因为只有两层的传输,而不是中间有很多层。 12 由于只有一层交互,因此响应速度较快。(直接相连,中间没有什么阻隔或岔路,比如QQ,每天那么多人在线,也不觉得慢) 13 14 15 16 17 18 —C/S架构的缺点: 19 可以将QQ作为类比: 20 21 适用面窄,通常用于局域网中。 22 用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户。 23 维护成本高,发生一次升级,则所有客户端的程序都需要改变。 24 25 什么是B/S架构 26 27 B/S架构的全称为Browser/Server,即浏览器/服务器结构。 28 Browser指的是Web浏览器,极少数事务逻辑在前端实现,但主要事务逻辑在服务器端实现。 29 B/S架构的系统无须特别安装,只有Web浏览器即可。 30 其实就是我们前端现在做的一些事情,大部分的逻辑交给后台来实现,我们前端大部分是做一些数据渲染,请求等比较少的逻辑。 31 —B/S架构的分层: 32 33 与C/S架构只有两层不同的是,B/S架构有三层,分别为: 34 35 第一层表现层:主要完成用户和后台的交互及最终查询结果的输出功能。 36 第二层逻辑层:主要是利用服务器完成客户端的应用逻辑功能。 37 第三层数据层:主要是接受客户端请求后独立进行各种运算。 38 如图所示: 39 40 41 42 43 44 45 1、B/S架构的优点: 46 47 客户端无需安装,有Web浏览器即可。 48 BS架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。 49 BS架构无需升级多个客户端,升级服务器即可。可以随时更新版本,而无需用户重新下载啊什么的。 50 51 2、B/S架构的缺点: 52 53 54 55 56 在跨浏览器上,BS架构不尽如人意。 57 表现要达到CS程序的程度需要花费不少精力。 58 在速度和安全性上需要花费巨大的设计成本,这是BS架构的最大问题。 59 客户端服务器端的交互是请求-响应模式,通常需要刷新页面,这并不是客户乐意看到的。(在Ajax风行后此问题得到了一定程度的缓解) 60 3.两者的区别: 61 区别一:硬件环境 62 63 CS建立在局域网的基础上,局域网之间再通过专门服务器提供连接和数据交换服务。在CS结构中,客户机和服务器都需要处理数据任务,这就对客户机的硬件提出了较高的要求。 64 BS结构建立在广域网之上,不必配备专门的网络硬件环境,对客户端的硬件要求不是很高,只需要运行操作系统和浏览器,服务器端处理大量实时的数据,对服务器端的硬件提出了较高的要求。 65 66 区别二:系统安全性 67 68 CS结构采取点对点的结构模式,数据的处理是基于安全性较高的网络协议之上。另外,CS一般面向相对固定的用户群,它可以对权限进行多层次的校验,对信息安全的控制能力很强,安全性可以得到很好的保障。 69 70 BS结构采取一点对多点、多点对多点的开放式结构模式,其安全性只能靠数据服务器上的管理密码的数据库来保证,况且网络安全技术尚未成熟,需不断发现、修补各种安全漏洞。 71 72 区别三:系统维护 73 74 CS结构中的每一个客户机都必须安装和配置相关软件,如操作系统、客户端软件等。当客户端软件需要维护、升级,即使只是增加或删除某一功能,也需要逐一将CS结构中所有的客户端软件卸载并重新安装。如果不进行升级,可能会碰到客户端软件版本不一致而无法工作的情况。 75 76 BS结构中每一个客户端只需通过浏览器便可进行各种信息的处理,而不需要安装客户端软件,维护、升级等几乎所有的工作都在服务器端进行,如果系统需要升级,只需要将升级程序安装在服务器端即可。 77 78 区别四:系统处理速度 79 80 CS结构在逻辑结构上比BS结构少一层,对于相同的任务,CS结构完成的速度总比BS结构快,使得CS更利于处理大量数据。另外,由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。 81 82 区别五:处理模式及交互性 83 84 CS结构建立在局域网上,处理面向在相同区域的比较固定的用户群,满足对安全要求高的需求,与操作系统相关。CS结构的交互性很强,在CS结构中,客户机有完整的客户端软件,能处理大量的、实时的数据流,响应速度快,但是信息流单一。 85 86 BS结构建立在广域网上,处理面向分散的地域的不同的用户群,与操作系统关系较少。BS结构可以提供一定的交互能力,但交互能力很有限;但是BS结构可处理如B-B、B-C、B-G等信息,并具有流向的变化。
-------------------------------------------------------------------------------------
中频
1、常见的响应状态码
2xx:成功,3xx:重定向,4xx:客户端错误,5xx:服务器端错误
2、登录无反应如何定位前后端问题
1、重试
2、检查按钮是否可以点击--前端问题
3、检查网络是否正常
4、抓包
抓不到包--前端问题
抓到包--请求数据有问题,前端问题。--请求数据没问题,响应数据有问题。--后端问题--分析日志,数据库,后端代码。--请求数据没问题,响应数据也没问题。--前端问题。
3、web测试和app测试区别
1、功能方面
web项目一般都是b/s架构,基于浏览器。app则是c/s架构,必须要客户端。从系统架构来看,web测试只要更新了服务器端,客户端会同步更新,而且客户端可以保证每一个用户的客户端完全一致,但是app端是不能保证完全一致的,除非用户更新客户端。如果是app修改了服务端,意味着客户端用户所使用的核心功能需要回归测试。
2、性能方面
web页面只需要关注响应时间,而app则还需要关心流量,电量,cpu,Gpu,Memory
3、兼容性方面
web基于浏览器,所以更倾向于浏览器和电脑硬件。app则依赖于phone或者pad,分辨率,屏幕尺寸,还有设备系统。
4、app专项测试
弱网络测试,异常场景测试,重点考虑回退和刷新是否会造成二次提交。
5、安装、卸载、更新
6、界面操作
app测试需要注意手势横竖屏切换,多点触控,事件触发区域。
5、用例包含哪些部分?
用例编号、用例标题、用例步骤、前提条件、预期结果、优先级、实际结果
6、常用的设计用例的方法有哪些?
常用:等价类、边界值、场景法、状态迁移法、判定表、
因果图、正交表、错误推测法、异常分析法、随机法
低频
1、请介绍性能测试流程
1、针对项目中某些访问量高,核心的接口压测。
2、性能测试需求分析,制定性能测试计划和负载测试,稳定性测试。
3、设计性能测试用例,前置条件,期望数据。
4、搭建性能测试环境,准备性能测试数据:尽量和生产6\环境保持一致。
5、性能测试监控,CPU,内存,网络IO,磁盘IO,响应时间,TPS,错误率,慢查询。
6、性能瓶颈分析和调优:配合开发和运维人员。
2、主键、外键的作用,索引的优点与不足?
主键:是表中的唯一标示键。作用:保证实体的完整性;加快数据库的操作速度;增加新的表记录时,数据库会自动检索新记录的主键值,不允许该值与其他表中记录的主键重复;数据库会按主键值的顺序显示记录,如果没有设定主键,则按输入的顺序显示记录。
外键:是主键的从属,表示了两个表之间的联系。作用:使用外键可以避免冗余。
索引的优点: 1、通过创建唯一性的索引,可以保证表中数据的唯一性; 2、加速数据的检索速度; 3、加快表与表之间的连接; 4、在使用分组与排序数据检索时,可以显著检索分组与排序的时间; 5、在查询的过程中使用优化隐藏器,提供系统性能。
缺点: 1、创建索引需要时间,且随着数据量的增加而增加; 2、索引需要占用物理空间;
3、当对表中数据进行修改时,索引也要动态维护,降低了数据的维护速度。
3、一份测试计划应该包括哪些内容?
背景、项目简介、目的、测试范围、测试策略、人员分工、资源要求、进度计划、参考文档、常用术语、提交文档、风险分析。
4、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
1、是否有不正确或遗漏的功能?2、在接口上,输入是否能正确的接受?能否输出正确的结果?3、是否有数据结构错误或外部信息(例如数据文件)访问错误?4、性能上是否能够满足要求?5、是否有初始化或终止性错误?
软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:
1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3、在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性,等等。
单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。
单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码的行为和我们期望的一致。
集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。
系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。(常见的联调测试)
系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。
验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
验收测试是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能性能如同用户所合理期待的那样。
实战
11.金额输入特殊字符,页面或者服务端进行错误提示。
12.金额输入空字符(空格),页面或者服务端进行错误提示
13.金额输入汉字或者字母,页面或者服务端进行错误提示
14.金额输入,原则上禁止使用复制粘贴功能。
15.金额输入-如果可以使用复制粘贴功能-粘贴输入小数点后面超过两位,页面或者服务端进行错误提示。
24.金额-计算或者展示必须明确单位和币种
25.金额-禁止服务端使用form表单的hidden区域传金额参数
2.对于安全性怎么测的
1、功能验证
2、漏洞扫描
3、模拟攻击实验
3.非常详细介绍你最熟悉的项目
4.测试流程
5.如果开发后台,编码数据错了,测试怎么测出来
6.独自搭建测试环境,独自测项目有没有问题
后面一直在聊他们公司
------------------------------------------------------------------------------------
南山赛凌科技面试题:
最近项目介绍
出借和借款的业务关联
项目中几个测试
怎么带新手
UI自动化项目中怎么做的
上传附件的弹出框定位不到怎么处理
python selenium 文件上传窗口处理_linux python打开网页,点击上传窗口,上传文件-CSDN博客
接口自动化怎么做的
分布式压测怎么做的
发出1000个红包,每个用户只能抢一个,怎么测
----------------------------------------------------------------------
老百姓大药房
技术面
1. Linux熟悉不,用的什么版本的
2.ui自动化是怎么做的
3. selenium里面的方法,用的什么版本的
4.数据库熟悉哪些,mysql用的哪个版本的
5.登录流程你们是测试的
6.接口是怎么测试的
7. jmeter测试性能用到哪些配置原件
8.列表怎么除重的,怎么统计里面每个元素出现的个数
9.发现bug怎么分析的
10.测试环境有问题怎么处理的
11. Python装饰器怎么用
12.自我介绍
13.项目讲解
14.什么时候来深圳,为什么辞职
15.你得职业规划是什么样子的
16. selenium用例执行顺序
17.写了多少自动化测试文件
今日头条面试:
1.我要借款的具体流程
2.如果项目很紧急要上线你会怎么办
3.有无穷多的水,一个五升桶和一个三升桶,怎么弄出四升水
4.微信的评论编写测试点
5.会不会用adb指令
6.http和https协议你是怎么识别提交的
7.有没有带过人
8.上个公司怎么离职的
9.怎么用python写自动化和接口测试的
10.学生表和班级表,每个班级,按照分数由大到小查询出来
11.怎么查看bug是前端还是后端的错误
购物车测试用例
1、基本功能增删查。
添加商品,添加单个商品数量是否可以增加,添加商品品类是否有上下限,添加同类型的不同规格的商品是否逐条显示,排序是否合理
删除商品,删除是否有提示,是否全选删除
编辑商品,+-调整商品数量,库存问题
2、检查商品数量,价格优惠明细
3、商品支付
4、购物车交付,购物车和用户模块关联,购物车与商品订单模块,购物车与优惠活动联动。
软件测试通过的标准是什么
所有测试用例全部执行通过,无重大缺陷,用户正常稳定使用,
浙公网安备 33010602011771号