2022最新整理软件测试常见面试题附答案(代码片段)

互联网劝打师 互联网劝打师     2023-03-15     465

关键词:

包含的模块:

本文分为十九个模块,分别是:软件测试 基础、liunx、MySQL、web测试、接口测试、APP测试 、管理工具、Python、性能测试、selenium、lordrunner、计算机网络、组成原理、数据结构与算法、逻辑题、人力资源需要的可以【点击这里领取完整版的面试题~暗号CSDN】
如下图所示:

共包含400 道面试题,本文的宗旨是为读者朋友们整理一份详实而又权威的面试清单,下面一起进入主题吧。

====================================================

Q1测试的策略有哪些?
参考答案:
黑盒/白盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta 测试的策略)

Q2、正交表测试用例设计方法的特点是什么?
参考答案:

用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;
对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的
缺陷,更复杂的缺陷,还是无能为力的;
具体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方
法。

Q3、描述使用 bugzilla 缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程?
参考答案:
就是 Bugzilla 的状态转换图。

Q4、你觉得 bugzilla 在使用的过程中,有什么问题?
参考答案:
界面不稳定;
根据需要配置它的不同的部分,过程很烦琐。
流程控制上,安全性不好界定,很容易对他人的 Bug 进行误操作;
没有综合的评分指标,不好确认修复的优先级别。
Q5、描述测试用例设计的完整过程?
参考答案:
需求分析 + 需求变更的维护工作;
根据需求 得出测试需求;
逻辑覆盖、循环覆盖、同行评审、桌前检查、代码走查、代码评审、景泰数据流
分析
用户动作设计;
场景设计;
测试数据分析;
设计测试方案,评审测试方案;
方案评审通过后,设计测试用例,再对测试用例进行评审;

Q6、单元测试的策略有哪些?
参考答案:逻辑覆盖、循环覆盖、同行评审、桌前检查、代码走查、代码评审、景泰数据流

Q7、LoadRunner 分哪三部分?
参考答案:
用户动作设计;
场景设计;
测试数据分析;
Q8、LoadRunner 进行测试的流程?
参考答案:
1、 测试测试
2、 创建虚拟用户脚本
3、 创建运行场景
4、 运行测试脚本
5、 监视场景
6、 分析测试的结果
以上,最好是结合一个案例,根据以上流程来介绍。

Q9.什么是并发?在 lordrunner 中,如何进行并发的测试?集合点失败了会怎么样?
参考答案:
在同一时间点,支持多个不同的操作。
LoadRunner 中提供 IP 伪装,集合点,配合虚拟用户的设计,以及在多台电脑
上设置,可以比较好的模拟真实的并发。
集合点,即是多个用户在某个时刻,某个特定的环境下同时进行虚拟用户的操作
的。集合点失败,则集合点的才操作就会取消,测试就不能进行。

Q10、使用 QTP 做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询
情况,如何操作?

参考答案:
分析用户登录的基本情况,得出一组数据,通过性测试/失败性测试的都有(根据
TC 来设计这些数据),然后录制登录的脚本,将关键的数据参数化,修改脚本,
对代码进行加强,调试脚本。

Q11、QTP 中的 Action 有什么作用?有几种?
参考答案:
Action 的作用
n 用 Action 可以对步骤集进行分组
n 步骤重组,然后被整体调用
n 拥有自己的 sheet
n 组合有相同需求的步骤,整体操作
n 具有独立的对象仓库
Action 的种类
n 可复用 Action
n 不可复用 Action
n 外部 Action

Q12、TestDirector 有些什么功能,如何对软件测试过程进行管理?
参考答案:
需求管理
n 定义测试范围
n 定义需求树
n 描述需求树的功能点
测试计划
n 定义测试目标和测试策略。
n 分解应用程序,建立测试计划树。
n 确定每个功能点的测试方法。
n 将每个功能点连接到需求上,使测试计划覆盖全部的测试需求。
n 描述手工测试的测试步骤
n 指明需要进行自动测试的功能点
测试执行
n 定义测试集合。
n 为每个测试人员制定测试任务和测试日程安排。
n 运行自动测试。
缺陷跟踪
n 记录缺陷
n 查看新增缺陷,并确定哪些是需要修正的
n 相关技术人员修改缺陷
n 回归测试
n 分析缺陷统计图表,分析应用程序的开发质量。
Q13、你所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的
区别与联系(如功能测试、性能测试……)?

参考答案:Compatibility Testing(兼容性测试),也称“Configuration
testing(配置测试)”,测试软件是否和系统的其它与之交互的元素之间兼容,如:
浏览器、操作系统、硬件等。验证测试对象在不同的软件和硬件配置中的运行情
况。
Functional testing (功能测试),也称为 behavioral testing(行为测试),根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。本地化软件的功能测试,用于验证应用程序或网站对目标用户能正确工作。使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。
Performance testing(性能测试),评价一个产品或组件与性能需求是否符合的
测试。包括负载测试、强度测试、数据库容量测试、基准测试等类型。
Q14、软件缺陷(或者叫 Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷
(Bug)记录?
参考答案:5C 标准
Q15、Beta 测试与 Alpha 测试有什么区别?
参考答案:Beta testing(β测试),测试是软件的多个用户在一个或多个用户的实
际使用环境下进行的测试。开发者通常不在测试现场
Alpha testing (α测试),是由一个用户在开发环境下进行的测试,也可以是公司
内部的用户在模拟实际操作环境下进行的受控测试
Q16、什么是数据库?
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库

Q17、什么是关系型数据库,主键,外键,索引分别是什么?
关系型数据库是由多张能互相联接的二维行列表格组成的数据库
主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录
外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字
在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构, 它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单
Q18、写出表的增删改查SQL语法
表的创建:create table 表名 (列名1 类型 约束,列2 类型 约束…)
表的删除:drop table 表名
表的更改(结构的更改,不是记录的更新):alter table 表名 add|drop 列名|约束名
插入记录:insert into 表名…values…
更新记录:update 表名 set 列名=值 where 条件
删除记录:delete from 表名 where 条件
Q19、SQL的表连接方式有哪些?
SQL中连接按结果集分为:内连接,外连接,交叉连接

Q20、统计python 源代码文件中代码行数,去除注释,空行,进行输出?

Q21、python 调用cmd 并返回结果?
python 的 OS 模块。
OS 模块调用CMD 命令有两种方式:os.popen(),os.system(). 都是用当前进程来调用。
os.system 是无法获取返回值的。 当运行结束后接着往下面执行程序。 用法如: OS.system(“ipconfig”).
OS.popen 带返回值的,如何获取返回值。如
p=os.popen(cmd)
print p.read().得到的是个字符串。
这两个都是用当前进程来调用,也就是说它们都是阻塞式的。管道 subprocess 模块。
运行原理会在当前进程下面产生子进程。
sub=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE)
sub.wait()
print sub.read()

Q22、冒泡排序

Q23、1,2,3,4 这 4 个数字,能组成多少个互不相同的且无重复的三位数,都是多少?

Q24、给定一个整数 N,和一个 0-9 的数 K,要求返回 0-N 中数字 K 出现的次数

def digitCounts(self, k, n):
   count = 0
   for i in range(n+1):
      if i == 0 and i == k: 
         count += 1
      while( i // 10 >= 0 and i != 0):
         j = i % 10 
         if j == k:
            count  += 1 
                i = i //10
   return count

Q25、你如何从命令行启动Selenium RC?
// 简单的启动Selenium RC的方法是
java -jar selenium-server.jar
// 在浏览器中运行一套Selenese脚本
java -jar selenium-server.jar -htmlSuite
Q26、在我的机器端口4444不是免费的。我怎样才能使用另一个端口?
//你可以在运行selenium服务器时指定端口为 -
Java -jar selenium-server.jar -port 5555
Q27、什么是Selenium Server,它与Selenium Hub有什么不同?
Selenium Server是使用单个服务器作为测试节点的一个独立的应用程序。Selenium hub代理一个或多个Selenium的节点实例。一个hub 和多个node被称为Selenium grid。运行SeleniumServer与在同一主机上用一个hub和单个节点创建de Selenium grid类似。
Q28、性能测试有哪些分类
1.负载测试
2.压力测试
3.并发测试
4.基准测试
5.稳定性测试
6.可恢复测试
Q29、LoadRunner 的工作原理是什么?
LoadRunner 工作原理:
LoadRunner 通过模拟上千万用户实施并发负载,实时性能监控的系统行为和性能方式来确认和查找问题。
1、VuGen 发生器:捕捉用户的业务流,并最终将其录制成一个脚本:
2、控制器(Controller):
3、负载发生器(Load Generators)
4、分析器(Analysis):主要用于对测试结果进行分析。
Q30、LoadRunner进行测试的流程?
(1)测试测试
(2)创建虚拟用户脚本
(3)创建运行场景
(4)运行测试脚本
(5)监视场景
(6)分析测试的结果
以上,最好是结合一个案例,根据以上流程来介绍。

Q31、测试活动中,如果发现需求文档不完善或者不准确,怎么处理?
参考答案:
测试需求分析发现需求文档不完善或者不准确,应该立即和相关人员进行协调交
流。
Q32、阶段评审与项目评审有什么区别?
参考答案:
阶段评审对项目各阶段评审:对阶段成果和工作
项目评审对项目总体评审:对工作和产品
Q33、阐述工作版本的定义?
参考答案:
构造号: BUILD
Q34、什么是桩模块?什么是驱动模块?
参考答案:
桩模块:被测模块调用模块
驱动模块调用被测模块
Q35、你认为做好测试用例工作的关键是什么?
参考答案:
需求和设计文档的理解程度,对系统的熟悉程度

由于文章篇幅问题,没有四百道面试题也放不上来,需要全部的面试题可以【点击这里,备注CSDN】

2022年java面试题最新整理,附白话答案(代码片段)

2022年Java开发面试题最新整理,附白话答案写在前面:本篇面试题整理是我在北京地区进行面试整理得出,常见的基本都在下面了。基本都是可以直接在面试时用白话回答的答案总结,面试时照此回答即可,有... 查看详情

35道最新软件测试面试题,常见面试题及答案汇总

前言除了掌握扎实的专业技能之外,你还需要一份《软件测试面试宝典2022版》才能在万千面试者中杀出重围,成功拿下offer。小编特意整理了35道测试必问必过面试题,送给大家,希望大家都能顺利通过面试,... 查看详情

大数据——flink常见面试题整理(代码片段)

目录1.Flink的特点2.Flink和SparkStreaming的对比3.Flink和Blink、Alink之间的关系4.JobManager和TaskManager的职责5.Flink集群部署有哪些模式6.FlinkDataflow介绍7.Parallelism和Slot的理解8.Flink执行图9.DatastreamAPI常见的Transform算子10.Flink中窗口类型11.Fli 查看详情

spring常见面试题(代码片段)

本文是通过收集网上各种面试指南题目及答案然后经过整理归纳而来,仅仅是为了方便以后回顾,无意冒犯各位原创作者。1.什么是Spring?Spring是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针... 查看详情

java十九个技术栈常见面试题分享(附答案解析)(代码片段)

Java基础:两个对象的hashCode()相同,则equals()也一定为true,对吗?不对,两个对象的hashCode()相同,equals()不一定true。代码示例:Stringstr1="通话";Stringstr2="重地";System.out.println(String.format(... 查看详情

常见面试题整理---前端(不论出处)(代码片段)

1.浏览器渲染页面的过程用户输入URL地址浏览器解析URL解析出主机名浏览器将主机名转换成服务器ip地址(浏览器先查找本地DNS缓存列表没有的话再向浏览器默认的DNS服务器发送查询请求同时缓存)浏览器将端口号从URL中解析出... 查看详情

springcloud常见面试题(2020最新版)(代码片段)

为什么需要学习SpringCloud不论是商业应用还是用户应用,在业务初期都很简单,我们通常会把它实现为单体结构的应用。但是,随着业务逐渐发展,产品思想会变得越来越复杂,单体结构的应用也会越来越复杂。这就会给应用带... 查看详情

mysql常见面试题(代码片段)

测试数据:/*NavicatPremiumDataTransferSourceServer:localhostSourceServerType:MySQLSourceServerVersion:50624SourceHost:localhostSourceDatabase:sqlexamTargetServerType:MySQLTargetServerVersion:50624FileEncod 查看详情

数据库常见面试题总结

参考如下:数据库常见面试题(开发者篇)数据库优化SQL数据库面试题及答案常见面试题整理--数据库篇 查看详情

计算机网络常见面试题及答案2022年5月

------------恢复内容开始------------1.OSI、TCP/IP、五层协议的体系结构、以及各层协议作用OSI分层(7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP分层(4层):网络接口层、网际层、运输层、应用... 查看详情

常见面试题整理:计算机网络篇,值得背诵收藏!(代码片段)

号外号外!《死磕Java并发编程》系列连载中,大家可以关注一波:「死磕Java并发编程05」阿里面试失败后,一气之下我图解了Java中18把锁「死磕Java并发编程04」说说JavaAtomic原子类的实现原理「死磕Java并发编程03... 查看详情

常见面试题整理:计算机网络篇,值得背诵收藏!(代码片段)

号外号外!《死磕Java并发编程》系列连载中,大家可以关注一波:「死磕Java并发编程05」阿里面试失败后,一气之下我图解了Java中18把锁「死磕Java并发编程04」说说JavaAtomic原子类的实现原理「死磕Java并发编程03... 查看详情

微服务常见面试题总结(2022最新)(代码片段)

什么是微服务?微服务是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务和服务之间采用轻量级的通信机制进行协作。每个服务可以被独立的部署到生产环境。从单体应用... 查看详情

java常见面试题及答案(代码片段)

java常见面试题及答案来源 https://blog.csdn.net/hsk256/article/details/49052293来源https://blog.csdn.net/hsk256/article/details/49104955来源https://blog.csdn.net/hsk256/article/details/49363271 java常见面试题及答案1.什么是Java虚拟机?为什么Java被称作是“... 查看详情

python常见面试题(代码片段)

https://www.cnblogs.com/Allen-rg/p/7693394.html问题1到底什么是Python?你可以在回答中与其他技术进行对比(也鼓励这样做)。答案下面是一些关键点:Python是一种解释型语言。这就是说,与C语言和C的衍生语言不同,Python代码在运行之前... 查看详情

mysql常见面试题/知识点总结!(2021最新版)|javaguide(代码片段)

相关阅读:2.7w字!Java基础面试题/知识点总结!(2021最新版)这篇文章之前发过,不过,我最近对其进行了重构完善并且修复了很多小问题。所以,在公号再同步一下!内容很硬!强烈建议小伙伴们花10分钟左右阅读一遍!MySQL... 查看详情

2022java面试题大全,附答案,最新整理(代码片段)

1.遍历ArrayList时如何正确移除一个元素错误写法示例一:publicstaticvoidremove(ArrayList<String>list)for(inti=0;i<list.size();i++)Strings=list.get(i);if(s.equals("bb"))list.remove(s);错误写法示例二:publicstaticvoidremove(ArrayList... 查看详情

java核心面试宝典day11“异常处理”最新常见面试题,欢迎补充!(代码片段)

Hello,你好呀,我是灰小猿!一个超会写bug的程序猿!用坚持缔造技术、用指尖敲动未来!和很多小伙伴们一样,我也是一名奔波在Java道路上的“创造者”。也想靠技术来改未来,改变世界!因为... 查看详情