2023【软件测试】面试题合集整理打包!大放送!!!

2023-11-01

跳槽求职。准备好一场面试不仅需要在简历上多下功夫,还需要为面试问答做好充足的准备,

以下是“本人”从面试经验中收集的,然后分门别类整理了这套面试题,很具备参考性,毕竟都是企业真实面试题目。

接下来,针对以下知识类型列出具体的面试点(其中包括笔试题和问答题),大家看完后一定要查缺补漏,找到欠缺的知识点,然后抓紧时间复习、参加面试

软件测试理论基础 软件测试工具篇 性能测试篇 自动化篇 数据库篇 Linux操作系统篇 综合题(思维,综合知识体系)

Python自动化测试:手把手教你做60个实战项目,从入门到大师。

一、软件测试理论基础

1. 软件测试策略有哪些?

答案:黑盒测试、白盒测试、灰盒测试

拓展:很多童鞋分不清软件的测试策略、测试类型、测试方法等这类问题,在这里详细回答下。毕竟这些都是理论知识高概率面试题目。

2. 什么是静态测试、动态测试、黑盒测试、白盒测试、α测试 β测试

静态测试是不运行程序本身而寻找程序代码中可能存在的错误或评估程序代码的过程。

动态测试是实际运行被测程序,输入相应的测试实例,检查运行结果与预期结果的差异,判定执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能。

黑盒测试一般用来确认软件功能的正确性和可操作性,目的是检测软件的各个功能是否能得以实现,把被测试的程序当作一个黑盒,不考虑其内部结构,在知道该程序的输入和输出之间的关系或程序功能的情况下,依靠软件规格说明书来确定测试用例和推断测试结果的正确性。

白盒测试根据软件内部的逻辑结构分析来进行测试,是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现。

α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。

β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。

3. 按开发阶段划分,软件测试划分为哪几个阶段?

答案:按开发阶段划分,软件测试划分为单元测试、集成测试、确认测试、系统测试、验收测试。

拓展:

4. 一条软件缺陷(或者叫Bug)记录都包含了哪些内容?

答案:

bug编号;

bug严重级别,优先级;

bug产生的模块;

bug摘要,阐述bug大体的内容;

bug对应的版本;

bug详细现象描述、测试场景,包括一些截图等;

bug出现时的测试环境,产生的条件即对应操作步骤;

5. 简述BUG管理工具的工作过程。

6. 试着画软件测试模型W、V、H模型。

7. 接口请求的时候,有哪几种方法?

8. 什么是回归测试?

答案:回归测试: (regression testing): 回归测试有两类:用例回归和错误回归;用例回归是过一段时间以后再回头对以前使用过的用例在重新进行测试,看看会重新发现问题。错误回归,就是在新版本中,对以前版本中出现并修复的缺陷进行再次验证,并以缺陷为核心,对相关修改的部分进行测试的方法。

9. 完整的测试流程应该由哪些阶段组成?

二、性能测试篇

1. Loadrunner分哪三个部分?

Virtual User Generator:用于录制脚步

Mercury LoadRunnerController:用于创建、运行和监控场景

Mercury LoadRunner Analysis:用于分析测试结果

2. QTP中的Action有哪些,分别作用是什么?

可复用Action

不可复用Action

外部Action

3. Jmeter架包如何引用?

方法一:测试计划 通过 Add directory or jar to classpath 浏览导入jar

方法二:直接将需要引用的jar包放置到JMeter的lib目录,或者ext目录下

方法三:设置插件依赖路径,此时需要在jmeter.properties中添加依赖的路径,在jmeter 下新建对应的文件夹,将需要的jar包放入即可

4. 概述一下性能测试流程?

l 分析性能需求。挑选用户使用最频繁的场景来测试。确定性能指标,比如:事务通过率为100%,TOP99%是5秒,最大并发用户为1000人,CPU和内存的使用率在70%以下

l 制定性能测试计划,明确测试时间(通常在功能稳定后,如第一轮测试后进行)和测试环境和测试工具

l 编写测试用例

l 搭建测试环境,准备好测试数据

l 编写性能测试脚本

l 性能测试脚本调优。设置检查点、参数化、关联、集合点、事务,调整思考时间,删除冗余脚本

l 设计测试场景,运行测试脚本,监控服务器

l 分析测试结果,收集相关的日志提单给开发

l 回归性能测试

l 编写测试报告

5. 性能测试中,有哪些关键指标,分别指的是什么?

资源指标:

CPU使用率:指用户进程与系统进程消耗的CPU时间百分比,长时间情况下,一般可接受上限不超过85%。

内存利用率:内存利用率=(1-空闲内存/总内存大小)*100%,一般至少有10%可用内存,内存使用率可接受上限为85%。

磁盘I/O: 磁盘主要用于存取数据,因此当说到IO操作的时候,就会存在两种相对应的操作:存数据的时候对应的是写IO操作,取数据的时候对应的是是读IO操作,一般使用% Disk Time(磁盘用于读写操作所占用的时间百分比)度量磁盘读写性能。

网络带宽:一般使用计数器Bytes Total/sec来度量,Bytes Total/sec表示为发送和接收字节的速率,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较。

系统指标:

并发用户数:某一物理时刻同时向系统提交请求的用户数。

在线用户数:某段时间内访问系统的用户数,这些用户并不一定同时向系统提交请求。

平均响应时间:系统处理事务的响应时间的平均值。事务的响应时间是从客户端提交访问请求到客户端接收到服务器响应所消耗的时间。对于系统快速响应类页面,一般响应时间为3秒左右。

事务成功率:性能测试中,定义事务用于度量一个或者多个业务流程的性能指标。单位时间内系统可以成功完成多少个定义的事务,在一定程度上反应了系统的处理能力,一般以事务成功率来度量。

超时错误率:主要指事务由于超时或系统内部其它错误导致失败占总事务的比率。

6. 什么情况下要做关联,关联是怎么做的?

当脚本的上下文有联系,就用关联。比如登录的token关联,增删改查主键id关联等。

7. 有验证码的功能,怎么做性能测试?

l 将验证码暂时屏蔽,完成性能测试后,再恢复

l 使用万能的验证码

l 使用代码脚本解析(不推荐)

8. 如何脚本增强?

l 做参数化

l 做关联

l 添加事务

l 添加断言

l 添加集合点

l 添加思考时间

9. 你们系统哪些地方(哪些功能)做了性能测试?

选用了用户使用最频繁的功能来做测试,比如:登陆,搜索,提交订单等。

10. 怎么分析性能测试结果?

首先查看事物通过率,然后分析其他性能指标,比如,确认响应时间,事务通过率,CPU等指标是否满足需求;如果测试结果不可信,要分析异常的原因,修改后重新测试。

在确定性能测试结果可信后,如果发现以下问题,按下面的思路来定位问题.

三、自动化篇

1. Python序列中的元组、列表、字典有什么区别?

列表:列表是可变的,即可修改其内容。另外,列表有很多特有的方法。

元组:不可修改的序列,包括字符串,创建方法也很简单,用逗号隔开或小括号即可创建一个元组。

字典:字典可通过名称来访问其各个值的数据结构,这种数据结构称为映射,字典是python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下,键可能是数字、字符串或元组。

2. 自动化测试模型?

3. 什么是持续集成?

持续集成源于极限编程(XP),是一种软件实践,软件开发过程中集成步骤是一个漫长并且无法预测的过程。集成过程中可能会爆发大量的问题,因此集成过程需要尽可能小而多,实际上持续集成讲的是不断的去做软件的集成工作。持续集成,最简单的形式是包括一个监控版本控制(SVN等等)变化的工具。当变化被发觉时,这个工具可以自动的编译并测试你的应用。

4. 你的自动化用例的执行策略是什么?

自动化测试用例的执行策略是要看自动化测试的目的,通常有如下几种策略:

(1) 自动化测试用例是用来监控的,在此目的下,我们就把自动化测试用例设置成定时执行的,如果每五分钟或是一个小时执行一次,在jenkins上创建一个定时任务即可。

(2) 必须回归的用例。有些儿测试用例,如BVT测试用例,我们在公司产品任何变动上线之前都需要回归执行。那我们就把测试用例设置成触发式执行,在jenkins上将我们的自动化测试任务绑定到开发的build任务上。当开发人员在仿真环境上部代码的时候,我们的自动化测试用例就会被触发执行。

(3) 不需要经常执行的测试用例。像全量测试用例,我们没有必要一直回归执行,毕竟还是有时间消耗的,有些非主要业务线也不需要时时回归。这类测试用例我们就采用人工执行,在jenkins创建一个任务,需要执行的时候人工去构建即可。

5. 自动化测试最大的缺陷是什么?

(1) 一旦项目发生变化,测试用例就需要改进,工作量大。

(2) 验证的范围有限,操作更加复杂,比如说简单的一个验证验证码,如果是人工识别很快就可以输入,但是自动化测试中会增添很多困难。那么这个时候速度也不如人工。

(3) 不稳定。

(4) 可靠性不强。

(5) 成本与收益。

6. 自动化测试的时候是不是需要连接数据库做数据校验?

(1) UI自动化不需要

(2) 接口测试会需要

7. 公司内一直在使用的测试系统(B/S架构)突然不能访问了,需要你进行排查并恢复,说出你的检查方法?

(1) 测试FTP是否正常可以登录,不能登录的直接问空间商那是空间商的问题直接联系他们。

(2) 空间赠送的三级域名是否能够访问网站打开网站(空间都赠送三级域名),如果也不能访问应该是空间问题。

(3) 在电脑的开始菜单运行中输入cmd,在弹出的黑框中输入:ping 你的域名;然后回车,如果看不到IP或IP地址与你的主机地址不符,则说明域名解析有误,是域名的问题得重新解析域名。

8. 什么是分层测试?

行业里面提的一般是金字塔的分层模型,UI测试;集成/接口测试;单元测试。

四、数据库篇

1. 数据库中的增删改查分别使用什么关键字?

Select update delete insert

2. MySQL中查询的2到5行怎么查询?

Select * from table where 字段 limit 2,3;

3. 数据库的聚合函数有哪些?

Avg()平均值,count()求个数,sum()求和,

六、Linux操作系统篇

1. Linux常用的命令有哪些?请说出5~10个

ls、cd、ll、mkidr、touch、cat、tar、vi、find、awk、grep、ps

2. 如何修改Linux时间?如果需要将时间改为2015-01-01,如何修改,请写出命令?

date -s

3. 在/var目录下会定义系统的启动日志相关信息,请查找对应的boot.log文件,并把它备份一份到/var/log下命名为testroad-boot.log.

dump

4. 在当前路径下,日志文件为log.log,如何实时查看日志文件打印的内容?请写出命令。

tail -10 filename

5. 系统/etc/sysctl.conf文件会定义系统内核的一些配置,查找和net有关的信息,并值打印前面5行信息。

grep ‘net’ file | sed ‘1,5p’

cat /etc/sysctl.conf | grep ‘net’|head -5

七、综合题(思维,综合知识体系)

1. 测试中发现一个Bug, 但是开发经理认为这不是一个bug,你应该怎么解决?

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

l 根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据;

l 如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;

l 根据用户的一般使用习惯,来确认是否是缺陷;

l 与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;

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

2. 给你一个电商网站,你如何测试?

在这里插入图片描述

3. 如何测试一个纸杯?

答案:万变不离其踪,不管是一个水杯,一把椅子,一个电梯,测试的要点都可以基于以下要素。

l 功能度:用水杯装水看漏不漏;水能不能被喝到

l 安全性:杯子有没有毒或细菌

l 可靠性:杯子从不同高度落下的损坏程度

l 可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用

l 兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等

l 易用性:杯子是否烫手、是否有防滑措施、是否方便饮用

l 用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述

l 疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等

l 压力测试:用根针并在针上面不断加重量,看压强多大时会穿透

今天就先分享到这里

最后,绵薄之力

感谢每一个认真阅读我文章的人,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走: 

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


软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux 6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

 获取方式 :

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2023【软件测试】面试题合集整理打包!大放送!!! 的相关文章

随机推荐

  • MySQL用户权限(Host,User,Password)管理(mysql.user)

    1 新增用户 注 mysql数据库下user表中 Host和User为两个主键列 primary key 已经各版本下非空未设置默认字段 登录后 切换db mysql gt use mysql Reading table informati
  • GIt命令

    获取git授权密钥 ssh keygen t rsa C 换成自己邮箱 然后cat ssh id rsa pub 把控制台输出的内容复制 到gitee github gitlab等网页建立ssh密钥 git init 建立仓库 检出代码 1
  • alibaba开源框架easyexcel文件导出

    alibaba开源框架easyexcel使用 官方文档 https easyexcel opensource alibaba com docs current quickstart write 1 下载 Getter Setter Equa
  • 完整计算机组成系统,计算机组成原理与完整系统结构.doc

    计算机组成原理与完整系统结构 西安财经学院信息学院 计算机组成原理与系统结构 实验报告 实验名称 运算器实验 通用寄存器实验 移位寄存器实验 实验室实验楼418 实验日期 2012 11 27 2012 11 29 2012 12 4 一
  • 谁该来负责拥塞控制

    寻找一种 host 公平而非 packet 公平的方法 有趣的是 CSMA CD 网络就体现了这种方法 端到端拥塞控制算法 cca 准不准先不论 仅说让它们运行 被控制的流至少要持续 2 个 RTT 一条持续传输的流是多数 cca 的约束
  • Android 自定义图片裁剪框功能

    Android自定义图片裁剪框功能 大体的功能如上gif所示 最后蓝色裁剪框中的矩形图片区域可以进行截取并返回一个Bitmap对象 整个裁剪功能由两个自定义的View组件完成 首先是图片显示控件DragScaleView 主要完成图片的双指
  • 访问swagger-ui.html 404报错一秒解决

    访问swagger ui html 404报错一秒解决 搞了好半天终于找到了 1 首先和你spring boot是什么版本根本没关系 spring boot的版本完全可以用最新的 我的是2 6 6 2 主要是swagger的版本不能用3 0
  • vue首屏加载动画

    样式style
  • Codeforces Round #328 (Div. 2)(A B C D)

    Codeforces Round 328 Div 2 tags Codeforces 难得题目不难 结果比赛的时候C题差一分钟没交上去 不然怎么着都能涨个百来分啊 T T Codeforces Round 328 Div 2 A PawnC
  • c++ 实现邮件发送功能

    系列服务器开发 文章目录 系列服务器开发 前言 一 SMTP是什么 二 使用SMTP使用步骤 1 下载编译 命令行使用 2 代码实现 总结 前言 常用的电子邮件协议有SMTP POP3 IMAP4 它们都隶属于TCP IP协议簇 默认状态下
  • jquery获取所有选中checkbox的值

    代码如下 function depositAudit var ck input name checkName single checked var ids if ck length lt 1 alertShow 请最少选中一条信息 else
  • Element tree设置默认展开及选中

    设置默认展开 将default expanded keys的值设为node key的值对应的数组即可
  • 【clickhouse】ubuntu20安装clickhouse并用DBeaver远程管理

    文章目录 1 安装 2 配置 3 外部连接测试 4 相关概念 5 Reference 1 安装 使用Deb安装包 添加证书 sudo apt get install y apt transport https ca certificates
  • C/C++

    文章目录 学习内容提要 关于学习教材 推荐书籍或资料 这个课程我们怎么学 课程特色 C语言的重要性 从和编程相关的计算机基础开始 从计算机的组成谈谈程序的运行 代码是怎么变成程序的 不同的进制 不同的世界 程序和内存空间模型 打印地址示例
  • 基于量子遗传算法的函数寻优算法(matlab实现)

    8 1 理论基础 8 1 1 量子遗传算法概述 量子遗传算法 quantum genetic algorithm QGA 是量子计算与遗传算法相结合的产物 是一种新发展起来的概率进化算法 遗传算法是处理复杂优化问题的一种方法 其基本思想是模
  • Java中多线程向mysql插入同一条数据冲突问题

    目的 Java中多线程向mysql插入同一条数据冲突问题 环境 系统 win10 环境 idea 201901 一 问题 程序中会使用多线程读写数据库 在同一时刻多个线程插入相同主键的相同数据时 会直接报错 二 规避办法 由于需求是多个线程
  • 【Spring】Spring Security OAuth2 JWT 认证

    1 概述 Spring Security OAuth2 JWT 认证服务器配置 Spring Security OAuth2 JWT 资源服务器配置 Spring Security OAuth2 Redis 模式下认证服务器 Spri
  • RFID开发笔记 Alien阅读器文档

    1 开机使用serial connect 完成boot后使用TCP IP协议与主机通信 2 TagList 是一个活跃标签的列表 这里活跃的含义是在一个间隔里被监听到 如果一个标签之前没有被监听到 而在当前的 间隔里被监听到了 那么就将这个
  • 基于LSTM的诗词生成

    文章目录 前言 一 数据集介绍 二 实验代码 1 随机诗词生成 2 藏头诗生成 三 实验结果 1 随机诗词生成结果 2 藏头诗生成结果 总结 前言 本文的主要内容是基于LSTM的诗词生成 文中包括数据集的介绍 实验代码以及运行结果等 该实验
  • 2023【软件测试】面试题合集整理打包!大放送!!!

    跳槽求职 准备好一场面试不仅需要在简历上多下功夫 还需要为面试问答做好充足的准备 以下是 本人 从面试经验中收集的 然后分门别类整理了这套面试题 很具备参考性 毕竟都是企业真实面试题目 接下来 针对以下知识类型列出具体的面试点 其中包括笔试