软件测试需求分析

1.1  需求的重要性

1.1.1 软件缺陷的8020原则

1)      在软件测试过程中,从需求分析开始到集成测试阶段引入测试手段,能发现所有缺陷的80%;系统测试阶段引入测试手段,能发现剩余缺陷中80%的缺陷;在运行维护阶段经过长时间、大量运行软件后,能够发现最后剩余的20%的缺陷。

1.2   软件需求

1.2.1  软件需求的定义

1) IEE软件工程标准词汇表( 1997年)中定义需求为:

(1)用户解决问题或达到目标所需的条件或权能( Capability )

(2) 系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。

(3)一种反映上面( 1 )或( 2 )所描述的条件或权能的文档说明。

2)      需求是指明必须实现什么的规格说明。它描述了系统的行为、特性或属性,是在开发过程中对系统的约束软件需求的层次

1.2.2  软件需求的层次

1)      用户需求( user requirement )文档描述了用户使用产品必须要完成的任务,这在使用实例(use case )文档或方案脚本( scenario )说明中予以说明

2)       业务需求( business requirement )反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明

3)       功能需求( functional requirement )定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求

1.2.3  软件需求主要包括两个方面:需求开发和需求管理
1.2.4  需求开发可进一步分为四个阶段
  1. 需求获取阶段
  2. 需求分析阶段
  3. 编写需求规格阶段
  4. 需求验证阶段

1.2.5  不适当的需求过程可能引发风险

用户不多导致产品无法被接受
用户需求的增加带来过度的耗费和降低产品的质量
模棱两可的需求说明可能导致时间的浪费和返工
用户增加一些不必要的特性和开发人员画蛇添足( gold. plating)
过分简略的需求说明以致遗漏某些关键需求
忽略某类用户的需求将导致众多客户的不满
不完善的需求说明使得项目计划和跟踪无法准确进行

1.3   软件需求规格说明书

1.3.1  软件需求规格说明的特点

1)     完整性

不能遗漏任何必要的需求信息。遗漏需求将很难查出。注重用户的任务而不是系统的功能将有助于你避免不完整性。如果知道缺少某项信息,用TBD( "待确定” ) 作为标准标识来标明这项缺漏。在开始开发之前,必须解决需求中所有的TBD项。

2)     一致性

一致性是指与其它软件需求或高层(系统,业务)需求不相矛盾。在开发前必须解决所有需求间的不一 致部分。只有进行一番调查研究 ,才能知道某项需求是否确实正确。

3)     可修改性

  在必要时或为维护每一需求变更历史记录时,应该修订SRS.这就要求每项需求要独立标出,并与别的需求区别开来,从而无二义性。每项需求只应在SRS中出现- -次。 这样更改时易于保持一致性。 另外,使用目录表、索引和相互参照列表方法将使软件需求规格说明更容易修改。

4)    可跟踪性

应能在每项软件需求与它的根源和设计元素、源代码、测试用例之间建立起链接链,这种可跟踪性要求每项需求以-种结构化的,粒度好( fine -grained )的方式编写并单独标明,而不是大段大段的叙述。

1.4   软件测试需求跟踪矩阵

1.4.1  什么是测试需求跟踪矩阵
  1. 需求树的概念
  2. 需求树的好处
  3. 阅读理解各类需求
  4. 结合界面原型图理解软件各部分功能
  5. 从叶级别的功能点开始编写矩阵
  6. 保证每个功能点都有正反测试思路覆盖,正反测试配比达到1 : 4(部分功能点没有反向测试)
  7. 只写清测试思路和预期结果,不用具体展开
  8. 写好的测试需求跟踪矩阵必须通过评审才算最终完成
1.4.2  编写测试需求跟踪矩阵的步骤

1.5   软件测试需求

1.5.1  软件测试需求分析目标

对软件测试要解决的问题进行详细的分析,弄清楚参与软件测试活动的相关人员对软件测试活动和交付物的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么等。

1.5.2  软件测试需求分析步骤
  1. 根据软件开发需求说明书逐条列出软件开发需求,并判断其可测试性
  2. 形成可测试的描述并界定出测试范围
  3. 根据质量标准,逐条制定质量需求,即测试通过标准
  4. 分析测试执行时需要实施的测试类型
  5. 建立测试需求跟踪矩阵,并输入测试需求管理系统,对测试需求实施严格有效的管理

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

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

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

相关文章

HTTP 常见的请求头

面试官:说说 HTTP 常见的请求头有哪些? 作用? 一、是什么 HTTP头字段(HTTP header fields),是指在超文本传输协议(HTTP)的请求和响应消息中的消息头部分 它们定义了一个超文本传输协议事务中的操作参数 …

为什么说MES管理系统是车间层与管理层的桥梁

随着制造业的快速发展,企业对于生产过程中的管理要求越来越高。为了满足这一需求,MES生产管理系统应运而生。MES管理系统作为车间层与管理层之间的桥梁,扮演着至关重要的角色。本文将探讨为什么说MES管理系统是车间层与管理层之间的桥梁。 一…

安装宝塔,使用宝塔自动部署

这里用的是华为云服务器,其实也就是普普通通的一个linux操作系统 首先我们来到宝塔官网地址 宝塔面板下载,免费全能的服务器运维软件 (bt.cn) 翻到下面,会有使用脚本安装的命令。 yum install -y wget && wget -O install.sh https:/…

[已解决]使用order by 排序后的是10 6 7 8 9 而不是 6 7 8 9 10?

问题 sql order by 排序后的为什么 是10 6 7 8 9 而不是 6 7 8 9 10? 思路 在 SQL 中,ORDER BY 默认的排序方式是升序(从小到大)。所以,如果您简单地使用 ORDER BY 对某个列进行排序,它会将数字按照升序排列&#…

sCrypt Playground 发布

sCrypt Playground 发布了。 与桌面IDE 完全相同的功能,但是无需安装。体验地址: https://playground.scrypt.io。 请不要在 sCrypt Playground 上存储重要数据。我们会不定时清除用户保存在其上的数据。

Java的类与Golang的结构体的区别

Java作为一门面向对象(OOP)的编程语言,它有类(class)的存在,而对于Golang,它不完全遵从OOP编程语言的设计思想,但它也有类似Java类的结构存在,那就是结构体(s…

银行数据中心机房动力环境监控系统设计与优化

安科瑞电气股份有限公司 上海嘉定201801 摘要:结合银行数据中心建设项目,设计银行数据中心机房动力环境监控系统,分析银行数据中心机房监控对象、搭建系统监控架构,给出监控实现方法,*后针对运行一段时间出现的问题&a…

第3关:集合操作100

任务描述相关知识编程要求测试说明 任务描述 本关任务:使用 集合操作解决实际问题 相关知识 1.集合并操作符 可转换为SQL 若R,S的属性名不同,可使用重命名使相应列名一致后进行并操作 例如:R(A,B,C) S(D,E,F) select A,B from R union sel…

TikTok对文化艺术的影响:传统与现代的碰撞

在这个数字时代,社交媒体平台不仅改变了我们的社交方式,也对文化和艺术产生了深远的影响。其中,TikTok是一个备受欢迎的应用,已成为传统与现代文化艺术交汇的独特平台。本文将深入探讨TikTok对文化艺术的影响,以及传统…

java成员等讲解

一个源文件只有一个public类 如何调用是这个 类里面有全局用类名调用(或者对象),非全局要新一个对象来调用 class Quanjv{public static int x1;public static int y2;public int y24;} public class chengyuan {public static void main(String[] args) {Quanjv quanjvn…

mysql 中with的用法(1)

mysql 中with的用法 1、案例一: 建表: CREATE TABLE employees (employee_id INT PRIMARY KEY,first_name VARCHAR(50),last_name VARCHAR(50),salary INT );INSERT INTO employees (employee_id, first_name, last_name, salary) VALUES (1, John, Do…

GPT模型支持下的Python-GEE遥感云大数据分析、管理与可视化技术及多领域案例实践应用

随着航空、航天、近地空间等多个遥感平台的不断发展,近年来遥感技术突飞猛进。由此,遥感数据的空间、时间、光谱分辨率不断提高,数据量也大幅增长,使其越来越具有大数据特征。对于相关研究而言,遥感大数据的出现为其提…