软件测试基础概念

什么是需求

什么是需求?简单来说就是我想吃饭,这件事就是我的需求,我不想上课,这也是我的需求。对于软件测试来说,需求可以分为用户需求和软件需求。

用户需求 

用户需求简单可以理解为甲方提出的要求,如果没有甲方,那么用户需求就是使用的用户需要满足的需求。

软件需求 

软件需求是从用户需求转化而来的,一般由公司相关部门进行软件需求的整理,开发人员和测试人员进行工作的主要依据就是来自于软件需求。

需求的重要性

对于开发和测试人员来说,软件需求应该是进行开发和测试的重要资料,对于测试人员来说,软件需求决定了测试用例的覆盖率,并且软件需求的信息可以让我们对于一些测试用例的编写可以使用合适的方法来进行相关测试用例的设计。

如何了解需求

参加评审会议,查阅文档(需求文档,技术文档),沟通交流(找产品了解详情,找开发了解软件的实现) 

什么是测试用例 

测试用例是为了达到某个目的设计出的一组测试输入,执行条件和预期结果的一个集合,其主要目的还是为了测试软件是否满足需求。

测试用例主要解决了测什么和怎么测的两大问题。

什么是软件错误(BUG) 

软件错误也就是我们说的BUG,软件错误可以是程序执行出不符合预期结果的结果,也可以是没有满足设计需求

软件的生命周期

软件的生命周期指的是软件从开发到最终停止使用的这个过程,其中包含以下几个阶段:

1、需求分析和规划

在这一阶段了解客户需求和软件功能等等,制定相应的计划和时间表

2、设计和编码

在这一阶段,开发人员根据需求进行软件的设计和编码

3、测试和验证

在这一阶段开发团队需要对软件进行相关的测试和验证,确保软件的功能满足客户的需求,以及最终的结果能够符合预期。 

4、部署和维护

在这一阶段开发团队将软件部署到生产环境中,并进行定期的更新和维护

5、退役和回收

在这一阶段开发团队将软件从生产环境中移除,并进行相应的回收操作。

开发模型和测试模型

瀑布模型 

瀑布模型是一种线性的开发模型,按照开发的先后顺序进行开发,只有前一个阶段完成后,才会进行下一个阶段。这种模型的优点是可控性高,每个阶段都有明确的目标和输出,缺点就是开发周期长,成本高,适应能力差。

 

V模型

V模型是瀑布模型的变种,它更注重测试的方面,在编码之后进行测试,缺点是没有在需求阶段进入测试。

 

螺旋模型 

螺旋模式是一种渐进式的模型,比较适合那种开发初期需求不是很明确的情况和适合规模大,风险高,复杂度高的项目,这是一种开发和测试迭代进行的模型。 

 

迭代和增量

增量模型又称演化模型,其实就是将系统模块化,每个模块都作为一个增量组件往原型上面加,最后做成一个成品。

 

增量是逐块建造的概念,例如画一幅人物画,我 们可以先画人的头部,再画身体,再画手脚……而迭代是反复求精的概念,同样是画人物画,我们可以 采用先画整体轮廓,再勾勒出基本雏形,再细化、着色。 

W模型 

W模型中有两个V模型,一个是开发的,一个是测试的,开发和测试并行 

 

优点:测试开发并行,有利于尽早发现问题

缺点:并行中存在串行,如需求,设计,编码都是串行的,是线性关系,前一阶段没有完成,就不能进行后续操作,无法支持敏捷开发模型。

敏捷开发模型 

敏捷开发模型也是迭代的,比较流行的方式有scrum 

在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征 

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

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

相关文章

git基础教程(linux)

1.git简介 git 分布式版本控制 git两大特点: 版本控制:支持多人同时开发 分布式: 2.安装与配置 安装 sudo apt-get install git安装成功,运行如下命令: git3.创建一个版本库 (1)新建一个目录git_test&#xff0c…

zabbix服务部署

文章目录 zabbix1 zabbix简介1.1 组成部件1.2 监控原理1.3 Zabbix 6.0新特性1.4 Zabbix6.0功能组件1.4.1 Zabbix Server1.4.2 数据库1.4.3 Web界面1.4.4 Zabbix Agent1.4.5 Zabbix Proxy1.4.6 Java Gateway 2 部署zabbix服务端2.1 部署Nginx2.2 安装PHP2.3 修改Nginx配置2.4 修…

找工作不用愁!送你一份Salesforce顾问面试秘籍(下)(含答案)

作为SaaS行业的先驱,Salesforce的发展一路高歌猛进。在Salesforce生态系统中不仅能学习到最新的技术,而且比其他行业的同岗位享有更高的薪水,这也驱使了越来越多人加入Salesforce大军。 在之前的文章中,自由侠部落为学习者梳理了…

奥威BI-金蝶云星空SaaS版一站式平台:对接数据、做分析

金蝶云星空和BI大数据分析平台都在企业数字化转型中扮演了重要的角色,为企业提供了全面的数字化解决方案和数据分析功能,两者强强联合不仅能提高部署效率,更能增强数据分析、数据可视化效果,帮助企业更好地适应市场变化和用户需求…

Arcgis Pro NDVI(植被指数)导出RGB

在arcgis中计算的NDVI栅格数据,取值范围为-1到1,直接导出JPG或者PNG,会出现导出错误的问题: 导出出错, 设置导出格式为TIFF,然后选中使用渲染器,勾选强制RGB颜色,即可导出你选择的色…

【C++STL】list的反向迭代器

list的反向迭代器 文章目录 list的反向迭代器reverse.h疑问1:为什么在迭代器当中不需要写深拷贝、析构函数疑问2:为什么在迭代器当中需要三个模板参数?疑问3:反向迭代器是怎么实现的?疑问4:为什么*解引用不…

创建UI组件库后上传NPM

上篇已经讲了如何创建自己的组件库,这篇讲怎么上传npm后,可以下载使用 1.首先看下组件的文件结构 在index.js中要写上每个组件可以按需引用的条件 import Button from "./src/button";Button.install function(Vue) {Vue.component(Button.…

Kubernetes 容器类型 Init - pause - sidecar - app容器

目录 Kubernetes 的容器类型 Init 初始化容器 参考文档:Init 容器 | Kubernetes 使用 Init 容器的情况 案例:定义了一个具有 2 个 Init 容器的简单 Pod 你通过运行下面的命令启动 Pod: 发现两个Init容器都没有运行成功 查看更多详细…

Mycat【什么是Mycat、Mycat与其他中间件区别、Mycat应用场景、核心概念详解、Mycat原理】(一)-全面详解(学习总结---从入门到深化)

目录 Mycat概述_什么是Mycat Mycat概述_Mycat与其他中间件区别 Mycat概述_Mycat应用场景 Mycat概念_核心概念详解 Mycat概述_Mycat原理 Mycat部署安装_MySQL主从复制概述 Mycat概述_什么是Mycat 什么是Mycat Mycat是数据库中间件,所谓中间件数据库中间件是连…

Oracle语句优化 (汇总)

大部分写sql语句都是为了实现而实现,如果最后在投入使用的过程中没有很难接受的性能,基本不怎么去考虑其性能。最近刚好有点时间,对优化方面进修进修,以备不时之需。 选择最有效率的表名顺序 Oracle的解析器按照从右到左的顺序处…

欧姆龙以太网口怎么和电脑连接

捷米特JM-ETH-CP以太网通讯处理器用于欧姆龙 CP1L/ CP1E/ CP1H 系列 PLC 的以太网数据采集,捷米特JM-ETH-CP以太网模块不占用 PLC 通讯口,即编程软件/上位机软件通过以太网对 PLC 数据监控的同时,触摸屏可以通过复用接口与 PLC 进行通讯。支持…

MyBatis查询数据库(1)

前言🍭 ❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 经过前⾯的学习咱们 Spring 系列的基本操作已经实现的差不多了&#xff0…