如何进行需求矩阵管理

字体:        | 上一篇 下一篇 | 打印  | 我要投稿  | 推荐标签: 需求管理 软件测试管理

  产品经理需要掌握并管理产品的全部需求,需求是软件项目成败的关键所在,好的需求应具备“内涵一致,外延完整”的特质,这个特质可以保证需求分析无歧义、完整、一致、正确、可行、必要、可检验、可跟踪。

  软件需求是多层次的,包括业务需求、用户需求、功能需求和非功能需求。如下图所示:

  启动一个新产品时,产品经理需和各方进行充分的沟通,深刻理解客户或者公司高层对系统、产品高层次的目标要求,将业务需求反映在产品的创意阶段、策划阶段的《产品项目策划书》、《产品项目规划方案》中予以说明。

  用户需求主要描述了用户能使用系统来做什么,用例、场景描述都是表达用户需求的有效途径。这部分需求通常在用例文档或方案脚本说明中予以说明。

  功能需求定义了开发人员必须实现的软件功能,用户能够利用这些功能完成任务,从而满足业务需求。功能需求通常是通过对系统特性的描述表现出来的,它记录在《软件需求规格说明书》(SRS)中。《软件需求规格说明书》完整地描述了软件系统的预期特性,是开发、测试、质量保证、项目管理的重要依据。因设计的产品功能一般都较为复杂,业务规则的描述也需尽可能详尽,所以通常情况下《软件需求规格说明书》并不是一份文档,而是根据功能模块的划分由多个子文件组成。每一篇需求说明文档中均必须包含功能列表和功能详细描述,可依据实际业务情况增加数据字典方面的描述。《软件需求规格说明书》中的功能列表需要和《需求跟踪矩阵》一一对应,包括功能点编号、功能点名称。需要强调一点,需求文档的重点是说明功能所在,无需描述界面中的Icon、色彩、像素等信息,为避免和界面设计稿等展示高保真产品原型的文档发生冲突,需求文档中应尽量全部采用低保真界面,界面类描述交由《交互设计说明书》及界面设计稿、Html文件去说明。

  《软件需求规格说明书》中还应包括非功能需求,非功能需求描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作界面的具体细节要求,性能要求,设计或实现的约束条件及质量属性。通俗地讲,非功能需求是这样一种需求,它不是解决“我想要我的系统实现这种功能”,而是解决“如何使这个系统能在实际环境中运行”。在非功能需求中,针对性能方面一般需要有单点、混合、持续三方面的要求:

  1、在单点方面,要求延迟和吞吐量有对应关系,假如我们设计一款BS软件,要求打开登录页面的延迟要求为响应时间3秒、抖动2秒,那么一定要在吞吐量的要求上写上针对这一点的高峰并发人数,比如100人。

        2、在混合方面,产品经理依据业务的实际情况,定义混合并发值,并依据单点定义的部分或全部点以百分比的形式分配并发比例,注意混合下的并发值不得高于单点下的并发值。比如定义混合并发值200人,其中20%访问首页,20%登录,20%上传文件,40%浏览页面。

  3、在持续方面,通常定义为单点最高并发值二分之一情况下的2*24小时或3*24小时持续测试。比如定义50人并发下持续性测试时间2*24小时。

  《需求跟踪矩阵》主要是跟踪及统计功能需求和非功能需求。当需求基线第一次形成时就需要填写这个文档,这篇文档中的功能点名称和编号需和需求文档中对应,不得存在差异,每个功能点都需要定义它的级别(P1、P2、P3,P1为最高级别)。通常,重要程度为P1级的功能点数,不超过50%;或者P1级和P2级的功能点数,不超过80%。需求发生变更时,需填写《需求跟踪矩阵》中的需求变更记录表用以记录新增、修改、删除的功能点,并需在各模块的功能点列表中标记变更状态,通常如有新增功能,则增加在相应模块底部,字体设置为红色,如有删除功能,用蓝色标记。

  在《需求跟踪矩阵》的需求变更统计表中,有一组图表可以直观地展现各阶段需求变更工作量、项目整体需求变更率、项目整体功能点变化的情况,如下图所示:

  以上主要解释并分析了需求的四个层次,以及如何管理需求跟踪矩阵,希望能对产品经理们有所启发。

  最后附上Jan L.A. Van de Snepscheut的一段话,可以细细品味:就理论而言,理论和实践并无差异。但真付诸实行之时,差异即开始显现

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件测试需求是开发测试用例的依据,测试需求分解的越详细精准,表明对所测软件的了解越深,对所要进行的任务内容就越清晰,对测试用例的设计质量的帮助越大。详细的测试需求还是衡量测试覆盖率的重要指标,测试需求是计算测试覆盖的分母,没有详细的测试需求就无法有效的进行测试覆盖计算。 软件测试执行阶段是由一系列不同的测试类型的执行过程组成的,每种测试类型都有其具体的测试目标和支持技术,每种测试类型都只侧重于对测试目标的一个或多个特征或属性进行测试,准确的测试类型可以给软件测试带事半功倍的效果。 现有的软件测试分析技术不太成熟,对测试需求和测试类型的分析,所采用的方法主要是根据经验进行收集、整理,该方法依赖于测试设计人员的测试经验,由此方法得出的测试需求、测试类型往往导致测试用例设计不充分,测试覆盖度低,测试目的性不强,容易遗漏等缺陷。 可见,如何对测试需求进行细致的整理分析,明确测试执行时的测试类型,是一个亟待解决的问题。 有鉴于此,本方法的主要目的在于提供一种软件测试需求的分析方法,可以方便、详尽的获取测试需求,明确测试执行时需要实施的测试类型。 为实现上述目的,本方法提供了一种软件测试需求分析的方法,包括以下步骤: a)列出软件开发需求中具有可测试性的开发需求; b)对步骤a)列出的每一条开发需求,形成可测试的分层描述的测试需求; c)对步骤b)形成的每一条测试需求,从GB/T 16260.1-2006《软件工程 产品质量 第1部分:质量模型》中定义的软件内部/外部质量模型来确定软件产品的质量需求; d)对步骤c)所确定的质量需求,分析测试执行时需要实施的测试类型; e)建立测试需求跟踪矩阵,对测试需求进行管理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值