认识软件测试 - 软实力面试题

embedded/2025/1/17 23:56:51/

目录

1. 什么是测试

1.1 简单认识测试

1.2 为什么需要测试

1.3 软件测试的定义

2. 测试的岗位有哪些

2.1 面试题 [HR 面]: 测开和测试的区别是什么?

3. 软件测试 和 软件开发

3.1 测试和调试的区别

3.2 面试题: 走测试岗位为什么还要学开发知识? 

4. 优秀软件测试人员具备的素质

4.1 综合能力

4.2 掌握自动化测试技术

4.3 测试用例的设计能力

4.4 探索性思维

4.5 兴趣

4.6 责任感和压力

4.7 面试题 

4.8 面试题: 为什么走测试而不是开发?


1. 什么是测试

1.1 简单认识测试

简单来说, 测试就是给程序找 bug, 还要把程序中那些难以发现, 隐藏很深的 bug 找出来.

测试在我们生活中也是很常见的, 比如说我们去商场买衣服:

  1. 外观测试: 要挑选符合个人审美的衣服
  2. 试穿测试: 选择合适的尺码, 去试衣服
  3. 材质测试: 考虑衣服材质是否透气舒服
  4. 价格测试: 询问价格是否符合预算

在程序中也是一样的, 我们来看以下实现除法功能的代码:

打眼一看, 没问题~ 第二眼, 好像有点问题... 第三眼, 怎么全是 bug!!

在这个方法中, 形参 x 和 y 是没有限制的, 这是一个非常大的问题.

用户可能给除数赋的值是 0, 也可能赋的值越界(超出 int 范围), 也可能赋的值是一个字符, 或者一个字符串.... 这都会导致程序崩溃. 也就是说, 这个代码全是 bug!!

而找出代码的 bug, 就是测试人员的任务.

1.2 为什么需要测试

一个互联网企业, 是通过 "软件产品" 来跟用户交互来直接/间接的拉动用户消费, 从而获得盈利的.

如果一个软件质量太差(例如出现闪退, 功能故障, 卡顿等 bug), 那么将流失大量用户, 企业也就无法获利.

软件测试, 是为了找出代码的 bug, 提高软件质量. 这样以来, 就能够提高用户的满意度, 从而吸引更多的用户使用, 从而实现企业的盈利.

1.3 软件测试的定义

软件测试就是验证软件产品的特性是否满足用户的需求.

这里的 "特性" 包含以下方面:

  1. 功能
  2. 性能
  3. 界面
  4. 易用性

2. 测试的岗位有哪些

测试的岗位主要分为以下两个方面:

  1. 软件测试开发工程师: 工作内容是 测试 + 开发, 但中心仍然是测试. 大约 90% 的时间都在做测试工作, 剩余的 10% 在开发测试效率工具(如自动化, 性能测试, 覆盖率....)
  2. 测试开发工程师: 工作内容是 纯测试. 并且测试操作基本是手工测试, 即 "点点点".

测开 和 测试, 都统称为 测试. 并且这两者的工作重心都是做 业务测试.

注意: 纯测试的岗位只在一些小厂中存在, 重大厂基本都是测开.

2.1 面试题 [HR 面]: 测开和测试的区别是什么?

两者相同点:

  1. 都是测试人员, 工作重心都是测试
  2. 都是对产品质量负责, 保证产品质量

不同点:

  • 测试开发比测试 多 "开发" 二字, 但测开所做的开发不是 业务开发, 而是开发测试效率工具.

3. 软件测试 和 软件开发

3.1 测试和调试的区别

测试人员的测试操作, 和开发人员的调试操作, 有什么区别?

调试测试
目的发现并解决程序中的问题发现程序中的问题
参与角色开发人员全体项目组成员. 但主要是测试人员. 
执行阶段开发阶段贯穿于软件开发的整个生命周期, 当软件需求提起的那一刻, 测试就已经开始了.

3.2 面试题: 走测试岗位为什么还要学开发知识? 

  1. 因为测试人员也需要具备开发能力, 比如开发测试效率工具.
  2. 学习开发知识, 能够从代码层面发现程序问题, 更好的进行测试, 提高测试质量.

4. 优秀软件测试人员具备的素质

4.1 综合能力

  1. 沟通能力: 和产品经理沟通产品功能; 和开发人员沟通代码内容(涉及的框架, 中间件...)
  2. 快速学习能力: 学习新语言, 新工具; 适应新环境
  3. 开发能力: 开发测试效率工具
  4. 文字能力: 编写测试用例; 描述程序问题; 编写测试报告...

4.2 掌握自动化测试技术

自动化测试可以代替人力进行测试.

当一个产品进行版本更新后, 新版本肯定是需要支持旧版本的功能的.

所以需要对新版本中的旧版本功能也进行测试, 而每发行一个新版本就需要对旧版本的内容重新进行测试, 重新进行相同的测试操作. 如果每次都由测试人员手工完成, 就很浪费时间了.

而如果借助自动化, 让机器自动进行重复性的测试操作, 将极大的节省人力和时间的消耗. 让测试人员把更多的精力花在更多类型的测试上。

因此, 自动化技术, 是中大厂必不可少的技术事务. 

4.3 测试用例的设计能力

测试用例设计能力是指, 无论对于什么类型的测试, 都能够设计出高效地发现缺陷, 保证产品质量的 优秀测试用例.

4.4 探索性思维

探索性思维的高低取决于测试人员的经验. 在测试过程中不断进行学习, 结合自己的经验, 直觉, 知识, 进行系统的错误猜测和逻辑推理.

4.5 兴趣

兴趣是就业择岗的重要元素之一.

4.6 责任感和压力

测试工程师是产品质量最后的把关者.

因此, 测试工程师必须对产品心怀极高的责任感.

此外, 测试工程师(包括互联网各行业)应具备良好的抗压能力.

以上内容(4.1 - 4.6)均是优秀测试人员应具备的素质.(面试解题模版)

4.7 面试题 

  1. 你觉得自身有哪些优势?
  2. 你怎么认为自己可以胜任测试工作?
  3. 相比于其他候选人, 你觉得自己强在哪里?

以上问题均可以根据上述 "优秀测试人员应具备的素质" 来回答.

4.8 面试题: 为什么走测试而不是开发?

  1. 兴趣和性格: 我对于测试具有浓厚的兴趣. 并且, 测试工作需要耐心, 细心, 我认为我挺符合的.
  2. 岗位性质: 测试不仅有测试工作, 还需要开发一些效率工具, 既有测试也有开发, 我很喜欢.
  3. 个人职业规划: 大一时我就确立了要走测试方向的目标, 一直坚持测试方向的学习, 希望能够在测试领域做出一些成绩.

END


http://www.ppmy.cn/embedded/154797.html

相关文章

【Rust自学】12.7. 使用环境变量

12.7.0. 写在正文之前 第12章要做一个实例的项目——一个命令行程序。这个程序是一个grep(Global Regular Expression Print),是一个全局正则搜索和输出的工具。它的功能是在指定的文件中搜索出指定的文字。 这个项目分为这么几步: 接收命令行参数读取…

Kotlin函数类型探索:T.()->Unit的扩展函数、无参函数()->Unit与类型参数函数(T)->Unit

在Kotlin编程语言的丰富特性中,函数类型扮演着至关重要的角色。它们不仅定义了代码的行为,还通过灵活的类型系统促进了代码的重用和模块化。本文将深入探讨Kotlin中的三种核心函数类型:T.()->Unit的扩展函数、无参函数()->Unit以及类型…

C# OpenCV机器视觉:极大值抑制

在一个阳光有些慵懒的午后,阿强像往常一样窝在他那被各种电子元件和线路堆满的实验室里,周围的电脑屏幕闪烁着神秘的代码和复杂的图像,仿佛在诉说着一个个未被解开的科技谜题。阿强最近痴迷于机器视觉领域,而今天,他将…

什么是docker?关于docker容器的全面详细介绍

什么是 Docker Docker 是一种开源的容器化平台,旨在简化应用程序的开发、部署和运行过程。它提供了一种轻量级、可移植且自包含的容器化环境,使开发人员能够以一致的方式在不同的计算机上构建、打包和分发应用程序。 Docker 的出现改变了传统软件开发和…

webpack 4 升级 webpack 5

升级至最新的 webpack 和 webpack-cli npm run build 报错, unknown option -p 解决方案: 改成 --mode production npm run build 报错 unknown option --hide-modules 解决方案:直接移除 npm run build 报错:TypeError: Cannot a…

@Scope(“prototype“)

Scope("prototype") 是 Spring 框架中用于定义 Bean 作用域的注解之一,它的主要作用是将一个 Bean 定义成 原型作用域(Prototype Scope)。在原型作用域下,每次从 Spring 容器中请求这个 Bean 时,都会创建一个…

【云岚到家】-day03-门户缓存方案选择

【云岚到家】-day03-门户缓存方案选择 1.门户常用的技术方案 什么是门户 说到门户马上会想到门户网站,中国比较早的门户网站有新浪、网易、搜狐、腾讯等,门户网站为用户提供一个集中的、易于访问的平台,使他们能够方便地获取各种信息和服务…

java day04-面向对象基础(内存 封装 继承 修饰符 工具类 )

1.对象内存图 1.1 Java 内存分配 1.2 堆和栈 栈:所有局部变量都会在栈内存中创建 局部变量:定义在方法中的变量或者方法声明上的变量 方法执行都会加载到栈中进行 -----------------------------------------------------------------------------------------…