软件测试相关内容第二弹--软件测相关概念

学习完这部分内容后,可以掌握测试相关基础概念,掌握常见的开发模型、测试模型。

主要进行四个部分内容的学习:需求、bug、测试用例、开发模型和测试模型。

目录

1. 什么是需求

1.1   需求的定义

1.2 为什么有需求

1.3 测试人员眼里的需求

1.4 如何深入了解需求

2. 测试用例

2.1 什么是测试用例

2.2 为什么要有测试用例

3. BUG

4. 软件生命周期

5. 开发模型

5.1 瀑布模型

5.2 螺旋模型

5.3 增量,迭代

5.4 敏捷

5.4.1 scrum里面的角色

5.4.2 scrum的基本流程

6. 测试模型

6.1 软件测试V模型

6.2 软件测试W模型


1. 什么是需求

1.1   需求的定义

用户需求:可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成的任务,该需求一般比较简略。

软件需求:或者叫功能需求,该需求会详细描述开发人员必须实现的软件功能。

大多数公司在进行软件开发的时候会把用户需求转化为软件需求,开发人员和测试人员工作的直接依据就是软件需求。开发人员和测试人员的直接依据就是软件需求。PM(产品经理)

软件需求是谁写的?开发一个产品,或者测试一个产品,需要拿着软件需求进行测试/开发,拿着用户需求进行开发/测试。

用户需求就是一句话,软件需求是一个文档(详细描述用户需求如何实现),日常工作中我们通常是用软件需求进行开发测试。

1.2 为什么有需求

软件需求是测试人员进行测试工作的基本依据。

1.3 测试人员眼里的需求

以“用户登录”为例,阐述整个过程

1.4 如何深入了解需求

测试工程师在需求分析和设计阶段就开始介入,因为这个阶段是理解和掌握软件的原始业务需求的最好时机。

只有真正理解了原始业务需求后,才有可能从业务的角度去设计针对性明确,从终端用户的使用场景到端到端的覆盖率较高的测试用例集。

2. 测试用例

2.1 什么是测试用例

测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。

以QQ登录为例

测试环境:windows系统+Chrome浏览器+本地

测试数据:账号+密码

操作步骤:输入账号、输入密码、点击登录

预期结果:登录成功

2.2 为什么要有测试用例

(1)测试用例提高测试人员工作效率,降低测试人员工作的重复性问题

(2)测试用例是建立自动化的基础(自动化就是把测试人员双手解放,让代码代替人员执行测试)

3. BUG

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

当需求规格说明没有提到的功能,判断标准以最终用户为准:当程序没有实现其最终用户合理预期的功能要求时,就是软件错误。

4. 软件生命周期

人的生命周期:从出生到死亡

软件的生命周期是指从软件产品的设想开始到软件不再使用而结束的时间,如果把软件看成是有生命的事物,那么软件的生命周期可以分为六个阶段:

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

5. 开发模型

5.1 瀑布模型

特点:线性的

优点:每个阶段做什么,产出什么非常明确。

缺点:风险往往是最后才会显露,因而失去早纠正的机会。

适用项目:小型项目。

5.2 螺旋模型

优点:每个阶段都会进行风险分析,避免一些线上问题的发生。

缺点:风险分析可能分析错,需要人力财力的投入。

适用项目:较大的、风险较多的项目。

5.3 增量,迭代

增量:开发一个系统,登录开发完成--创建课程--上课模块

迭代:开发一个系统,登录开发一部分--创建课程开发一部分--上课模块开发一部分

5.4 敏捷

个体与交互重于过程和工具

可用的软件重于完备的文档

客户协作重于合作谈判

响应变化重于遵循计划

敏捷开发有多种方式,其中scrum是比较流行的一种

5.4.1 scrum里面的角色

product owner(产品经理)、scrum master(项目经理)和team(研发团队)组成

5.4.2 scrum的基本流程

6. 测试模型

6.1 软件测试V模型

特点:左边开发,右边测试,类似于瀑布模型

优点:测试被划分为多种类型

缺点:测试人员介入太晚,发现问题时机太晚

6.2 软件测试W模型

特点:开发一个V,测试一个V。

优点:测试人员尽早介入了需求

缺点:测试人员和开发人员一定程度上还是串行的,不能拥抱变化且不适用于敏捷。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ElementUI Form:Switch 开关

ElementUI安装与使用指南 Switch 开关 点击下载learnelementuispringboot项目源码 效果图 el-switch.vue 页面效果图 项目里el-switch.vue代码 <script> export default {name: el_switch,data() {return {value: true,value1: true,value2: true,value3: 100,value…

Nginx 部署指定文件夹下的项目(本地测试)

1、配置 vue.config.js&#xff0c;指定生成环境的包 //部署生产环境和开发环境下的URLpublicPath: process.env.NODE_ENV production ? "/marketing" : "/",///npm run build 或 varn build 生成文件的日录名称(要利baseUrl的牛产环境路一致)(默认dist…

三、Redis之数据类型

3.1 Key操作 3.1.1 相关命令 序号命令语法描述1DEL key该命令用于在 key 存在时删除 key2DUMP key序列化给定 key &#xff0c;并返回被序列化的值3EXISTS key检查给定 key 是否存在&#xff0c;存在返回1&#xff0c;否则返回04EXPIRE key seconds为给定 key 设置过期时间&a…

Redis简单阐述、安装配置及远程访问

目录 一、Redis简介 1.什么是Redis 2.特点 3.优势 4.数据库对比 5.应用场景 二、 安装与配置 1.下载 2.上传解压 3.安装gcc 4.编译 5.查看安装目录 6.后端启动 7.测试 8.系统服务配置 三、Redis远程访问 1.修改访问IP地址 2.设置登录密码 3.重启Redis服务 …

二次元插画风生图咒语

中文&#xff1a;一个可爱的卡通女孩穿着漂亮的毛衣&#xff0c;抱着一只可爱的小狗&#xff0c;全身&#xff0c;白色背景&#xff0c;粉色和蓝色&#xff0c;基思哈林风格的涂鸦&#xff0c;Sharpie插图&#xff0c;MBE插图&#xff0c;粗体线条&#xff0c;垃圾美风格&#…

Verdi简介

3.1.1 Verdi的历史 相信做IC验证的朋友或多或少都使用过VCS和Verdi这两个工具&#xff0c;这两个工具目前都属于synopsys公司&#xff0c;但是Verdi的来源可谓一路坎坷。 Verdi最开始是由novas公司设计的&#xff0c;在2008年&#xff0c;被台湾的EDA厂家springsoft&#xff08…

MySQL基础知识(二)

MySQL基础知识&#xff08;二&#xff09; 一、MySQL简介 MySQL 是一个关系型数据库管理系统&#xff0c; 由瑞典 MySQL AB 公司开 发&#xff0c; 目前属于 Oracle 公司。MySQL 是一种关系型数据库管理系 统&#xff0c;关系型数据库将数据保存在不同的表 中&#xff0c;而…

微信小程序如何实现实时显示输入内容

如下所示&#xff0c;在许多场景中需要实时显示用户输入&#xff0c;具体实现见下文。 .wxml <input type"text" placeholder"请输入{{item.value}}(必填)" style"width:80%;" bindinput"get_required_value" data-info"{{it…

壹[1],Xamarin开发

1&#xff0c;环境 VS2022 注&#xff1a; 1&#xff0c;本来计划使用AndroidStudio&#xff0c;但是也是一堆莫名的配置让人搞得很神伤&#xff0c;还是回归C#。 2&#xff0c;MAUI操作类似&#xff0c;但是很多错误解来解去&#xff0c;且调试起来很卡。 3&#xff0c;最…

LeetCode —— 137. 只出现一次的数字 II

&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️Take your time ! &#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️…

C++类和对象(中)六个默认成员函数

&#x1f308;类的六个默认成员函数 任何一个类&#xff0c;不管是否为空&#xff0c;都会在生成的时候默认调用六个成员函数&#xff0c;这些成员函数可以自动生成&#xff0c;也可以由程序员写出。这六个默认成员函数分别是&#xff1a; 最主要的是前四个&#xff1a; 初始…

DDD学习使用

简介 DDD(Domain-Driven Design)&#xff1a;领域驱动设计。 Eric Evans “领域驱动设计之父” DDD不是架构&#xff0c;而是一种方法论&#xff08;Methodology&#xff09;微服务架构从一出来就没有很好的理论支撑如何合理的划分服务边界&#xff0c;人们常常为服务要划分多…

6.3 内存池模式

Bruce Powel Douglass大师介绍-CSDN博客https://blog.csdn.net/ChatCoding/article/details/134665868嵌入式软件开发从小工到专家-CSDN博客https://blog.csdn.net/ChatCoding/article/details/135297955C嵌入式编程设计模式源码-CSDN博客https://blog.csdn.net/ChatCoding/art…

Android 基础技术——Handler

笔者希望做一个系列&#xff0c;整理 Android 基础技术&#xff0c;本章是关于 Handler 为什么一个线程对应一个Looper&#xff1f; 核心&#xff1a;通过ThreadLocal保证 Looper.prepare的时候&#xff0c;ThreadLocal.get如果不空报异常&#xff1b;否则调用ThreadLocal.set,…

2、趋势Trend (copy)

利用移动平均数和时间虚拟模型对长期变化进行建模。 文章目录 1、什么是趋势?2、移动平均图3、工程趋势4、示例 - 隧道交通1、什么是趋势? 时间序列的趋势组成部分代表了序列均值的持久、长期变化。趋势是序列中变化最慢的部分,代表了最重要的大时间尺度。在产品销售的时间…

Unity中使用Ultraleap的Slider组件

Unity中使用Ultraleap的Slider组件&#xff0c;实现物体在指定范围内滑动&#xff1a; 本节在上一节基础上进行&#xff0c;上一小结参考如下&#xff1a; Unity中使用Ultraleap的InteractionButton组件 本节工程文件如下&#xff1a; Unity中使用Ultraleap的Slider组件 1、在…

【Algorithms 4】算法(第4版)学习笔记 02 - 1.4 算法分析

文章目录 前言参考目录学习笔记1&#xff1a;科学方法2&#xff1a;观察举例&#xff1a;三数之和3&#xff1a;近似4&#xff1a;增长数量级4.1&#xff1a;二分查找 demo4.2&#xff1a;二分查找代码实现4.3&#xff1a;二分查找比较次数的证明&#xff08;比较次数最多为lgN…

MYSQL的配置和安装

下载安装 打开官网 MYSQL官网 点击DOWNLOADS 滑到最低下点击&#xff1a;MYSQL Community(GPL) Downlads 点击Download Archives 点击MySQL Community Server进入网站 选择相应版本下载&#xff0c;这里选择的是5.7.24版本,x86 64位【按需选择】 下载解压 配置文件…

H5022B降压恒流芯片 内置MOS PWM调光 高性价比 支持48V 60V 80V 100V

内置MOSFET的100V降压恒流芯片是一种能够将高输入电压降低到稳定的输出电流的降压稳流器。以下是其基本工作原理&#xff1a; 输入电压检测&#xff1a;芯片首先检测输入电压&#xff0c;即来自电源的100V。这涉及使用电压检测电路&#xff0c;以确保输入电压在可接受范围内。…

springboot 怎么设置局域网访问

如何配置Spring Boot应用以实现局域网访问 在开发一个Spring Boot应用时&#xff0c;我们通常会通过localhost来访问和测试我们的应用。但是&#xff0c;当我们想要在局域网中分享我们的应用&#xff0c;供其他设备访问时&#xff0c;仅仅使用localhost是不够的。本文将引导你…