当前位置: 首页 > news >正文

软件测试面试之常规问题

1.描述一下测试过程

类似题目:测试的生命周期

思路:这是一个“范围”很大的题目,而且回答时间一般在3分钟之内,不可能非常详细的描述整个过程,因此答题的思路要从整体结构入手,不要过细。为了保证答案的准确性,可以引入双V测试模型对测试的过程划分。
答:

1)、每个公司的测试过程都不尽相同,但基本都依据或参考行业所认可的一些测试模型,如 V模型、双 V模型等,不同的模型对测试的过程划分也不尽相同。例如V模型多了一个“验收测试过程”。
2)、对测试过程划分比较细致的是双V模型,依据和开发的参照关系分为3个大的阶段:单元测试阶段、集成测试阶段、系统测试阶段:每个阶段的工作内容又分为4个小阶段:计划阶段、设计阶段、实现阶段、执行阶段。其中计划、设计、实现被统称为“测试准备阶段”,可以前置实现(即
在开发编码的同时测试在进行用例的编写等工作)。

3)、在测试的实际过程中要有相关的工具进行支持和管理,如 Junit(单元测试)、SVN(配置管理)、QC(系统测试管理)。其中 QC对测试的支持大致可以划分为版本周期管理、测试需求管理、测试用例管理、测试执行管理、缺陷跟踪。


2.描述一下缺陷跟踪过程

思路:缺陷跟踪实际是描述公司对缺陷的管理过程,因为过程较复杂,纯文字描述很难表达逻辑的准确性,因此建议配合图形的方式回答(面试时需要自备纸笔)。
答:

1)、缺陷跟踪的目的:管理缺陷,随时跟踪缺陷所处的位置,并进行缺陷分析。

2)、跟踪使用的缺陷字段是“状态”,一般至少包括:new、open、fixed、reopen、closed。根据公司实际情况可以自行添加状态,如:Reject。
3)、实现跟踪需要支撑的工具,如 QC(在定制管理的用户组权限中进行设置)。

3.黑、白、灰盒测试的区别

答:
1)、黑盒测试:不考虑组件或系统内部结构的功能或非功能测试(简单来说就是:代码不可见
的测试),主要应用于系统测试阶段,常见的测试方法包括:功能测试、易用测试、兼容测试等。2)、白盒测试:基于对组件或系统的内部结构的分析而进行的测试。(简单来说就是:代码可见的测试),主要应用于单元测试阶段,常使用逻辑覆盖率(路经覆盖、分支覆盖等)进行测试设计。

3)、灰盒测试:介于黑盒和白盒之间的测试,一般理论上存在,实际招聘岗位的很少。主要应用于集成测试阶段,常用于接口测试。

4.静态、动态测试的区别

答:
1)、这两种测试方法主要以代码是否被“执行”作为区分的标准。
2)、静态测试:代码没有被执行。如:代码走读,Java 编译工具(代码写完要先编译,检查语法是否有错误,属于静态+自动化测试,如果编译没有错误才可能被运行)。
3)、动态测试:代码被执行起来了。如功能测试(分别输入有效、无效值测试输入,程序必须要先运行起来)。兼容测试(被测程序在不同的环境(Win7、win8 等)下运行是否正常)


5.验收测试和α测试、β测试的区别

思路:对这几个测试方法的分类,业界没有形成统一的标准,为了防止考官和你学习的标准不统一,回答问题前最好加上些说明。
答:
1)、业内对以上方法的划分没有形成统一的标准,有人认为是并列关系,即验收测试针对的是项目而言,α和β测试针对的是产品而言。有人认为是从属关系,即α测试属于内部验收测试,是可控的,β测试属于外部验收测试,一般难以控制。
2)、关于这三个测试的定义可以参考前面的“名词解释”部分。

6.负载、压力、容量测试的区别

思路:一般这些测试均属于性能测试的范畴,业界的解释也是不统一的,类似的还包括“基准测试”
等。
答:
1)、以上词汇属于性能测试的常见术语。
2)、定义见文档名词解释部分(压力测试、负载测试、容量测试)。


7. 测试计划和策略都包括哪些内容

答:
1)、测试计划:主要内容包括:测试的对象、工作任务安排(谁什么时间做什么事儿)、风险评估、结束或成功的标准等。
2)、测试策略(设计):主要内容包括:依据《测试计划》进行用例的设计和分析、如何设计测试数据、如何搭建测试环境等。
3)、定义见文档名词解释部分。


8.简述常见的测试方法和类型

思路:对于“测试方法”、“测试类型”业界也没有统一的标准划分,因此答题的时候干脆把所有可能的分类方法都说出来。
答:
1)、当前业界类似种类划分很多,没有形成统一的标准,我的理解是:

2)、测试方法分为:白盒、黑盒、静态、动态、人工、自动等。
3)、测试类型分为:(参考 IS09126):功能、安全、兼容等 27 项。
4)、用例设计方法:等价类、边界值、判定表、正交实验、流程分析、状态迁移。


9.单元测试和白盒测试的区别答:

1)、单元测试一般指的是:测试的某个阶段
2)、白盒测试一般指的是:一种测试方法
3)、他们的关系:在单元测试阶段,使用白盒测试的方法


10.测试用例的组成字段

思路:每个公司用例的组成字段都不相同,因此回答分为两个部分,主要字段(所有公司都有的字段,属于重要的内容)和其他字段(相对来说不是很重要,每个公司都不尽相同),这样防止考官总说你回答的字段不全。
答:

1)、一般用例的主要字段包括:用例标题、步骤名称、步骤描述、预期结果、实际结果

2)、其它辅助字段各个公司都不尽相同,如:用例编号、编写人、预置条件、优先级、对应版本、执行状态,覆盖需求等。
3)、额外补充:如 QC 工具可以将共性的用例步骤设计为模板,并进行参数化出来,以减少大量重复用例写作,提高工作效率。公司额外的字段也可以在不同的项目中自行添加。
4)、把用例的设计工作和编写工作最好分开,以便于评审和复用。
5)、注意用例对需求的覆盖(跟踪)关系维护,以及确定执行的优先级和次序。


11.缺陷报告的组成字段

思路:同上
答:
1)、主要字段:标题、描述、状态、严重程度、优先级
2)、其它字段:时间(提交、修改、回归、关闭)、版本(提交、修改、关闭)、人(提交人、分配人)、缺陷产生原因等。如果字段的数量多,也意味着缺陷分析的角度就多。
3)、为了防止表达不清楚和二义性,最好附加一些截图、操作视频、测试数据等附件。
4)、额外补充:如 QC类工具,可以添加用户指定的字段,并进行缺陷分析(柱形图、饼状图)。

12.如果出现需求变更怎么办

思路:需求是一个很大的范畴,统称需求工程,涵盖内容很多,主要从学习过的内容回答即可。
答:
1)、从 IS09000 的定义中,需求包括:显示、隐式和规范性需求。除了客户提出的显示需求,要尽量挖掘和发现隐式需求,同时要满足行业、国家等相关的规范。
2)、需求要经过评审才能使用,保证需求的准确性和全面性。因为几乎所有的生命周期模型中都以需求作为开始的起点,因此如果需求出现问题,会导致缺陷的发散。
3)、可以对需求进行“建模”,绘制“流程终”或者“状态图”,用图形的方式保证需求尽量不产生二义性(因为图形元素的定义是标准的),而且可以为后续的测试用例编写提供依据。4)、维护需求跟踪关系,如需求和用例的跟踪覆盖关系(Qc 中可以实现),一旦有需求发生变更,可以确定需求变更对用例的影响范围。
5)、每次需求变更并评审通过后,要进行基线化控制,保证相关人员使用的同一个版本的需求。

13.开发不认可你的缺陷怎么办

思路:这道题就没有标准答案了,可以说是“人各有志”,不同的人有不同的方法,因此主要考察点不是对测试知识和技能的掌握,而是你处理人际关系,团队关系,同事关系的能力。

1)、要尽可能避免这种情况发生,此类情况多发生在新员工身上,由于技术和业务掌握不是很扎实,导致提交一些无效的缺陷,这时可以增加测试内部的评审的环节来解决,即测试提交新缺陷(New)后,由测试经理或资深人员进行审核,确认无误可以打开缺陷(0pen),提交给开发修改,否则置为无效(Abandon),不提交给开发进行修复。参考《缺陷跟踪流程图》。
2)、尽量沟通协调,听听对方的理由,如果开发理由充分,放弃此缺陷
3)、如果认为开发理由不充分,确实需要修复,你要举出反例(参考其它同类软件的功能)来证明该缺陷是有道理的。
4)、咨询其他资深的测试同事,看是否有过类似问题,可以求教一下。

5)、实在无法协调的,可以直接提交缺陷报告,改或不改完全由开发决定,起码保证客户反馈类似问题的时候,责任不在测试这里。
6)、总之,凭借我的技术和沟通能力,相信一定能很完美的处理类似的问题。


14.发现不可重现的缺陷怎么办

答:
1)、检查是否严格按照用例去执行的,还是无意中发现的,尽量去重现或者找到规律2)、检查测试环境,包括操作系统、测试数据等一切可能引起缺陷的原因。
3)、在缺陷报告中注明:不可重现或无法发现规律,最好缺陷报告中就设定类似字段(QC中默认有该字段,叫“是否可重现”)。
4)、在提交缺陷报告的时候尽可能添加附件,如当时抛出的异常,日志信息等,也许开发能从中发现一些蛛丝马迹,进而修复缺陷。


15.验证和确认的区别

答:
1)、确认:做没做。如软件的功能是否被开发实现了。
2)、验证:做的对不对。如开发出来的功能需要验证(测试)是否正确,
3)、这个词出现的频率很高,如 CMMI(3 级中有验证、确认两个过程域)、双 V模型。

16.给你个纸杯怎么测

思路:这类题属于常见问题,一般是可以按照套路出牌的,类似问题有“给你张白纸怎么测”,“一部电梯怎么测”等等,主要回答进行测试的角度即可。
答:
1)、可以从多个角度进行测试,如:
功能测试:盛水、倒水是否流畅,是否漏水。
易用测试:是否口大底小,易于手握住。
可靠测试:盛水一段时间后是否出现渗漏的情况,
依从性测试:材质、规格是否符合国家相关环境、安全标准

2)、对于软件测试而言,角度会更多,为了保证充分性可以参考 S09126 质量模型进行分析。

17.简述评审过程

18.测试结束的标准有哪些

答:
1)、测试的结束或者成功与否的标准,一般在《测试计划》中进行定义。

2)、每个公司制定的该标准也是各不相同,如:
A、没有新的 Bug 产生或者反弹
B、覆盖率和通过率达标:如高级需求 100%覆盖并通过,低级 30%盖并通过。

C、缺陷修复率,如致命 100%修复,轻微 70%修复
D、自动化测试用例的比例(IBM 软件研究院)
 

相关文章:

软件测试面试之常规问题

1.描述一下测试过程 类似题目:测试的生命周期 思路:这是一个“范围”很大的题目,而且回答时间一般在3分钟之内,不可能非常详细的描述整个过程,因此答题的思路要从整体结构入手,不要过细。为了保证答案的准确性,可以引…...

《图像形态学运算全解析:原理、语法及示例展示》

简介: 本文详细介绍了图像形态学中的多种运算,包括腐蚀、膨胀、开运算、闭运算、形态学梯度运算、礼帽运算以及黑帽运算。分别阐述了各运算的原理、语法格式,并通过 Python 代码结合具体示例图片(如erode.JPG、dilate.JPG、close.…...

双十一线上服务调用链路追踪SkyWalking实战分析

序言 随着电商行业的飞速发展,双十一购物节已成为全球最大的购物狂欢节之一。在双十一期间,电商平台需要处理海量的用户请求和订单,这对系统的稳定性和性能提出了极高的要求。为了确保系统在高并发环境下的稳定运行,对线上服务的…...

网络安全究竟是什么? 如何做好网络安全

网络安全是如何工作的呢? 网络安全结合多层防御的优势和网络。每个网络安全层实现政策和控制。授权用户访问网络资源,但恶意参与者不得进行攻击和威胁。 我如何受益于网络安全? 数字化改变了我们的世界。我们的生活方式、工作、玩耍,和学习都发生了变化。每个组织希望提供…...

【C++】入门【一】

本节目标 一、C关键字(C98) 二、命名空间 三、C的输入输出 四、缺省函数 五、函数重载 六、引用 七、内联函数 八、auto关键字(C11) 九、范围for(C11) 十、指针空值nullptr(C11) 一.…...

【ArcGIS Pro实操第11期】经纬度数据转化成平面坐标数据

经纬度数据转化成平面坐标数据 数据准备ArcGIS操作步骤-投影转换为 Sinusoidal1 投影2 计算几何Python 示例 另:Sinusoidal (World) 和 Sinusoidal (Sphere) 的主要区别参考 数据准备 数据投影: 目标投影:与MODIS数据相同(Sinu…...

python学opencv|读取图像

【1】引言 前序学习了使用matplotlib模块进行画图,今天开始我们逐步尝试探索使用opencv来处理图片。 【2】学习资源 官网的学习链接如下: OpenCV: Getting Started with Images 不过读起来是英文版,可能略有难度,所以另推荐一…...

ffmpeg RTP PS推流

要实现 CRtpSendPs 类,使其能够将 H264 数据通过 RTP PS 流推送到指定的 URL,并支持 TCP 和 UDP 传输方式,您需要使用 FFmpeg 库。以下是该类的实现示例,包括必要的初始化、推流和退出函数。 步骤 初始化 FFmpeg 库:…...

Rust语言俄罗斯方块(漂亮的界面案例+详细的代码解说+完美运行)

tetris-demo A Tetris example written in Rust using Piston in under 500 lines of code 项目地址: https://gitcode.com/gh_mirrors/te/tetris-demo 项目介绍 "Tetris Example in Rust, v2" 是一个用Rust语言编写的俄罗斯方块游戏示例。这个项目不仅是一个简单…...

NUMA架构及在极速网络IO场景下的优化实践

NUMA技术原理 NUMA架构概述 随着多核CPU的普及,传统的对称多处理器(SMP)架构逐渐暴露出性能瓶颈。为了应对这一问题,非一致性内存访问(NUMA, Non-Uniform Memory Access)架构应运而生。NUMA架构是一种内存…...

Brain.js 用于浏览器的 GPU 加速神经网络

Brain.js 是一个强大的 JavaScript 库,它允许开发者在浏览器和 Node.js 环境中构建和训练神经网络 。这个库的目的是简化机器学习模型的集成过程,使得即使是没有深厚机器学习背景的开发者也能快速上手 。 概述 Brain.js 提供了易于使用的 API&#xff…...

Linux——用户级缓存区及模拟实现fopen、fweite、fclose

linux基础io重定向-CSDN博客 文章目录 目录 文章目录 什么是缓冲区 为什么要有缓冲区 二、编写自己的fopen、fwrite、fclose 1.引入函数 2、引入FILE 3.模拟封装 1、fopen 2、fwrite 3、fclose 4、fflush 总结 前言 用快递站讲述缓冲区 收件区(类比输…...

视觉感知与处理:解密计算机视觉的未来

文章目录 前言1. 计算机视觉的概述2. 计算机视觉的应用3. 运动感知与光流4. 人类视觉感知4.1 大脑中的视觉处理4.2 视觉缺陷与对比4.3 分辨率4.4 视觉错觉5. 图像采集与处理6. 图像处理流程7. 二值图像处理与分割8. 3D 机器视觉系统8.1 主动3D视觉8.2 立体视觉9. 商业机器视觉系…...

【大数据学习 | Spark-Core】广播变量和累加器

1. 共享变量 Spark两种共享变量:广播变量(broadcast variable)与累加器(accumulator)。 累加器用来对信息进行聚合,相当于mapreduce中的counter;而广播变量用来高效分发较大的对象&#xff0c…...

postgresql按照年月日统计历史数据

1.按照日 SELECT a.time,COALESCE(b.counts,0) as counts from ( SELECT to_char ( b, YYYY-MM-DD ) AS time FROM generate_series ( to_timestamp ( 2024-06-01, YYYY-MM-DD hh24:mi:ss ), to_timestamp ( 2024-06-30, YYYY-MM-DD hh24:mi:ss ), 1 days ) AS b GROUP BY tim…...

pywin32库 -- 读取word文档中的图形

文章目录 前置操作解析body中的图形解析页眉中的图形 前置操作 基于pywin32打开、关闭word应用程序; import pythoncom from win32com.client import Dispatch, GetActiveObjectdef get_word_instance():""" 获取word进程 实例"""py…...

GitLab使用示例

以下是从 新建分支开始,配置 GitLab CI/CD 的完整详细流程,涵盖每个步骤、配置文件路径和具体示例。 1. 新建分支并克隆项目 1.1 在 GitLab 上创建新分支 登录 GitLab,进入目标项目页面。依次点击 Repository > Branches。点击右上角 Ne…...

uniapp echarts tooltip formation 不识别html

需求: echarts 的tooltip 的域名太长,导致超出屏幕 想要让他换行 思路一: 用formation自定义样式实现换行 但是: uniapp 生成微信小程序, echart种的tooltip 的formation 识别不了html ,自定义样式没办…...

3D扫描对文博行业有哪些影响?

三维扫描技术对文博行业产生了深远的影响,主要体现在以下几个方面: 一、高精度建模与数字化保护 三维扫描技术通过高精度扫描设备,能够捕捉到文物的每一个细节,包括形状、纹理、颜色等,从而生成逼真的3D模型。这些模…...

面试(十一)

目录 一.IO多路复用 二.为什么有IO多路复用机制? 三.IO多路复用的三种实现方式 3.1 select select 函数接口 select 使用示例 select 缺点 3.2 poll poll函数接口 poll使用示例 poll缺点 3.3 epoll epoll函数接口 epoll使用示例 epoll缺点 四. 进程和线程的区别…...

React-useState的使用

useState 是 React 提供的一个 Hook,允许你在函数组件中添加和管理状态(state)。在类组件中,状态管理通常是通过 this.state 和 this.setState 来实现的,而在函数组件中,useState 提供了类似的功能。 基本…...

设计模式之破环单例模式和阻止破坏

目录 1. 序列化和反序列化2. 反射 这里单例模式就不多说了 23种设计模式之单例模式 1. 序列化和反序列化 这里用饿汉式来做例子 LazySingleton import java.io.Serializable;public class LazySingleton implements Serializable {private static LazySingleton lazySinglet…...

11.19c++面向对象+单例模式

编写如下类: class File{ FILE* fp }; 1:构造函数&#xff0c;打开一个指定的文件 2:write函数 向文件中写入数据 3&#xff1a;read函数&#xff0c;从文件中读取数据&#xff0c;以string类型返回 代码实现&#xff1a; #include <iostream>using namespace std;class…...

一文了解TensorFlow是什么

TensorFlow是一个开源的机器学习框架&#xff0c;由Google开发并维护。它提供了一个灵活且高效的环境&#xff0c;用于构建和训练各种机器学习模型。 TensorFlow的基本概念包括&#xff1a; 张量&#xff08;Tensor&#xff09;&#xff1a;TensorFlow中的核心数据结构&#x…...

如何做好一份技术文档?

打造出色技术文档的艺术 在当今技术驱动的世界中&#xff0c;技术文档扮演着至关重要的角色。它不仅是工程师和开发人员之间交流的桥梁&#xff0c;更是产品和技术成功的隐形推手。一份优秀的技术文档宛如一张精准的航海图&#xff0c;能够引导读者穿越技术的迷雾&#xff0c;…...

Linux和Ubuntu的关系

Linux和Ubuntu的关系&#xff1a; 1. Linux本身是内核&#xff0c;Ubuntu系统是基于Linux内核的操作系统。 2. Linux内核操作系统的构成&#xff1a; 内核、shell、文件系统、应用程序 -应用程序&#xff1a;文本编辑器等 -文件系统&#xff1a;文件存放在存储设备上的组织方…...

软件工程之静态建模

静态模型&#xff1a;有助于设计包、类名、属性和方法特征标记&#xff08;但不是方法体&#xff09;的定义&#xff0c;例如UML类图。 用例的关系&#xff1a; 扩展关系&#xff1a; 扩展关系允许一个用例&#xff08;可选&#xff09;扩展另一个用例&#xff08;基用例&…...

PICO VR串流调试Unity程序

在平时写Unity的VR程序的时候&#xff0c;需要调试自己写的代码&#xff0c;但是有的时候会发现场景过于复杂&#xff0c;不是HMD一体机能运行的&#xff0c;或者为了能够更方便的调试&#xff0c;不需要每次都将程序部署到眼睛里&#xff0c;这样非常浪费时间&#xff0c;对于…...

自媒体图文视频自动生成软件|03| 页面和结构介绍

代码获取方式在文本末尾&#x1f51a; *代码获取方式在文本末尾&#x1f51a; *代码获取方式在文本末尾&#x1f51a; *代码获取方式在文本末尾&#x1f51a; 视频图片生成器 一个基于 Python 和 Web 的工具&#xff0c;用于生成带有文字和语音的视频以及图片。支持多种尺寸、…...

深入浅出摸透AIGC文生图产品SD(Stable Diffusion)

hihi,朋友们,时隔半年(24年11月),终于能腾出时间唠一唠SD了🤣,真怕再不唠一唠,就轮不到SD了,技术更新换代是在是太快! 朋友们,最近(24年2月)是真的没时间整理笔记,每天都在疯狂的学习Stable Diffusion和WebUI & ComfyUI,工作实在有点忙,实践期间在飞书上…...

哪些网站可以做国外生意/谷歌浏览器app

git rm index.html //删除暂存区的index.html 可直接用这个方法&#xff0c;不用第一个方法...

网站设计与制作教程/安康地seo

命令执行代码是指使用编程语言编写的程序&#xff0c;用于执行特定的系统命令。它可以在不同的平台上使用不同的语言编写&#xff0c;如在Windows上使用C#或Visual Basic&#xff0c;在Linux上使用Python或Bash。...

浏览器做单页网站项目/百度排名优化工具

安装 Linux 主机时,如果选择 最小化安装! 配置 vnc 远程桌面可以参考:Linux 配置 VNC 远程桌面 使用 vnc 等工具连接通常显示如下: 也就是无法使用图形化界面,可以通过 yum 直接安装图形化界面: Linux 6: yum groupinstall -y "X Window System" yum gr…...

wordpress优化公司/网站软文代写

DNS 是Domain Name System (域名系统) 的缩写&#xff0c;是一种按域层次结构组织计算机和网络的命名系统。DNS应用于TCP/IP构建的网络&#xff0c;主要用于Internet。在Internet上&#xff0c;用户记忆由数字组成的IP地址比较困难&#xff0c;所以引入了域名的概念。域名与IP地…...

专业的团队网站建设/中国网站建设公司

目录 一&#xff0c;写在前面 二&#xff0c;链表经典例题 1&#xff0c;反转一个单链表 2&#xff0c;给定一个带有头结点 head 的非空单链表&#xff0c;返回链表的中间结点 3&#xff0c;输入一个链表&#xff0c;输出该链表中倒数第k个结点 4&#xff0c;删除链表中的…...

做网站vi系统是什么/百度网站客服

我采用得是STM32F10RC 参考得是STM32普中科技的给出得例子&#xff1a;https://www.bilibili.com/video/av30149282/?p45&#xff08;这里给出网址&#xff09; 1、基本介绍 包含有两个看门狗&#xff0c;独立看门狗&#xff1a;IWDG 窗口看门狗&#xff1a;WWDG 用来检测由…...