功能测试中常见的面试题-一

一、基础概念与理论题

  1. 什么是软件测试?它的目的是什么?

    • 回答: 软件测试是通过人工或自动化手段,运行或评估软件系统,以验证它是否满足规定的需求、识别实际结果与预期结果之间的差异,并评估软件产品质量的过程。

    • 目的:

      • 发现缺陷 (Bug/Defect): 这是最直接的目的。

      • 验证需求: 确保软件按照需求规格说明书和设计文档正确实现。

      • 验证功能: 确保软件的功能符合用户期望。

      • 建立信心: 提供软件质量的信心给相关方(用户、管理层等)。

      • 预防缺陷: 通过早期介入和过程改进,预防缺陷的发生(更偏向QA)。

      • 降低风险: 减少软件发布后因质量问题带来的业务风险。

  2. 功能测试 (Functional Testing) 和非功能测试 (Non-Functional Testing) 的区别?

    • 回答:

      • 功能测试: 验证软件做什么 (What)。关注系统的功能、行为是否符合需求规格说明书。测试点包括:输入输出、用户界面、API、数据库交互、业务逻辑、安全功能等。 例子:登录功能能否成功?搜索能否返回正确结果?

      • 非功能测试: 验证软件做得如何 (How Well)。关注系统的性能、可用性、可靠性、可维护性、兼容性、安全性(部分)、可扩展性等质量属性。例子:系统能支持多少用户并发?页面加载时间多久?在不同浏览器上显示是否正常?系统崩溃频率?

  3. 解释一下测试级别(Test Levels)?

    • 回答: 软件测试通常在不同的开发阶段进行,形成不同的测试级别:

      • 单元测试 (Unit Testing): 测试最小的可测试单元(通常是函数、方法、类)。由开发人员完成,关注代码逻辑。

      • 集成测试 (Integration Testing): 测试多个单元/模块/组件组合在一起时,接口和数据交互是否正确。关注接口契约。

      • 系统测试 (System Testing): 在完整的、集成的系统上进行测试,验证整个系统是否符合功能和非功能需求。这是功能测试的主要舞台。

      • 验收测试 (Acceptance Testing): 由用户、客户或业务分析师执行,验证系统是否满足业务需求和用户期望,决定是否可接受。包括:

        • 用户验收测试 (UAT - User Acceptance Testing)

        • 业务验收测试 (BAT - Business Acceptance Testing)

        • Alpha/Beta 测试 (Alpha/Beta Testing)

  4. 黑盒测试 (Black Box Testing) 和白盒测试 (White Box Testing) 的区别?功能测试通常属于哪种?

    • 回答:

      • 黑盒测试: 测试者不了解软件内部结构、设计和代码实现。只关注输入和输出,基于需求规格说明书进行测试。功能测试通常属于黑盒测试范畴。

      • 白盒测试: 测试者了解软件内部结构、设计和代码实现。基于代码逻辑设计测试用例(如语句覆盖、分支覆盖)。单元测试、集成测试常用。

      • 灰盒测试 (Grey Box Testing): 介于两者之间,测试者了解部分内部结构(如接口定义、数据库模式),结合需求和结构信息进行测试。很多集成测试、API测试可视为灰盒。

  5. 什么是回归测试 (Regression Testing)?为什么它很重要?

    • 回答: 当软件被修改(修复缺陷、新增功能、优化代码)后,重新执行之前已经执行过的测试用例,以验证这些修改没有引入新的缺陷破坏原有的、正常的功能

    • 重要性: 确保软件质量的稳定性。在快速迭代开发中尤其关键,避免“按下葫芦浮起瓢”。自动化测试是高效执行回归测试的关键。

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

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

相关文章

LINUX88 变量:命令定义;普通数组定义(复);declare -i /-x

问题 [codesamba ~]$ array3(ls axel-2.4) [codesamba ~]$ echo $array3 API [codesamba ~]$ ls axel-2.4 API CHANGES conn.o gui README tcp.o axel conf.c COPYING http.c ru.mo text.c axel.1 …

数字IC后端PPA优化| Timing一致性调整方法和Module Region规划方法

Q1:直播课经常讲到一致性,这个一致性的话一般是指place,CTS和PT的derating time,uncertainty和transition吗,我大概知道innovus的uncertainty设置要比PT里面高一点,但具体设计时这几部分的大小应该是一个什么样的关系或…

电子电气架构 --- 软件定义汽车的驱动和挑战

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…

机器学习——10 支持向量机SVM

1 支持向量机 1.1 故事引入看下图左边,蓝色和红色的点混在一起,这就像一堆数据,没办法用一条简单的直线把它们分开。再看下图右边,有一条直线把蓝色和红色的点分开,这就是SVM在找的“决策边界”,它能把不同…

若以微服务部署踩坑点

windows docker desktop 部署nacos mysql1、docker部署nacosdocker pull nacos/nacos-server:v2.4.3docker启动命令 docker run --name nacos -d -p 8848:8848 -p 9848:9848 -p 9849:9849 --privilegedtrue --network bridge -e MODEstandalone -e SPRING_DATASOURCE_PLATFORMm…

Lua基础+Lua数据类型

Lua基础 Lua介绍 特点:轻量、小巧。C语言开发。开源。 设计的目的:嵌入到应用程序当中,提供灵活的扩展和定制化的功能。 luanginx,luaredis。 环境安装 windows上安装lua: 检查机器上是否有lua C:\Users\cpf>lua lu…

基于VuePress2开发文档自部署及嵌入VUE项目

最近在搞前端开发帮助文档,转了一圈发现Vue提供了一个高性能的、Vue驱动的静态网站生成框架-VuePress。VuePress 是一个以 Markdown 为中心的静态网站生成器。你可以使用 Markdown 来书写内容(如文档、博客等),然后 VuePress 会生…

Flask初步学习

文章目录一、初识Flask1.1 Pycharm修改环境配置1.2 运行第一个flask项目1.3 获取数据请求1.3.1 动态路由参数一、初识Flask 1.1 Pycharm修改环境配置 file——settings——project——python Interpreter——add interpreter——add local interpreter 1.2 运行第一个fla…

word的正则替换

word查看选中了几行 word替换掉空行 替换空行 按下 “Ctrl H” 组合键打开 “查找和替换” 对话框,在 “查找内容” 框中输入 “pp”,“^p” 代表段落标记,两个 “^p” 表示连续的两个段落标记,即空行。在 “替换为” 框中输入 “…

Spring Framework源码解析——DisposableBean

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl一、概述 DisposableBean 是 Spring 框架中用于定义 Bean 销毁时回调行为的核心接口之一。它提供了一个标准化的钩子方法 destroy(),允许 Bean 在容器关闭或作用域…

linux安装和使用git

Linux 上安装 Git 在 Linux 上安装 Git,你可以按照以下步骤进行: 打开终端:打开你的 Linux 终端应用程序。通常可以通过在应用程序菜单中搜索 "Terminal" 或 "终端" 来找到它。 更新软件包列表:运行以下命令…

数字图像处理4

预处理——ROI——形态学处理形态学处理形态学变化只能在二值图上处理1.腐蚀Erode对kernel映射的区域做与操作,包括自己在内如果有0则中间赋值成02.膨胀Dilate对kernel映射的区域做或操作,包括自己在内如果有1则中间赋值成13.其他操作开操作:…

Solon v3.4.3 发布(国产 Java 应用开发生态基座)

Solon 框架! Solon 是新一代,Java 企业级应用开发框架。从零开始构建(No Java-EE),有灵活的接口规范与开放生态。采用商用友好的 Apache 2.0 开源协议,是“杭州无耳科技有限公司”开源的根级项目&#xff…

Spring-Security-5.7.11升级6.5.2

1.Session Management 1.1.必须明确调用SecurityContextRepository保存SecurityContext 在Spring Security 5中,默认行为是SecurityContext使用SecurityContextPersistenceFilter自动保存到SecurityContextRepository。 //版本5.7.11 //SecurityContextPersisten…

docker下载安装和使用(Hyper-V方式)

1.环境准备 左键单击电脑左下角开始按钮—>点击“设置”—>搜索“Windows功能”—>启用或关闭Windows功能—>勾选Hyper-v,启用后电脑会重启,安装环境配置成功。 选择 Hyper-v2.下载docker docker官网下载地址:https://www.docker…

【消息队列】RabbitMQ “消息队列模式” 以及NET8集成

在 .NET 8 中集成 RabbitMQ 消息队列,可以使用官方推荐的 RabbitMQ.Client 库或封装好的 MassTransit/EasyNetQ 等高级库。以下是 RabbitMQ 的基本集成代码 和 常见消息模式 的实现。 RabbitMQ 本身并没有直接支持延时消息的功能,但是可以通过一些机制来…

Docker 镜像常见标签(如 `标准`、`slim`、`alpine` 和 `noble`)详细对比

以下是 Docker 镜像常见标签(如 标准、slim、alpine 和 noble)的详细对比,涵盖基础系统、体积、适用场景及注意事项:1. 标准镜像(无后缀) 基础系统:完整 Linux 发行版(如 Debian、Ub…

(1-9-2)Java 工厂模式

目录 1.设计模式与分类 2. 工厂模式 2.1 工厂模式概述 2.2 简单工厂 2.3 学生推荐就业Demo 00.项目目录 01. 创建抽象接口Job 02. 创建实体类 03. 创建推荐工作工厂类 04. 创建学生推荐就业客户类 3. i18n国际化语言标题自适应 00. 实现效果 01. 创建抽象接口 02…

QT远程开发技巧

交叉编译时野火提供的文件 交叉编译器 GNU官网可以下载, QT库文件这里给的QT-everyWhere版本,是开源版本需要自行编译。(远程服务器通常是PC架构【AMD64】,直接apt-get install下载的qt也是Pc架构的,不能直接在板卡【ARM64】上运行,必须对源码交叉编译) 注意QT遵从GPL开源…

Linux操作系统从入门到实战(十九)进程状态

Linux操作系统从入门到实战(十九)进程状态前言一、什么是进程状态二、状态本质三、最核心的3种状态1. 就绪状态2. 运行状态3. 阻塞状态四、状态变化的核心1/两种资源如何影响状态?五、操作系统怎么管理这些状态?六、Linux里结构体…