《测试开发》测试启蒙

news2024/12/23 9:37:30

文章目录

  • 测试是什么
    • 调试和测试的区别
  • 什么是需求
    • 需求的定义
    • 需求的特征
    • 测试人员眼里的需求是什么
    • 如何深入了解需求
  • 测试用例
    • 什么是测试用例
    • 为什么有测试用例
  • bug
    • 如何描述一个bug
    • 如何定义bug的级别
    • bug的生命周期
  • 软件测试的生命周期


👑作者主页:Java冰激凌
📖专栏链接:测试


测试是什么

我们生活中的测试其实无处不在 做核酸就是为了测试自己是否变成了小阳人~ 考试 就是为了测试自己的平时学习的咋样 还有很多 例如接热水 你要测试这个水是否是热水 即使你去使用眼看水蒸气 也是测试的过程 ……
总结来说 测试是为发现错误而执行一个程序或者系统的过程

调试和测试的区别

我们写代码过程中不免出现一些错误 此时我们可以借助调试来查看程序运行从而寻找代码bug 那么测试和调试又有什么区别呢?
目的:

调试:发现并解决软件中的缺陷
测试:发现软件中的缺陷

参与角色:

调试:开发人员(研发人员)
测试:测试人员、开发人员等

执行阶段不同:

调试:编码阶段
测试:贯穿软件的整个生命周期


什么是需求

测试需求主要解决“测试什么”,即指明被测对象中什么需要测试
需求测试通常是以软件开发需求为基础的分析,通过对需求的细分化和分解,形成可测试的内容。

需求的定义

用户需求 :可以简单理解为甲方提出的需求
软件需求 :功能需求
我们也要明确 用户需求就是一句话 软件需求是一个文档 软件需求的文档是根据用户需求制作出来的

需求的特征

制定的测试需求项必须是可核实的 它们必须有一个可观察、可评测的结果 无法核实的需求不是测试需求
测试需求应指明满足需求的正常的前置条件 同时也要指明不满足需求时的出错条件

测试人员眼里的需求是什么

在这里插入图片描述
测试人员眼中是根据需求文档进行演变 以及转化 分析出业务需求 软件功能需求 测试所需点 测试用例来进行测试的

如何深入了解需求

一般来说会通过参加需求评审会议 还有查阅文档 以及沟通


测试用例

测试用例 在测试人员中通常称位case

什么是测试用例

测试用例是一组集合 测试环境 测试数据 预期结果 操作步骤

为什么有测试用例

  1. 测试用例有利于提高测试人员工作效率 / 可以降低测试人员工作的重复性
  2. 测试用例是后期建立自动化的基础

因为测试用例是无穷无尽的 测试人员不能做到所有的都测试 并且 如果同样一百份测试用例 两个人想出来的 是大概率有一部分重复的 所以此时 就需要做出一个测试文档出来 将测试用例分配给两个测试人员 所以如果可以避免重复性
并且 如果建立起来一定数量的测试用例 根据测试点就可以编写自动化测试的工具 使用自动化测试工作可以大大提升效率 尤其是那种需要一直点点点的工作


bug

当且仅当规格说明是存在并且正确 程序与规格之间不匹配才是错误的

如何描述一个bug

  1. 发现问题的版本
    开发人员需要问题知道的版本 才能获取对应版本的代码来重现故障 并且版本的标识也有利于统计和分析每个版本的质量
  2. 问题出现的环境
    环境分为硬件环境和软件环境 如果是web项目 那么就需要描述浏览器的版本 操作系统等 如果是app项目 需要描述机型 分辨率 操作系统等 详细的环境描述有利于故障的定位与记录
  3. 错误重现的步骤
    描述问题出现的最短步骤(需要有一定的测试经验以及代码研发能力)
  4. 预期行为描述
    要站在用户的角度来描述程序的行为是怎样的 如果是依据需求提出的故障 能写明需求来源是最好 的
  5. 错误行为的描述
    描述错误的现象 crash等可以上传log UI问题可以截图
  6. 其他
    故障分析 、 功能故障 、 界面故障 、兼容性故障等 有些比较严重的bug严重影响后续的测试 所以就需要开发人员优先来进行修复
  7. 不把多个bug放一起
    在无法确定bug是同一个代码造成的故障时 不要将bug放在一起提交

如何定义bug的级别

  1. Blocker(崩溃)
  2. Criticcal(严重)
  3. Major(一般)
  4. Minor(次要)

理解这些bug的级别也是很简单的 我们把视角转变到女盆友身上 (什么?你告诉我你没有? Java new一个 )首先我们都知道 男人本色 对于男友看美女来说 这个级别为Minor(次要)看看美女其实没有特别的严重 跪键盘就好了 ~
男友跟别的女人单独去吃饭 这个级别为Major(一般)揍一顿其实也没啥 男友跟其他女人搞暧昧 这个级别为Critical(严重)这个就非常的严重了 是属于一件令人很崩溃的事情 男友出轨了 这个级别为Blocker(崩溃)OMG 这个是一件令人崩溃的事情 已经 没有继续过下去的必要了

如果发现崩溃级别的BUG 那么此时就需要停止测试 测试打回

bug的生命周期

在这里插入图片描述

● New:新发现的Bug,未经评审决定是否指派给开发人员进行修改。
● Open:确认是Bug,并且认为需要进行修改,指派给相应的开发人员。
● Fixed:开发人员进行修改后标识成修改状态,有待测试人员的回归测试验证。
● Rejected:如果认为不是Bug,则拒绝修改。
● Delay:如果认为暂时不需要修改或暂时不能修改,则延后修改。
● Closed:修改状态的Bug经测试人员的回归测斌验证通过,则关闭Bug。
● Reopen:如果经验证Bug仍然存在,则需要重新打开Bug,开发人员重新修改。
无效的bug:open->closed open-rejected-closed


软件测试的生命周期

需求分析 -> 计划 -> 设计 ->编码 ->测试 ->运行维护

  • 需求阶段
    测试人员了解需求 对需求进行分析 得出测试需求
  • 计划阶段
    根据需求编写测试用例/测试方案
  • 设计阶段
    测试人员适当的了解设计 对于设计测试用例是很有帮助的 测试人员搭建搭建测试用例框架 根据需求和设计编写一部分测试用例
  • 编码阶段
    测试人员一般是不会去关注编码的 但已经编码的模块 白盒测试人员可以计划执行单元测试、完善、细化测试用例以及调整测试计划和方案
  • 测试阶段
    测试阶段是测试人员最为重要的工作阶段 根据测试用例和计划执行测试 在执行过程中记录、管理缺陷 并在测试完成后编写测试报告
  • 运行维护
    测试人员需要参与项目的实施工作 测试人员对于项目产品的业务和了解操作非常了解 所以测试人员可以参与用户使用软件的培训 在试运行项目时收集问题并进行反馈
    并且 不单单是只要项目上线测试人员的工作就结束了 我们刚开始提到了 测试贯穿软件的整个生命周期

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

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

相关文章

理解神经网络的注意力机制(Attention)及PyTorch 实现

刚刚结束的 2022 年对于人工智能的许多进步来说是不可思议的一年。最近 AI 中的大多数著名地标都是由称为变形金刚的特定类别模型驱动的,无论是 chatGPT 的令人难以置信的进步,它席卷了世界,还是稳定的扩散,它为您的智能手机带来了类似科幻小说的功能。即使是 Tesla 的自动…

100种思维模型之联脑破界思维模型-64

前面我们分享过破界思维模型,即要不断打破固有认知边界,用变化的眼光看待一切事物的思维模型。 今天我们介绍一个破界方法的思维模型,一个告诉我们可通过联脑学习,打破独立大脑带来边界的思维模型。 01、何谓联脑破界思维模型 一…

crow-han(基于go-micro框架的微服务脚手架)-01-快速启动(简介、快速启动、接口测试)

文章目录 1. 简介1.1 包含内容1.2 swagger展示 2. 快速启动2.1 下载2.2 环境变量配置2.3 goland配置2.5 启动2.6 查看结果 3. swagger 接口测试3.1 url3.2 认证3.2.1 获取token3.2.2 Bearer 认证 3.3 测试接口(已创建用户为例) 1. 简介 一个基于go-micr…

测试4年,跳槽一次涨8k,我跳了3次···

最近有人说,现在测试岗位初始工资太低了,有些刚刚入行的程序员朋友说自己工资连5位数都没有.....干了好几年也没怎么涨。看看别人动辄月薪2-3万,其实我想说也没那么难。说下如何高效地拿到3w。 1.暂且把刚入行的条件设低些吧,大专…

大模型综述来了!一文带你理清全球AI巨头的大模型进化史

夕小瑶科技说 原创 作者 | 小戏,Python 如果自己是一个大模型的小白,第一眼看到 GPT、PaLm、LLaMA 这些单词的怪异组合会作何感想?假如再往深里入门,又看到 BERT、BART、RoBERTa、ELMo 这些奇奇怪怪的词一个接一个蹦出来&#xf…

python list 逆序的方法

在 Python中,使用 list作为基本的数据类型是非常方便的,也是 Python中最常见的数据结构之一。那么对于 list进行逆序操作时,我们应该怎么做呢?下面就一起来看看吧。 首先要注意,在使用 list逆序时,它会自动…

【Java】EasyExecl数据导入

【Java】EasyExecl数据导入 📔 千寻简笔记介绍 千寻简笔记已开源,Gitee与GitHub搜索chihiro-notes,包含笔记源文件.md,以及PDF版本方便阅读,且是用了精美主题,阅读体验更佳,如果文章对你有帮助…

视频格式、视频方式区别、一个视频播放的全过程

一:直播和点播的区别及有的格式 1:视频直播的播放内容是媒体直播流的形式,不存在物理文件,视频画面和声音信息都是实时采集、传输和播放的。如果没有录制模块,视频画面和声音播放完毕就消失了,不能提供二次…

并行分布式计算 并行计算性能评测

文章目录 并行分布式计算 并行计算性能评测基本性能指标参数CPU 基本性能指标存储器性能并行与存储开销 加速比性能定律Amdahl 定律Gustafson 定律Sun 和 Ni 定律加速比讨论 可括放性评测标准等效率度量标准等速度度量标准平均延迟度量标准 基准评测程序(Benchmark&…

甘特图控件DHTMLX Gantt入门使用教程【引入】:用Node.js实现Gantt(下)

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的大部分开发需求,具备完善的甘特图图表库,功能强大,价格便宜,提供丰富而灵活的JavaScript API接口,与各种服务器端技术&am…

Linux多路转接之select

文章目录 一、IO的理解二、五种IO模型1.阻塞式IO2.非阻塞式IO3.信号驱动式IO4.IO多路转接5.异步IO6.五种IO模型的总结 三、非阻塞式IO1.fcntl函数 四、IO多路转接之select的介绍五、编写select服务器1.将获取连接时设置为select多路转接2.获取连接成功后的读取数据 六、select多…

商家订单之Java版SpringCloud+SpringBoot+Mybatis+Vue+Uniapp 分布式、微服务、多商家入驻b2b2c电子商务云平台

一个好的SpringCloudSpringBoot b2b2c 电子商务平台涉及哪些技术、运营方案?以下是我结合公司的产品做的总结,希望可以帮助到大家! 搜索体验小程序:海哇 1. 涉及平台 平台管理、商家端(PC端、手机端)、买…

linu0.12-9-blk_drv

[394页] 第9章 块设备驱动程序 395–9-1-总体功能 395–9-1-1-块设备请求项和请求队列 397–9-1-2-块设备访问调度处理 397–9-1-3-块设备操作方式 398–9-2-blk.h文件 398–9-2-1-功能描述 399–9-2-2-代码注释 403–9-3-hd.c程序 403–9-3-1-功能描述 405–9-3-2-代码注释…

离散数学_九章:关系(6)

🪐9.6 偏序 1、⛺偏序关系和偏序集⛲偏序关系⛲偏序(关系)的例子 a. “大于或等于” 关系b. “整除” 关系c. “包含” 关系 🎬偏序集🎬可比性(comparability) " ≼ " 符号a. 可比 &a…

【工具】如何判断两个二进制文件是否相同

🐚作者简介:花神庙码农(专注于Linux、WLAN、TCP/IP、Python等技术方向)🐳博客主页:花神庙码农 ,地址:https://blog.csdn.net/qxhgd🌐系列专栏:善假于物&#…

wx自定义组件

自定义组件的意义: 提供一系列的样式,,通用的样式提供一系列的骨架,,通用标签避免重复写一些业务逻辑 小程序自定义组件中 : slot : 修改组件内容 外部样式类: 修改组件样式 slot…

案例7:Java茶叶销售网站设计与实现开题报告

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

手术麻醉信息管理系统源码(简称手麻系统源码)php + mysql + vue2 B/S网页版

手术麻醉信息管理系统源码(简称手麻系统源码) 手术麻醉信息管理系统(简称手麻系统)是指专用于住院患者手术与麻醉的申请、审批、安排,术前、术中和术后有关信息的记录和跟踪以及手术麻醉室内部管理等功能的计算机应用…

Lucene中的Field域、索引维护、搜索、相关度排序和中文分词器讲解

Field域 Field属性 Field是文档中的域,包括Field名和Field值两部分,一个文档可以包括多个Field,Document只是Field的一个承载体,Field值即为要索引的内容,也是要搜索的内容。 是否分词(tokenized) 是:作…