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

【测试开发】答疑篇

在这里插入图片描述

文章目录

  • 【测试开发】答疑篇
    • 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. 责任感

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

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


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

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

相关文章

JSON和全局异常处理

目录 1️⃣JSON 一、什么是json? 二、与javascript的关系 三、语法格式 四、注意事项 五、总结 六,使用json 1导入pom.xml依赖 2.配置spring-mvc.xml 3. ResponseBody注解使用 创建一个web层控制器 编写ClazzBiz 实现接口 测试: …

树莓派4b装系统到运行 Blazor Linux 本地程序全记录

在Linux下运行gui程序,咱也是第一次做,属于是瞎子过河乱摸一通,写得有什么不对和可以优化的地方,希望各位看官斧正斧正. ##1. 下载烧录器 https://www.raspberrypi.com/software/####我选择的是Raspbian 64位系统,并配置好ssh账号密码,wifi,以便启动后可以直接黑屏ssh连接 ##…

成都收录《乡村振兴战略下传统村落文化旅游设计》许少辉八一著作

成都收录《乡村振兴战略下传统村落文化旅游设计》许少辉八一著作已收录至成都

4基于pytorch的蚁群算法求解TSP(旅行商问题),访问一座城市并回到最初位置的最佳路径,解决组合中的NP问题。程序已调通,替换自己的数据可以直接运行。

基于pytorch的蚁群算法求解TSP(旅行商问题),访问一座城市并回到最初位置的最佳路径,解决组合中的NP问题。程序已调通,替换自己的数据可以直接运行。 4pytorchTSP路径优化 (xiaohongs4pytorchTSP路径优化 (xiaohongshu.com)4pytorchTSP路径优化…

Vim的基础操作

前言 本文将向您介绍关于vim的基础操作 基础操作 在讲配置之前,我们可以新建一个文件 .vimrc,并用vim打开在里面输入set nu 先给界面加上行数,然后shift ;输入wq退出 默认打开:命令模式 在命令模式中&#xff1a…

TCP详解之三次握手和四次挥手

TCP详解之三次握手和四次挥手 1. TCP基本认识 1.1 什么是 TCP TCP是面向连接的、可靠的、基于字节流的传输层通信协议。 1.2 TCP协议段格式 我们先来看看TCP首部协议的格式 我们先来介绍一些与本文关联比较大的字段,其他字段不做详细阐述。 序列号&#xff1a…

基于SSM框架的《超市订单管理系统》Web项目开发(第二天)完成登录模块和用户退出模块

《超市订单管理系统》(第二天) 基于SSM框架的Web项目开发 ​ 昨天我们实现了登录功能,但是用的是模拟数据。今天我们要链接数据库整合SpirngMybatis,读取数据库中的真实数据,用来跟我们输入的userCode和userPassword进…

制作立体图像实用软件:3DMasterKit 10.7 Crack

3DMasterKit 软件专为创建具有逼真 3D 和运动效果的光栅图片而设计:翻转、动画、变形和缩放。 打印机、广告工作室、摄影工作室和摄影师将发现 3DMasterKit 是一种有用且经济高效的解决方案,可将其业务扩展到新的维度,提高生成的 3D 图像和光…

Git - Git Merge VS Git Rebase

文章目录 概述Flow View小结 概述 Git merge和Git rebase是两种不同的版本控制工作流程,它们用于将一个分支的更改合并到另一个分支。它们有不同的工作原理和应用场景,下面是它们的主要区别: 合并的方式: Git Merge:合…

用c++实现五子棋小游戏

五子棋是一款经典小游戏,今天我们就用c实现简单的五子棋小游戏 目录 用到的算法: 思路分析 定义变量 开始写代码 完整代码 结果图: 用到的算法: 合法移动的判断:isValidMove 函数通过检查指定位置是否在棋盘范…

基于matlab实现的 BPSK调制AWGN通道未编码数据误码率程序

完整程序: clear; close all; clc; c0; rate1; %Code rate N10000000; %Number of bits for EbNoc0:1:10 %Ratio of bit energy to no…

Stream流处理快速上手最佳实践 | 京东物流技术团队

一 引言 JAVA1.8得益于Lambda所带来的函数式编程,引入了一个全新的Stream流概念Stream流式思想类似于工厂车间的“生产流水线”,Stream流不是一种数据结构,不保存数据,而是对数据进行加工处理。Stream可以看作是流水线上的一个工…

【基础篇】ClickHouse 表引擎详解

文章目录 0. 引言1. 什么是表引擎2. 不同表引擎使用场景1. MergeTree:2. Log:3. Memory:4. Distributed:5. Kafka:6. MaterializedView:7. File和URL: 3. MergeTree 家族3.1. MergeTree:3.2. ReplacingMergeTree:3.3. SummingMergeTree:3.4. AggregatingMergeTree:3.5. Collaps…

【AI】机器学习——感知机

文章目录 4.1 感知机基本概念4.2 策略4.2.1 数据集的线性可分性4.2.2 学习策略目标损失函数的构造关于距离的解释 4.3 算法4.3.1 原始形式损失函数的梯度下降法 4.3.2 PLA例题4.3.3 算法收敛性 4.4 PLA对偶形式4.4.1 原始PLA分析4.4.2 PLA对偶形式4.4.3 优点 4.1 感知机基本概念…

office mac苹果办公软件安装包安装教程详解

软件下载 软件:mac office版本:2021语言:简体中文大小:4.27G安装环境:mac硬件要求:CPU2.0GHz 内存4G(或更高)下载通道 百度网盘 https://pan.baidu.com/s/1WGSB-icELUxweFkI8iIbzA 首先&#…

什么是JavaScript的事件驱动编程(event-driven programming)?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 事件(Event)⭐ 事件监听器(Event Listener)⭐ 回调函数(Callback Function)⭐ 非阻塞和异步⭐ 事件循环(Event Loop)⭐ 触发事件(…

知识竞赛活动舞台搭建需要多少钱

知识竞赛活动舞台搭建的费用会根据不同的竞赛活动规模和要求而有所不同。对于小型的知识竞赛活动,如学校内部组织的知识竞赛或社区的知识竞赛活动,舞台搭建的费用往往相对较低。在这种情况下,可能只需要一些简单的装饰和道具,例如…

【C++进阶】:哈希(一)

哈希 一.unordered_map二.底层结构1.哈希概念2.解决哈希冲突1.闭散列2.开散列 在C98中,STL提供了底层为红黑树结构的一系列关联式容器,在查询时效率可达到 l o g 2 N log_2N log2​N,即最差情况下需要比较红黑树的高度次,当树中的…

Linux:基础开发工具之yum,vim,gcc的使用

文章目录 yumvimgcc 本篇主要总结的是Linux下开发工具 yumvimgcc/g yum 什么是yum? 不管是在手机移动端还是pc端,不管是什么操作系统,当用户想要下载一些内容或者工具的时候,都需要到一个特定的位置进行下载,例如在…

初识Java 9-2 内部类

目录 为什么需要内部类 闭包和回调 内部类和控制框架 继承内部类 内部类的重写(并不能) 局部内部类 内部类标识符 本笔记参考自: 《On Java 中文版》 为什么需要内部类 在一些情况下,我们无法享受接口带来的便利&#xff0…