2023最新整理软件测试常见面试题附答案

包含的模块:

本文分为十九个模块,分别是:软件测试 基础、liunx、MySQL、web测试、接口测试、APP测试 、管理工具、Python、性能测试、selenium、lordrunner、计算机网络、组成原理、数据结构与算法、逻辑题、人力资源需要的可以【点击文末小卡片免费获取】

如下图所示:

共包含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 的作用

  • 用 Action 可以对步骤集进行分组
  • 步骤重组,然后被整体调用
  • 拥有自己的 sheet
  • 组合有相同需求的步骤,整体操作
  • 具有独立的对象仓库

Action 的种类

  • 可复用 Action
  • 不可复用 Action
  • 外部 Action

Q12、TestDirector 有些什么功能,如何对软件测试过程进行管理?

参考答案:

需求管理

  • 定义测试范围
  • 定义需求树
  • 描述需求树的功能点

测试计划

  • 定义测试目标和测试策略。
  • 分解应用程序,建立测试计划树。
  • 确定每个功能点的测试方法。
  • 将每个功能点连接到需求上,使测试计划覆盖全部的测试需求。
  • 描述手工测试的测试步骤
  • 指明需要进行自动测试的功能点

测试执行

  • 定义测试集合。
  • 为每个测试人员制定测试任务和测试日程安排。
  • 运行自动测试。

缺陷跟踪

  • 记录缺陷
  • 查看新增缺陷,并确定哪些是需要修正的
  • 相关技术人员修改缺陷
  • 回归测试
  • 分析缺陷统计图表,分析应用程序的开发质量。

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 = 0for i in range(n+1):if i == 0 and i == k: count += 1while( i // 10 >= 0 and i != 0):j = i % 10 if j == k:count  += 1 i = i //10return 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、你认为做好测试用例工作的关键是什么?

参考答案:

需求和设计文档的理解程度,对系统的熟悉程度

由于文章篇幅问题,没有四百道面试题也放不上来,需要全部的面试题可以【点击文末小卡片】

同时,我也为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接点击文末小卡片免费领取资料文档

软件测试视频教程观看处:

2023最新【软件测试面试300问】面试八股文教程,涵盖自动化测试/接口测试/性能测试/测试开发等内容

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/286909.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python画图【02】

完整代码 https://gitee.com/ihan1001 https://github.com/ihan1001/python-drawing import matplotlib.pyplot as plt import numpy as np #创建空白画笔 fig plt.figure(figsize(4,3),facecolorpink)#添加子画布 ax1 fig.add_subplot(2,2,1) ax2 fig.add_subplot(2,2,2) …

Eclipse_01_如何设置代码文件背景颜色为护眼沙绿色

设置方法 Window --> Preference 参考文档 参考文档 1

LoadRunner-Analysis

Analysis介绍 Analysis介绍 Analysis:用于产生性能测试报告;在Controller这里选择Analyze Results 标准差越大说明系统越不稳定 添加新图表: 如果要把另一个表合在一起:

自动化测试 (五) 读写64位操作系统的注册表

自动化测试经常需要修改注册表 很多系统的设置(比如:IE的设置)都是存在注册表中。 桌面应用程序的设置也是存在注册表中。 所以做自动化测试的时候,经常需要去修改注册表 Windows注册表简介 注册表编辑器在 C:\Windows\regedit…

在 WinForms DataGridView 中居中绘制图片的全面指南

在 WinForms DataGridView 中居中绘制图片的全面指南 引言 在现代的桌面应用程序中,用户界面的直观性和吸引力是至关重要的。Windows Forms (WinForms) 提供了丰富的控件来构建这样的界面,其中 DataGridView 是展示和操作数据的核心控件之一。本文将详细介绍如何在 WinForms…

uniapp-打包安卓APP流程

打包前所需要的配置 1. 图标配置 准备好对应的图标 在第一步选择该图标 然后点击自动生成所有图标 就会生成下面所有尺寸的图标 会自动存放至unpackage文件中 2. 启动页面配置 通用界面就是最基本的一个小图标加一个名称 自定义则是自己手动添加对应的启动图片 这里的图…

2023-南京荣耀Honor最新探访-OPEN DAY,实况记录!

前言 金九银十的秋招季缓缓落幕! 接完offer,博主也回归啦!有幸带着公开公平的心态,给大家分享一波南京荣耀总部的实况解密! 最基础的环境状况,有图有真相!~上图~ 民以食为天-南京荣耀食堂&…

C#中的协变和逆变

这两个都是只能使用在接口和委托上 个人理解: 协变:出参,让基类使用范围变大,将父类/基类当作子类一样使用 --为什么这样规定呢? 我的理解:真正实现的是子类,子类拥有所有的方法,却…

麒麟系统SP2 与昇腾300I芯片测试qwen7B模型记录

1. 查看系统版本 uname -a Linux localhost.localdomain 4.19.90-24.4.v2101.ky10.aarch64 #1 SMP Mon May 24 14:45:37 CST 2021 aarch64 aarch64 aarch64 GNU/Linux 2. 查看显卡 npu-smi info 前情提要: 官网给出支持昇腾910架构,刚好有300I资源…

java线程池执行任务时异常被吃掉

问题 今天在测试环境通过线程池执行任务时突然被中断,跟踪日志发现代码跑到一半后面的日志就不再打印,而且也没有任何异常堆栈信息,也就是说程序执行被中断了,后面反复尝试经排查发现是线程池使用不当导致。 测试验证 我们用线程…

〖Python网络爬虫实战㊸〗- 极验滑块介绍(五)

订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000 python项目实战 Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,订阅本专栏前必读关于专栏〖Python网络爬虫实战〗转为付费专栏的订阅说明作者&#xff1…

光伏收益计算工具:助力可再生能源发展的关键

随着全球对可再生能源需求的不断增加,光伏发电作为清洁、可再生的能源形式,越来越受到人们的关注。然而,要评估光伏系统的经济效益和投资回报,需要一个准确的光伏收益计算工具。 光伏收益计算工具是一种专门用于计算光伏系统发电量…