SoftwareTest1 - 打破你对软件测试的偏见

news2024/11/12 16:39:11

软件测试答疑篇

  • 一 . 什么是软件测试
  • 二 . 软件测试和软件开发的区别
    • 2.1 难易程度
    • 2.2 工作环境
    • 2.3 薪水("钱"景)
    • 2.4 繁忙程度
    • 2.5 测试和研发中调试的区别
  • 三 . 软件测试岗位
  • 四 . 软件测试人员应该具备的素质
    • 4.1 综合能力
    • 4.2 优秀的测试用例设计能力
    • 4.3 掌握自动化测试技术
    • 4.4 探索性思维
    • 4.5 兴趣
    • 4.6 有责任感和一定的抗压能力
  • 五 . 总结

Hello , 大家好 , 又给大家带来新的专栏喽 ~
这个专栏是专门为零基础小白从 0 到 1 了解软件测试基础理论设计的 , 虽然还不足以让你成为软件测试行业的佼佼者 , 但是可以让你了解一下软件测试行业的相关知识 , 具有一定的竞争实力 .
那也欢迎大家订阅此专栏 : https://blog.csdn.net/m0_53117341/category_12427509.html
希望大家都能够拿到好的 Offer
在这里插入图片描述

首先 , 我们做一个总览 : 软件测试我们主要学什么?

1.基础课程
这个阶段就是软件测试入门 , 通过学习 , 我们可以了解到软件测试的基本概念 , 软件的生命周期以及软件测试的生命周期 , 开发模型和测试模型 , 以及设计测试用例的办法
学完这些基础知识 , 我们就可以去投递测试岗位了

2.自动化课程(Web 自动化测试)
这里就算是软件测试的进阶了 , 这里并不要求一定掌握 , 但是这是一个加 Buff 的过程 , 自动化是中大型企业中必不可少的一项效能提升技术事务 , 我们在这个阶段可以学习到什么是自动化 , web 自动化工具的使用 , 自动化实战项目等 . 这一阶段结束 , 我们就可以实现 web 自动化测试 , 可以去实现自动抢票等功能了

3.性能测试课程
这也是一个加 Buff 的过程 , 我们在这个阶段可以了解到什么是性能测试 , 性能测试的指标 , 以及性能测试工具 loadrunner 三件套的使用

接下来 , 开始我们的正题

一 . 什么是软件测试

软件测试 , 我们可以看成两个词 : 软件 测试 , 那么我们有一个软件固然重要 , 但是测试也非常重要 , 测试是服务于软件的 .
那么在日常生活中 , 测试处处可见 , 我举几个栗子

  1. 通过健康码是不是红码 , 测试你是不是高危人群
  2. 测试对象到底还爱不爱我
  3. 测试食堂哪家档口好吃

那么就举一个具体的例子 : 我们去商场买衣服

  1. 首先 , 我们选一家顺眼的店 , 进去之后看到了自己喜欢的衣服 , 这就是外观测试
  2. 然后我们就可以去试衣间试穿 , 这就是试穿测试
  3. 试穿完事之后 , 我们还要看看他的材质好不好 , 这就是材质测试
  4. 觉得 ok 的话 , 我们还需要问问价格 , 贵了砍砍价啥的 , 这就是价格测试

其实就是钱包测试🤣 , 测试一下钱包是不是为 null

  1. 觉得都 ok , 交钱走人

那么我们再举一个例子 , 市面上这么多 APP , 那么他们为什么要做 APP , 那肯定是为了 Money , 那么 Money 从哪里来 , 那肯定是从用户消费来的 , 那你的产品让用户使用舒服 , 确实帮到用户忙了 , 用户才会给你消费
那么我们通过这个栗子就得到了我们软件测试的概念 : 软件测试是验证软件产品特性是否符合用户的需求
那么这里面 , 有一个关键词 : 软件产品特性 , 那么这都包括哪些方面呢 ?
我们考虑一个产品 , 不光要考虑软件是否能用 , 还要考虑 功能 界面 兼容性 性能 这几个因素
随着产品功能的迭代以及增加 , 历史功能不断更新 , 那么对于测试人员的要求也越来越高 , 不仅要懂得基本测试理论 , 开发测试工具 , 现在也需要测试人员需要具备一定的开发基础 , 其实就是技多不压身 .

二 . 软件测试和软件开发的区别

我们公司中 , 负责一个项目 , 会有具体的研发团队 , 研发团队包括很多人员以及工种 , 其中我们最关心的两个就是软件开发工程师以及软件测试工程师 , 我们软件开发工程师的主要工作就是编写代码 , 那么我们的软件测试工程师主要就是测试软件质量 , 明确测试计划 , 编写测试用例

2.1 难易程度

这个难易程度只是相对来说的
开发的专业度高一些 , 但是开发的广度小
测试的专业度低一些 , 但是测试的广度大 , 需要额外学习的东西特别多 , 不仅需要会测试本身的东西 , 还需要会开发的基础知识
那么这里有一个面试题 : 软件测试和软件开发有什么区别呢 ?
软件测试 : 主要是保障产品质量的
软件开发 : 主要是编写业务代码的
举个栗子 :
我们的开发接到了一个任务 , 是这样的
在双十一当天举办活动 , 产品经理提的需求是活动有效期在 11.1 00:00:00 ~ 11.1 23:59:59 , 但是开发加班加蒙眼了
本来的代码是这样的

if(time >= 11.1 00:00:00 && time < 11.2 00:00:00)

但是他写成了这样

if(time >= 11.1 00:00:00 && time <= 11.2 00:00:00)

虽然开发确实完成了编写业务代码的部分 , 但是这个实现是有 Bug 的
这个时候就需要我们测试人员来进行测试
测试人员使用边界测试就发现了问题所在 , 然后把这个现象告诉开发 , 开发再去修 Bug
所以我们测试人员是用来保证产品质量的

2.2 工作环境

基本类似 , 都是一个桌子 , 一个凳子 , 一个笔记本 , 一个显示屏 , 谁也没比谁好多少
日常办公环境看公司 , 大厂一般都用 Mac , 中小厂一般都用 Think Pad 比较多
但是开发环境统一都是 Linux 系统

2.3 薪水("钱"景)

中小企业总体比研发低 , 自动化等专业测试领域和研发基本无差距 . 大厂研发测试基本无差别

2.4 繁忙程度

开发 : 收到需求 , 准备进行开发设计以及编码的阶段
测试 : 制定测试计划 , 编写测试用例 , 执行测试阶段
在正常工作中 , 开发是和测试旗鼓相当的
那么这里就有一个标准面试题了 : 软件测试是只有在开发人员编写完代码之后才去测试的吗 ?
答案是 : 当然不是 , 软件测试是贯穿于软件的整个生命周期的 !!!

2.5 测试和研发中调试的区别

  1. 参与角色不同 : 调试由开发人员完成 , 测试主要是由测试人员和开发人员来执行
  2. 目的不同 : 测试的任务是发现程序中的缺陷;调试的任务是定位并且解决程序中的问题。
  3. 执行的阶段不同 : 测试贯穿整个软件开发生命周期,而调试一般在开发阶段

三 . 软件测试岗位

我们可以看到 , 其实测试也是分了许多岗位的
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们目前主要关注两个大的方向 :
软件测试 : 主要的工作就是保障产品质量
说具体一些 : 软件测试工程师的主要工作一般包含需求分析、编写测试计划和测试方案、设计测试用例、执行测试用例、跟踪BUG、编写测试报告等;

软件测试开发 : 主要的工作就是保障产品质量 , 另外 , 还需要开发测试效能工具 , 用来提升测试效率
说具体一些 : 软件测试开发工程师的主要工作一般包含需求分析、编写测试计划和测试方案、设计测试用例、执行测试用例、跟踪BUG、编写测试报告等;以及根据项目的特点来开发一些自动化测试的脚本,或自动化测试的工具,或者是软件测试工作中用到的提高工作效率的小工具什么的,从而能够更有效地进行测试,提高软件产品的质量。

其他几个岗位我们了解一下就好

性能测试工程师:针对系统进行性能测试,包括使用工具和编写性能自动化测试脚本。
安全测试工程师:主要分析产品可能会出现的安全问题,做各个方面的渗透测试,提高产品的安全性
其它:系统测试工程师,嵌入式测试工程师,硬件测试工程师。

四 . 软件测试人员应该具备的素质

4.1 综合能力

  1. 沟通能力 : 跟开发提 Bug 能够有高超的话术
  2. 快速学习能力 : 对于新技术能够快速上手使用
  3. 开发能力 : 测试人员也是要具有一定的开发能力的 , 这样可以看懂开发的代码 , 更好地测试
  4. 文字能力 : 能够编写测试用例以及相应报告

4.2 优秀的测试用例设计能力

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

4.3 掌握自动化测试技术

掌握自动化测试技术,可以把你从大量重复性的手工劳动中解放出来,这样可以把更多的精力花在更多类型的测试上。

4.4 探索性思维

探索性思维是指,测试工程师在执行测试的过程中不断了解被测系统,结合自己的经验,知识,直觉,进行系统的错误猜测和逻辑推理,整理和分析出更多有针对性的的测试关注点。

4.5 兴趣

4.6 有责任感和一定的抗压能力

测试人员是产品质量非常重要的一道关卡 , 咱们测试人员不能看见开发写的 Bug 就偷摸不告诉 , 然后等到评定 Bug 的时候 , 把锅甩给开发
虽然说产品质量并不是说只跟测试人员有关系 , 但是团队内 / 项目内所有人都需要对产品质量负责

五 . 总结

什么是软件测试 ?

测试产品特性是否符合用户的需求
要注意的是 , 这里面的用户不要说成客户 , 用户和客户还不太相同

软件测试和研发的区别

研发人员是开发业务代码的 , 测试人员是保证产品质量的

面试题 : 本次求职是软件测试岗位 , 那为什么简历上有很多的开发经验呢 ?

思考角度 :

  1. 面试官是想知道同学们学习开发的目的是什么 , 对测试是否有帮助 , 帮助有多大
  2. 面试官想了解同学对个人以后的发展定位是否有明确目标

回答方法 :

我觉得学习开发相关的知识并不是一无是处 , 学习开发相关的知识可以更好地进行软件测试 , 更好的排查出来 Bug

软件测试的岗位

我们分成两个大方向

  1. 软件测试工程师
  2. 软件测试开发工程师

要注意的是 , 软件测试开发工程师可不是与开发人员共同开发程序 , 这里面的开发是指开发一些效能提升工具

那么软件测试工程师 软件测试开发工程师都叫做测试人员 , 他们的目标都是对软件质量负责

高频面试题 : 测试和测试开发的区别

  1. 相同点 : 保证项目的测试质量
  2. 不同点 : 软件测试开发工程师还会开发一些效能提升工具

一个优秀的测试人员需要具备的素质

综合素质 :

  1. 快速学习的能力 : 新人培养机制阶段需要快速的学会公司需要的工具以及相关知识 , 了解相关业务/技术 , 研究透相关文档
  2. 优秀的设计测试用例的能力 : 测试用例好坏的设计与产品测试的质量有很大关联
  3. 掌握自动化技术
  4. 兴趣
  5. 责任感和压力

面试题 : 众多求职者当中 , 你觉得你的个人优势是什么 ?

注意 : 面试的时候不要带有负能量 , 不要抨击别人 , 不要抨击学校 …
答案就可以按照上个问题参考回答

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

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

相关文章

ShardingSphere——柔性事务SEATA原理

摘要 Apache ShardingSphere集成了 SEATA 作为柔性事务的使用方案&#xff0c;本文主要介绍其实现ShardingSphere中柔性事务SEATA原理原理。帮助你更好的理解ShardingSphere原理。同时帮助大家更好的使用柔性事务SEATA原理。 一、Seata柔性事务 Apache ShardingSphere 集成了…

合并区间【贪心算法】

合并区间 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 class Solution {public int[][] merge(int[…

uniapp 配置并使用 VueX

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态&#xff0c;并以相应的规则保证状态以一种可预测的方式发生变化。 uni-app 内置了 VueX 1、创建需要的文件 右键点击 根目录【我的是 uni-shop】&#xff0c;然后新建 目录&a…

ICCV 2023 | 利用双重聚合的Transformer进行图像超分辨率

导读 本文提出一种同时利用图像空间和通道特征的 Transformer 模型&#xff0c;DAT&#xff08;Dual Aggregation Transformer&#xff09;&#xff0c;用于图像超分辨&#xff08;Super-Resolution&#xff0c;SR&#xff09;任务。DAT 以块间和块内的双重方式&#xff0c;在空…

轻松管理不同类型的文件,高效将文件按类型进行移动归类

如果你经常需要处理不同类型的文件素材&#xff0c;例如图片、音频、视频等&#xff0c;那么你一定知道这是一项繁琐的任务。为了帮助你快速整理这些文件&#xff0c;我们推出了一款强大的文件管理工具&#xff0c;让你能够轻松地将不同类型的文件素材归类到不同文件夹里单独保…

功率信号源的用途和作用有哪些

功率信号源是一种重要的电子设备&#xff0c;用于生成具有特定功率水平、波形和频率的电压或电流信号。它在各种应用中发挥着关键作用。下面介绍功率信号源的主要用途和作用&#xff1a; 电路测试和调试&#xff1a;功率信号源被广泛应用于电路测试和调试过程中。它可以提供不同…

SAP PP之定义活动/作业类型(Activity Type)

文章目录 前言 一、作业是什么 二、使用步骤 1.单独创建 2.创建组 注意点 前言 创建活动类型具有以下先决条件&#xff1a; 控制范围已创建并分配给公司代码。已创建成本要素类别为43的次要成本要素。 一、作业是什么 SAP活动类型是在成本范围的成本中心中产生的活动的分类。…

【JUC基础】JUC入门基础(二)

目录 异步回调JMM 理解对 volatile 的理解1、保证可见性2、不保证原子性3、禁止指令重排 对 JMM 的理解 详解单例模式饿汉式懒汉式DCL懒汉式&#xff1a;双重检测锁模式的懒汉式单例静态内部类实现单例通过反射破坏单例&#xff0c;修改后的DCL饿汉式枚举实现单例防止反射破坏 …

不需要Photoshop!这10款替代软件也能轻松处理图片

Photoshop是一款功能强大的图像处理工具&#xff0c;很多人说到修图就会想到要用PS&#xff0c;但是Photoshop是要付费的&#xff0c;对于业余设计师或者对修图需求量不太高的普通用户来说&#xff0c;使用Photoshop的成本略高。本篇文章&#xff0c;我们向你推荐5款Photoshop替…

FreeRTOS的信号量和互斥量之间的区别和联系

文章目录 信号量信号量简介信号量特征 互斥量互斥量的上锁机制互斥量的优先级继承机制 二值信号量和互斥量的作用二值信号量的作用互斥量的作用 二值信号量和互斥锁关系相同点不同点 如何根据场景选择回答信号量和互斥锁之间的区别&#xff1a; 信号量 信号量简介 队列(queue)…

Unity AssetBundle(1):Assets打包和依赖(Dependencies)

对Unity5.x后的AssetBundle依赖机制有了一点理解&#xff0c;创建了一个项目验证 github:GeWenL / AssetBundlePro AbScene.unity 资源有哪些&#xff1f; Some common types of Asset assetbundle打包命令是 BuildPipeline.BuildAssetBundles ,格式有&#xff1a; 引用&…

vue3+ts组件通信

1、父组件向组件传参 父组件代码 子组件代码 2、子组件向父组件传参 组件间代码 父组件代码 3、如果eslint报错&#xff0c;需在.eslintrc.js中添加一行代码 4、通过父组件通过 ref 获取子组件的属性或者方法 父组件代码 子组件代码 5、孙子组件provide和inject 父组件…

重磅!腾讯云 CODING 入选软件供应链产品名录

点击链接了解详情 2023 年 8 月 25 日&#xff0c;由中国信息通信研究院、中国通信标准化协会联合主办的**“2023 首届 SecGo 云和软件安全大会”在京召开。会上正式发布了第二期《软件供应链厂商和产品名录》&#xff0c;旨在提升软件供应链透明度&#xff0c;宣传推广一批成熟…

Ceph构件及组件分析

Ceph存储架构 Ceph 存储集群由几个不同的daemon组成&#xff0c;每个daemon负责Ceph 的一个独特功能并。每个守护进程是彼此独立的。 下面将简要介绍每个Ceph组件的功能&#xff1a; RADOS&#xff08;Reliable Autonomic Distributed Object Store, RADOS&#xff09; RADOS…

Python面向对象编程(一)类的基础,关系,继承,封装,多态

类的一些理论概念及其应用场景等基础内容此处不赘述 目录 类的定义及基础 属性 方法 初始化方法 普通方法 类之间的关系 相互调用 依赖关系 关联关系 组合关系 三大特征----类的继承 重写父类方法 多继承 三大特征----封装 三大特征----多态 类的定义及基础 类…

10 mysql tiny/small/medium/big int 的数据存储

前言 这里主要是 由于之前的一个 datetime 存储的时间 导致的问题的衍生出来的探究 探究的主要内容为 int 类类型的存储, 浮点类类型的存储, char 类类型的存储, blob 类类型的存储, enum/json/set/bit 类类型的存储 本文主要 的相关内容是 int 类类型的相关数据的存储 …

EI、Scopus双检索| 2023年第四届自动化、机械与设计工程国际会议

会议简介 Brief Introduction 2023年第四届自动化、机械与设计工程国际会议&#xff08;SAMDE 2023&#xff09; 会议时间&#xff1a;2023年12月8 -10日 召开地点&#xff1a;中国南京 大会官网&#xff1a;www.samde.org 机械设计制造及其自动化学科在国民经济中处于极其重要…

从渗透测试小白到网络安全大佬的成长之路

前言 最近看到很多的安全小白在询问如何去学习安全&#xff0c;如何去入手渗透测试等问题。突然有感而发&#xff0c;想起来自己当时从小白一步一步走向黑客大佬的成长之路。 随着因特网的发展和网络经济的兴起, 越来越多的企业将服务或交易平台放到了互联网上, 而且这些网络应…

es6解构用法

一: 解构数组 二&#xff1a;解构对象 一: 解构数组 原理&#xff1a;模式(结构匹配), 索引值相同的完成赋值 总结&#xff1a;位置对应 二&#xff1a;解构对象 原理&#xff1a;模式(结构匹配), 属性名相同的完成赋值 {}{} 对象结构赋值的应用 常用的就以上两种 &#…

【用unity实现100个游戏之7】从零开始制作一个仿杀戮尖塔卡牌回合制游戏

文章目录 前言素材资源开始一、UI框架二、挂载脚本三、事件监听&#xff0c;用于绑定按钮事件四、声音管理器五、excel转txt文本六、游戏配置七、用户信息表八、战斗管理器九、 敌人管理器十、玩家血量、能量、防御值、卡牌数十一、敌人血量 行动显示逻辑十二、UI提示效果实现十…