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

【测试开发】答疑篇 · 什么是软件测试

【测试开发】答疑篇

在这里插入图片描述

文章目录

  • 【测试开发】答疑篇
    • 1. 生活中的测试
    • 2. 什么是软件测试
    • 3. 为什么要有测试/没有测试行不行
    • 4. 软件测试和软件开发的区别
    • 5. 软件测试和软件调试之间的区别
    • 6. 软件测试的岗位
    • 7. 优秀测试人员具备的素质

【测试开发】答疑篇

软件不一定是桌面应用,这样太狭义了,也可以是其他,比如移动端应用、web应用…

所以软件这个定义,并不只是我们知道的一个桌面应用而已…

1. 生活中的测试

假如你的对象喜欢买衣服,陪他逛商城的时候,他挑了一件好看的衣服,穿在身上,你如果只会说句好看,那真的太low了,无论你的对象是男是女,都这样分析:

  1. 配色和搭配:他选择的衣服的颜色和款式与他的个人特点完美搭配,展现出他的时尚眼光和对细节的关注。
  2. 剪裁和版型:这件衣服的剪裁非常适合他的身材,突出了他的优点,并展现了他的自信和魅力。
  3. 材质和质量:这条衣服选用了高质量的材料,舒适度和耐用性都非常好,彰显了他的品味和对品质的追求。
  4. 细节设计:他选择的衣服上的细节设计非常精致,比如别致的纽扣、独特的图案或细腻的刺绣,展示了他的审美眼光。
  5. 时尚感:这件衣服不仅与潮流保持一致,还有自己独特的风格,使他在任何场合都显得与众不同。
  6. 个性表达:这条衣服反映了他的个性,并帮助他展示出内在的自信和独立精神。
  7. 穿着舒适度:他选择的衣服不仅外观出众,还非常舒适,这使得他在活动中自由自在、轻松愉快。
  8. 整洁和干净:这件衣服干净整洁,无论是颜色的保持还是细节的清洁,展现了他的细致和注重细节的态度。
  9. 衣着品味:这条衣服的选择体现了他对时尚和艺术的敏锐感知,展示出他的独特品味和审美观点。
  10. 自信与魅力:他穿着这件衣服时散发出的自信和魅力瞬间吸引了人们的目光,让他成为众人关注的焦点。

总之,这件衣服在各个方面都非常出色,凸显了他的独特魅力和品味,让他成为一个引人注目的人。

而这十个方面,就是大大小小不同的测试方面,我们 在做好几个测试,例如外观测试,材质测试,版型测试,舒适度测试…

  • 因为对象肯定不会只试一件衣服,应该挑选好几件进行测试,最终挑了一件~

在生活中,我们其实潜移默化地就在做大大小小的一些测试

2. 什么是软件测试

最常见的理解就是:软件测试就是找BUG,发现缺陷。

  • 但是,什么是缺陷呢?缺陷的界定是什么?

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

  • 所以,并不是程序执行错误,执行异常才是缺陷,不符合产品特性和预期,不满足用户需求也是缺陷

我们可以看出以下两点:

  1. 测试试图验证软件是 “工作的”,也就是验证软件功能执行的 正确性
  2. 测试的活动是以测试人员 “预期结果” 为依据,这里的“预期结果”指的就是 需求定义

3. 为什么要有测试/没有测试行不行

举一个例子,“非常奇葩的操作”:

对于支付相关业务,一个新上任的领导(新官上任三把火) 说:“支付这块的代码这么写的像shi一样!?必须优化以下支付这块的代码”,然后开发者们就去coding了,理当交给测试人员测试,保证没问题后才能上线! 而这位0🔪并没有这么做,而是让产品直接上线!这就是他的那“一把火”!在产品上线之后,很快出现了问题,出现了大量的“xxx用户支付,支付失败”,这个情况及其恶劣,毕竟涉及的人那么多,让用户体验那么不好,最重要的是涉及钱!

在这里例子,可见测试是保障软件质量的,许多公司会称测试部门为“质量保障部”,是软件上线前的一道重要防线!

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

  1. 工作内容
    • 测试:写测试用例、执行、发送测试报告、编写自动化测试用例、开发相关的测试工具
    • 开发:通过不同的编程语言,最终做出软件
  2. 技能区别
    • 测试:技能广度掌握(外观是否好看,Web的UI自动化测试,APP的UI自动化,后端的接口进行测试,性能,安全,网络安全…),对于软件测试,有后端开发技能是加分项哦
    • 开发:技能深度掌握(Java后端工程师,因为开发需要写出高效的代码)
  3. 发展前景
    • 测试:初级测试工程师 -> 中级测试工程师 -> 高级测试工程师 -> 架构师 -> 项目经理…
    • 开发:初级开发工程师 -> 中级开发工程师 -> 高级开发工程师 -> 架构师 -> CTO…
  4. 工作环境
    • 基本上几个类型的工程师都在一起办公(划分办公区域),同一公司工作环境是一样的,同一职级办公环境是一样的
  5. 薪资
    • 通常情况下,大厂两者是差不多的,而中小厂测试偏低的

5. 软件测试和软件调试之间的区别

  1. 角色
    • 调试:开发者在开发过程中出现问题,进行一定的调试动作去解决问题
    • 测试:测试 + 开发执行(通常情况下,黑盒测试由测试人员执行,部分白盒测试、系统测试是由开发人员执行)
  2. 阶段
    • 调试:开发的过程中调试
    • 测试:没有代码测试就已经开始了,测试是伴随着软件的整个生命周期
  3. 目的
    • 调试:出现问题,解决问题
    • 测试:发现问题,提供解决方案
  4. 手段
    • 调试:debug,分析代码逻辑等各种手段,作为侦探…
    • 测试:等价类划分法,边界值法等各种手段,作为天罗地网,找到问题…

6. 软件测试的岗位

  1. 测试工程师
    • 功能测试比较多,设计测试用例,执行测试用例,涉及到的开发工作内容较少
  2. 测试开发工程师
    • 测试工程师的工作内容上,加了一些开发工作(开发测试用例,开发测试工具,开发出来的测试工具让测试人员用,提高效率)
    • 测试开发出来的软件和开发人员开发的软件有啥不一样?
      1. 开发人员开发的软件面向的对象是外部用户
      2. 测试开发开发出来的软件
  3. 游戏测试
  4. 软件测试
  5. 自动化测试
    • 设计自动化测试用例,开发自动化测试框架
  6. 性能测试(较难)
  7. 安全测试(较难)

7. 优秀测试人员具备的素质

技能:

  1. 编程能力(编写测试工具,自动化测试用例)
  2. 测试用例设计能力
  3. 技术快速学习的能力
  4. 业务快速学习的能力

非技能:

  1. 沟通与合作(一个项目一堆人写的)
  2. 文字表达能力(测试用例文字写出来的,编写测试文档,提出BUG以及解决方案)
  3. 抗压能力
  4. 责任感

文章到此结束!谢谢观看
可以叫我 小马,我可能写的不好或者有错误,但是一起加油鸭🦆

软件测试的学习就是以实践为主,理论为辅~


相关文章:

【测试开发】答疑篇 · 什么是软件测试

【测试开发】答疑篇 文章目录 【测试开发】答疑篇1. 生活中的测试2. 什么是软件测试3. 为什么要有测试/没有测试行不行4. 软件测试和软件开发的区别5. 软件测试和软件调试之间的区别6. 软件测试的岗位7. 优秀测试人员具备的素质 【测试开发】答疑篇 软件不一定是桌面应用&#…...

深入解析顺序表:揭开数据结构的奥秘,掌握顺序表的精髓

💓 博客主页:江池俊的博客⏩ 收录专栏:数据结构探索👉专栏推荐:✅C语言初阶之路 ✅C语言进阶之路💻代码仓库:江池俊的代码仓库🔥编译环境:Visual Studio 2022&#x1f38…...

数据风险量化评估方案

一、企业面临数据安全的痛点 1、企业缺少清晰的数据安全意识 各部门重视度不够,缺少主动数据安全管控意识。数据安全管控架构不清晰,职责划分不明确。对数据安全管控认识不全面、不深刻。工作人员对于所持有的数据缺乏概念,导致数据的价值无…...

EasyAVFilter代码示例之将视频点播文件转码成HLS(m3u8+ts)视频点播格式

以下是一套完整的视频点播功能开发源码,就简简单单几行代码,就可以完成原来ffmpeg很复杂的视频点播转码调用流程,而且还可以集成在自己的应用程序中调用,例如java、php、cgo、c、nodejs,不需要再单独一个ffmpeg的进程来…...

day-50 代码随想录算法训练营(19)动态规划 part 11

123.买卖股票的最佳时机||| 分析:只能买卖两次,就是说有五个状态: 没有买过第一次买入第一次卖出第二次买入第二次卖出 思路:二维数组,记录五个状态 1.dp存储:dp[i][1] 第一次买入 dp[i][2] 第一次卖…...

自定义权限指令与防止连点指令

1.权限指令 // 注册一个全局自定义权限指令 v-permission Vue.directive(permission, {inserted: function(el, binding, vnode) {const {value} binding; // 指令传的值// user:edit:phone,sysData:sampleconst permissions [user:edit:address, sysData:entrust, sysData:…...

UE5、CesiumForUnreal实现瓦片坐标信息图层效果

文章目录 1.实现目标2.实现过程2.1 原理简介2.2 cesium-native改造2.3 CesiumForUnreal改造2.4 运行测试3.参考资料1.实现目标 参考CesiumJs的TileCoordinatesImageryProvider,在CesiumForUnreal中也实现瓦片坐标信息图层的效果,便于后面在调试地形和影像瓦片的加载调度等过…...

PostgreSQL执行计划

1. EXPLAIN命令 1)PostgreSQL中EXPLAIN命令的语法格式: postgres# \h explain Command: EXPLAIN Description: show the execution plan of a statement Syntax: EXPLAIN [ ( option [, ...] ) ] statement EXPLAIN [ ANALYZE ] [ VERBOSE ] statementwhere option can be…...

【2023 睿思芯科 笔试题】~ 题目及参考答案

文章目录 1. 题目 & 答案单选题编程题问题1:解析1:问题2:解析2: 声明 名称如标题所示,希望大家正确食用(点赞转发评论) 本次笔试题以两种形式考察的,分别是:选择题&a…...

Java手写AVL树

Java手写AVL树 1. AVL树实现思路原理 为了解释AVL树的实现思路原理,下面使用Mermanid代码表示该算法的思维导图: #mermaid-svg-ycH8kKpzVk2HWEby {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid…...

运维自动化:提高效率的秘诀

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...

C++设计模式_05_Observer 观察者模式

接上篇,本篇将会介绍C设计模式中的Observer 观察者模式,和前2篇模板方法Template Method及Strategy 策略模式一样,仍属于“组件协作”模式。Observer 在某些领域也叫做 Event 。 文章目录 1. 动机( Motivation)2. 代码…...

github网站打不开,hosts文件配置

首先获取github官网的ip地址, 打开cmd,输入ping github.com 配置: #github 140.82.114.4 github.com 199.232.69.194 github.global.ssl.fastly.net 185.199.108.153 assets-cdn.github.com 185.199.110.153 assets-cdn.github.com 185.199…...

总结PCB设计的经验

一般PCB基本设计流程如下:前期准备->PCB结构设计->PCB布局->布线->布线优化和丝印->网络和DRC检查和结构检查->制版。: :   第一:前期准备。这包括准备元件库和原理图。“工欲善其事,必先利其器”,要做出一…...

HCIE-HCS规划设计搭建

1、相关术语 1、等价路由 等价路由(Equal-cost routing)是一种网络路由策略,用于在网络中选择多个具有相同路由度量(路由距离或成本)的最佳路径之一来转发数据流量。 当存在多个路径具有相同的路由度量时,…...

c语言输出杨辉三角

#include<stdio.h> int main() {int x 0; //表示杨辉三角的的大小int y 1;printf("请输入x的值: ");scanf("%d", &x);for (int i 0; i < x; i) {for (int j 0; j < i; j) {if (j 0 || i 0) {y 1;}else {y y * (i - j 1) / j;}pri…...

性能测试-持续测试及性能测试建设(22)

什么是持续测试? 持续测试定义为:在软件交付流水线中执行自动化测试的过程,目的是获得关于预发布软件业务风险的即时反馈。 完成持续测试,我们还是需要回到定义中,它有3个关键词:软件交付流水线、自动化测试、即时反馈。 首先,持续测试需要具备一条完整的流水线,其代表…...

嵌入式C 语言中的三块技术难点

​ C 语言在嵌入式学习中是必备的知识&#xff0c;甚至大部分操作系统都要围绕 C 语言进行&#xff0c;而其中有三块技术难点&#xff0c;几乎是公认级别的“难啃的硬骨头”。 今天就来带你将这三块硬骨头细细拆解开来&#xff0c;一定让你看明白了。 0x01 指针 指针是公认…...

【斗破年番】紫研新形象,萧炎终成翻海印,救援月媚,三宗决战

Hello,小伙伴们&#xff0c;我是小郑继续为大家深度解析斗破年番。 斗破苍穹年番动画更新了&#xff0c;小医仙帅气回归&#xff0c;萧炎紫妍成功进入山谷闭关苦修&#xff0c;美杜莎女王守护没多久&#xff0c;就因蛇人族求救离开。从官方公布的最新预告来看&#xff0c;萧炎紫…...

差分方程模型:国民总收入(GDP)的乘数-加速数模型

【背景知识-凯恩斯经济增长模型】 凯恩斯(John M.Keynes)建立了著名的国民经济增长模型。令Y表示国民总收入&#xff0c;C表示总消费&#xff0c;E为总支出&#xff0c;I表示投资&#xff0c;G为政府的投入&#xff08;如基建等&#xff09;。那么有 【6.1】 其中&#xff0…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...