测试管理软件需求文档 软件测试需求文档 - 电脑 - 【南平电脑网】_南平电脑维修_南平笔记本电脑维修_监控安装_市区上门维修
公司动态

测试管理软件需求文档 软件测试需求文档

摘要:软件测试中需求文档规范有哪些重要性? 在一个软件项目的生产过程中,最关键的阶段就是需求的确定。 概要设计的依据是需求文档,详细设计的依据也将是需求文档,测试大纲的结构级次也是依据需求文档框架结构而提炼...

发布日期:2020-08-25

测试管理软件需求文档

软件测试中需求文档规范有哪些重要性?

在一个软件项目的生产过程中,最关键的阶段就是需求的确定。

概要设计的依据是需求文档,详细设计的依据也将是需求文档,测试大纲的结构级次也是依据需求文档框架结构而提炼产生的,测试案例编写依据测试大纲的结构和功能点列表而设计出来的,因此需求文档成了整个项目从始至终的重要的依据性文档标准,因此其重要性自然不言而喻。

下面说说需求文档的在项目中的重要性! 1、高质量的需求文档切断ug的来源 在需求文档编写过程中如果质量控制不到位,自然会产生最原始的ug。

设计人员依据不明确的需求文档设计出了不准确的概要设计和物理模型。

开发人员依据已经存在ug的概要设计产生程序代码,系统提交测试的时候,这些隐含的ug已经从需求一直流转到了测试人员的面前,成为测试人员的劳动成果。

但是这虽然给测试人员带来了工作成果和成就感,但是这对一个项目来讲却是巨大的损失,本应该在需求文档产生是就能避免的东西尽量控制在其最原始的状态而不是放任自流下去。

本文出自hanguolong21的51Testing软件测试博客:http:www.51testing.com?97387 因此由此看来文档测试的重要性就体现出来了,很多企业并不重视对文档的测试和检查,从而使这些问题逐渐逐步的被放大,同时放大了修复问题的代价,给项目带来损失,因此,测试要在需求文档编写产生时介入,同步测试需求文档中存在的遗漏和不准确的描述直接将一些输入控制,界面标准等问题扼杀在摇篮之中,付出了最小的代价产生了最好的效果,避免了需求变更,就避免了损失的放大,为项目和公司节约了成本,同时也能提高产品的质量,一举多得! 2、需求文档编写的要求 为了节约成本必须加强控制,控制好需求文档编规范的高标准、高要求编写的质量和规范性以及可读性,这对需求人员的要求就相对提高了,不仅仅是懂业务和会用wod这么简单了,要能将需求文档编写成为设计人员和开发人员的思维角度读懂的文档,不仅仅是简单的规则描述是问题了当需求文档编写符合规范,概要设计上就更加清晰流畅,代码编写上就能控制的更加规范和标准,提高了代码生产效率,降低了低级 ug的存活率从而提高了系统的质量。

一旦需求文档编写的不好导致了连锁反应最终到需求变更,需求变更是一个项目最难承受的代价,当整个系统在多人合作的情况下生产出来,此时需求文档的一点小小变化都可能会导致整个系统发生巨大的改变和调整,由此需要付出的代价是不可估量的,损失是惨重的,也是开发、测试、维护所最不愿意接受和面对的,控制好需求的编写可以达到事半功倍的效果,高水平的测试团队可以从标准的需求文档中预估出系统的缺陷率,预估出要编写的测试案例数,从而为后期的测试工作带来了巨大的前置信息,提高了测试工作的工作效率,高质量的需求文档编写有百利而无一害,需要得到重视!

软件测试需要哪些文档?

1、测试方案(主要设计怎么测试什么内容和采用什么样的方法,经过分析,在这里可以得到相应的测试用列表)2、测试执行策略(可以主要包括哪些可以先测试,哪些可以放在一起测试之类的),3、测试用例(主要根据测试用例列表,写出每一个用例的操作步骤和紧急程度,和预置结果),4、BUG描述报告(主要可以包括,测试环境的介绍,预置条件,测试人员,问题重现的操作步骤和当时测试的现场信息),5、整个项目的测试报告(从设计和执行的角度上来对此项目测试情况的介绍,从分析中总结此次设计和执行做的好的地方和需要努力的地方和对此项目的一个质量评价)。

软件测试需要哪些文档?

需求说明文档这个是必不可少的,但是肯定的是,测试要有测试软件,测试版本的说明文档肯定要有,如果是单元测试,肯定要说明测试功能模块,最关键的是需求,这个是测试软件的标准,需求分很多方面不一定都在文档上的,需要跟项目经理或开发负责人沟通,数据库字典也是必需的还有如果系统比较大,需要系统搭建说明文档,如果需要升级版本,需要升级文档根据公司的开发流程不同有些许差异...

测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪...

软件测试计划是指导测试过程的纲领性文件,包含了产品概述, 测试策略,测试方法,测试区域,测试配置,测试周期,测试资源, 风险分析等内容;借助软件测试计划,参与测试的项目成员, 可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通, 跟踪和控制测试进度,应对测试过程中的各种变更。

软件测试的流程是什么?

需求分析需求分析(Requirment Analyzing)应该说是软件测试的一个重要环节,测试开发人员对这一环节的理解程度如何将直接影响到接下来有关测试工作的开展。

可能有些人认为测试需求分析无关紧要,这种想法是很不对的。

需求分析不但重要,而且至关重要。

一般而言,需求分析包括软件功能需求分析、测试环境需求分析、测试资源需求分析等。

其中最基本的是软件功能需求分析,测一款软件首先要知道软件能实现哪些功能以及是怎样实现的。

比如一款Smartphone包括VoIP、Wi-Fi以及Bluetooth等功能。

那我们就应该知道软件是怎样来实现这些功能的,为了实现这些功能需要哪些测试设备以及如何搭建相应测试环境等,否则测试就无从谈起!既然谈了需求分析,那么我们根据什么来分析呢?总不能凭空设想吧。

总得说来,做测试需求分析的依据有软件需求文档、软件规格书以及开发人员的设计文档等,相信管理一些规范的公司在软件开发过程中都有这些文档。

测试计划测试计划(Test Plan)一般由测试负责人来编写。

测试计划的依据主要是项目开发计划和测试需求分析结果而制定。

测试计划一般包括以下一些方面:1. 测试背景a. 软件项目介绍;b. 项目涉及人员(如软硬件项目负责人等)介绍以及相应联系方式等。

2. 测试依据a. 软件需求文档;b. 软件规格书;c. 软件设计文档;d. 其他,如参考产品等。

3. 测试资源a. 测试设备需求;b. 测试人员需求;c. 测试环境需求;d. 其他。

4. 测试策略a. 采取测试方法;b. 搭建哪些测试环境;c. 采取哪些测试工具以测试管理工具;d. 对测试人员进行培训等。

5. 测试日程a. 测试需求分析;b. 测试用例编写;c. 测试实施,根据项目计划,测试分成哪些测试阶段(如单元测试、集成测试、系统测试阶段,α、β测试阶段等),每个阶段的工作重点以及投入资源等。

6. 其他。

测试计划还要包括测试计划编写的日期、作者等信息,计划越详细越好了。

计划赶不上变化,一份计划做的再好,当实际实施的时候就会发现往往很难按照原有计划开展。

如在软件开发过程中资源匮乏、人员流动等都会对测试造成一定的影响。

所以,这些就要求测试负责人能够从宏观上来调控了。

在变化面前能够做到应对自如、处乱不惊那是最好不过了。

测试设计测试设计主要包括测试用例编写和测试场景设计两方面。

一份好的测试用例对测试有很好的指导作用,能够发现很多软件问题。

关于测试用例编写,请参见前面写的《也谈测试用例》一文,里面有详细阐述。

测试场景设计主要也就是测试环境问题了。

测试环境搭建不同软件产品对测试环境有着不同的要求。

如C/S及B/S架构相关的软件产品,那么对不同操作系统,如Windows系列、unix、linux甚至苹果OS等,这些测试环境都是必须的。

而对于一些嵌入式软件,如手机软件,如果我们想测试一下有关功能模块的耗电情况,手机待机时间等,那么我们可能就需要搭建相应的电流测试环境了。

当然测试中对于如手机网络等环境都有所要求。

测试环境很重要,符合要求的测试环境能够帮助我们准确的测出软件问题,并且做出正确的断。

为了测试一款软件,我们可能根据不同的需求点要使用很多不同的测试环境。

有些测试环境我们是可以搭建的,有些环境我们无法搭建或者搭建成本很高。

不管如何,我们的目标是测试软件问题,保证软件质量。

测试环境问题,还是根据具体产品以及开发者的实际情况而采取最经济的方式吧。

测试执行测试执行过程又可以分为以下阶段:单元测试→集成测试→系统测试→出厂测试,其中每个阶段还有回归测试等。

从测试的角度而言,测试执行包括一个量和度的问题。

也就是测试范围和测试程度的问题。

比如一个版本需要测试哪些方面?每个方面要测试到什么程度?从管理的角度而言,在有限的时间内,在人员有限甚至短缺的情况下,要考虑如何分工,如何合理地利用资源来开展测试。

当然还要考虑以下问题:1. 当测试人员测试的执行不到位、敷衍了事时该如何解决?2. 测试效率问题,怎样提高测试效率?3. 根据版本的不同特点是只做验证测试还是采取冒烟测试亦或是系统全面测试?4. 当测试过程中遇到一些偶然性随机问题该怎样处理?5. 当版本中出现很多新问题时该怎样对待?测试停止标准?

软件测试流程是什么??

需求分析需求分析(Requirment Analyzing)应该说是软件测试的一个重要环节,测试开发人员对这一环节的理解程度如何将直接影响到接下来有关测试工作的开展。

可能有些人认为测试需求分析无关紧要,这种想法是很不对的。

需求分析不但重要,而且至关重要!一般而言,需求分析包括软件功能需求分析、测试环境需求分析、测试资源需求分析等。

其中最基本的是软件功能需求分析,测一款软件首先要知道软件能实现哪些功能以及是怎样实现的。

比如一款Smartphone包括VoIP、Wi-Fi以及Bluetooth等功能。

那我们就应该知道软件是怎样来实现这些功能的,为了实现这些功能需要哪些测试设备以及如何搭建相应测试环境等,否则测试就无从谈起!既然谈了需求分析,那么我们根据什么来分析呢?总不能凭空设想吧。

总得说来,做测试需求分析的依据有软件需求文档、软件规格书以及开发人员的设计文档等,相信管理一些规范的公司在软件开发过程中都有这些文档。

测试计划 测试计划(Test Plan)一般由测试负责人来编写。

测试计划的依据主要是项目开发计划和测试需求分析结果而制定。

测试计划一般包括以下一些方面:1. 测试背景a. 软件项目介绍;b. 项目涉及人员(如软硬件项目负责人等)介绍以及相应联系方式等。

2. 测试依据a. 软件需求文档;b. 软件规格书;c. 软件设计文档;d. 其他,如参考产品等。

3. 测试资源a. 测试设备需求;b. 测试人员需求;c. 测试环境需求;d. 其他。

4. 测试策略a. 采取测试方法;b. 搭建哪些测试环境;c. 采取哪些测试工具以测试管理工具;d. 对测试人员进行培训等。

5. 测试日程a. 测试需求分析;b. 测试用例编写;c. 测试实施,根据项目计划,测试分成哪些测试阶段(如单元测试、集成测试、系统测试阶段,α、β测试阶段等),每个阶段的工作重点以及投入资源等。

6. 其他。

测试计划还要包括测试计划编写的日期、作者等信息,计划越详细越好了。

计划赶不上变化,一份计划做的再好,当实际实施的时候就会发现往往很难按照原有计划开展。

如在软件开发过程中资源匮乏、人员流动等都会对测试造成一定的影响。

所以,这些就要求测试负责人能够从宏观上来调控了。

在变化面前能够做到应对自如、处乱不惊那是最好不过了。

测试设计测试设计主要包括测试用例编写和测试场景设计两方面。

一份好的测试用例对测试有很好的指导作用,能够发现很多软件问题。

关于测试用例编写,请参见前面写的《也谈测试用例》一文,里面有详细阐述。

测试场景设计主要也就是测试环境问题了。

测试环境搭建不同软件产品对测试环境有着不同的要求。

如C/S及B/S架构相关的软件产品,那么对不同操作系统,如Windows系列、unix、linux甚至苹果OS等,这些测试环境都是必须的。

而对于一些嵌入式软件,如手机软件,如果我们想测试一下有关功能模块的耗电情况,手机待机时间等,那么我们可能就需要搭建相应的电流测试环境了。

当然测试中对于如手机网络等环境都有所要求。

测试环境很重要,符合要求的测试环境能够帮助我们准确的测出软件问题,并且做出正确的判断。

为了测试一款软件,我们可能根据不同的需求点要使用很多不同的测试环境。

有些测试环境我们是可以搭建的,有些环境我们无法搭建或者搭建成本很高。

不管如何,我们的目标是测试软件问题,保证软件质量。

测试环境问题,还是根据具体产品以及开发者的实际情况而采取最经济的方式吧。

测试执行 测试执行过程又可以分为以下阶段:单元测试→集成测试→系统测试→出厂测试,其中每个阶段还有回归测试等。

从测试的角度而言,测试执行包括一个量和度的问题。

也就是测试范围和测试程度的问题。

比如一个版本需要测试哪些方面?每个方面要测试到什么程度?从管理的角度而言,在有限的时间内,在人员有限甚至短缺的情况下,要考虑如何分工,如何合理地利用资源来开展测试。

当然还要考虑以下问题:1. 当测试人员测试的执行不到位、敷衍了事时该如何解决?2. 测试效率问题,怎样提高测试效率?3. 根据版本的不同特点是只做验证测试还是采取冒烟测试亦或是系统全面测试?4. 当测试过程中遇到一些偶然性随机问题该怎样处理?5. 当版本中出现很多新问题时该怎样对待?测试停止标准?6. …… 展开

谁能描述下软件测试的软件需求分析使用的工具呢?

1)原型设计模型工具交互原型设计软件 Axue RP Po 5 Axue RP 能帮助网站需求设计者,快捷而简便的创建 基于目录组织的原型文档、功能说明、交互界面以及带注释的wiefame网页,并可自动生成用于演示的网页文件和wod文档,以提供演示与开发。

Axue RP 的特点是:快速创建带注释的wiefame文件,并可根据所设置的时间周期,软件自动保存文档,确保文件安全。

在不写任何一条html与javascīpt语句的情况下,考试,大提示通过创建的文档以及相关条件和注释,一键生成html pototype演示。

根据设计稿,一键生成一致而专业的wod版本的原型设计文档。

2)StaUML工具 可绘制9款UML图:用例图、类图、序列图、状态图、活动图、通信图、模块图、部署图以及复合结构图等。

完全免费:StaUML是一套开放源码的软件,不仅免费自由下载,连代码都免费开放。

多种格式影像文件:可导出JPG、JPEG、BMP、EMF和WMF等格式的影像文件。

语法检验:StaUML遵守UML的语法规则,不支持违反语法的动作。

正反向工程:StaUML可以依据类图的内容生成Java、C++、C#代码,也能够读取Java、C++、C#代码反向生成类图。

转载请保留:本文出自qaachitech的51Testing软件测试博客:http:www.51testing.com?170805 3)Visio 工具 Micosoft visio 可以建立流程图、组织图、时间表、营销图和其它更多图表,把特定的图表加入文件,让商业沟通变得更加清晰,令演示更加有趣。

4)FeeMind 工具 思维导图软件 Feemind是一实用的开源思维导图心智(MindMap)软件.它可用来作为管理项目(包括子任务的管理,子任务的状态,时间记录,资源链接管理),笔记或知识库,文章写作或者头脑风暴,结构化的存储小型数据库,绘制思维导图,整理软件流程思路。

软件开发项目中,过程管理文档包括哪些

在软件项目开发过程中,应该按软件开发要求撰写十三类文档,文档编制要求具有针对性、精确性、清晰性、完整性、灵活性、可追溯性! 需求阶段 1、可行性分析报告 说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。

2、项目开发计划 为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。

3、软件需求说明书(软件规格说明书) 对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。

它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。

该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系统数据文件做好准备。

设计阶段 4、概要设计说明书 该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。

5、详细设计说明书 着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。

开发阶段 6、开发进度月报 该月报系软件人员按月向管理部门提交的项目进展情况报告,报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打算等。

测试阶段 7、测试计划 为做好集成测试和验收测试,需为如何组织测试制订实施计划。

计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。

8、测试分析报告 测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见。

收尾阶段 9、用户操作手册 本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件得到具体的了解,为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节。

10、项目开发总结报告 软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力,此外,还需对开发工作做出评价,总结出经验和教训。

11、软件维护手册 主要包括软件系统说明、程序模块说明、操作环境、支持软件的说明、维护过程的说明,便于软件的维护。

维护阶段 12、软件问题报告 指出软件问题的登记情况,如日期、发现人、状态、问题所属模块等,为软 件修改提供准备文档。

13、软件修改报告 软件产品投入运行以后,发现了需对其进行修正、更改等问题,应将存在的问题、修改的考虑以及修改的影响作出详细的描述,提交审批。

软件测试,测试环境搭建需要考虑哪些方面?

去搭建测试环境是软件测试实施的一个重要阶段,测试环境适合与否会严重影响测试结果的真实性和正确性。

测试环境包括硬件环境和软件环境,硬件环境指测试必需的服务器、客户端、网络连接设备,以及打印机/扫描仪等辅助硬件设备所构成的环境;软件环境指被测软件运行时的操作系统、数据库及其他应用软件构成的环境一 确定测试环境的组成:1.所需要的计算机的数量,以及对每台计算机的硬件配置要求,包括CPU的速度、内存和硬盘的容量、网卡所支持的速度、打印机的型号等;2. 部署被测应用的服务器所必需的操作系统、数据库管理系统、中间件、WEB服务器以及其他必需组件的名称、版本,以及所要用到的相关补丁的版本;3. 用来保存各种测试工作中生成的文档和数据的服务器所必需的操作系统、数据库管理系统、中间件、WEB服务器以及其他必需组件的名称、版本,以及所要用到的相关补丁的版本;4. 用来执行测试工作的计算机所必需的操作系统、数据库管理系统、中间件、WEB服务器以及其他必需组件的名称、版本,以及所要用到的相关补丁的版本;5. 是否需要专门的计算机用于被测应用的服务器环境和测试管理服务器的环境的备份;6. 测试中所需要使用的网络环境。

例如,如果测试结果同接入Internet的线路的稳定性有关,那么应该考虑为测试环境租用单独的线路;如果测试结果与局域网内的网络速度有关,那么应该保证计算机的网卡、网线以及用到的集线器、交换机都不会成为瓶颈;二、管理测试环境1. 设置专门的测试环境管理员角色每个测试项目或测试小组都应当配备一名专门的测试环境管理员,其职责包括:测试环境的搭建。

包括操作系统、数据库、中间件、WEB服务器等必须软件的安装,配置,并做好各项安装、配置手册的编写;记录组成测试环境的各台机器的硬件配置、IP地址、端口配置、机器的具体用途,以及当前网络环境的情况;测试环境各项变更的执行及记录;测试环境的备份及恢复;操作系统、数据库、中间件、WEB服务器以及被测应用中所需的各用户名、密码以及权限的管理;2. 记录好测试环境管理所需的各种文档:测试环境的各台机器的硬件环境文档,测试环境的备份和恢复方法手册,并记录每次备份的时间、备份人、备份原因以及所形成的备份文件的文件名和获取方式;用户权限管理文档,记录访问操作系统、数据库、中间件、WEB服务器以及被测应用时所需的各种用户名、密码以及各用户的权限,并对每次变更进行记录3. 测试环境访问权限的管理为每个访问测试环境的测试人员和开发人员设置单独的用户名和密码。

访问操作系统、数据库、WEB服务器以及被测应用等所需的各种用户名、密码、权限,由测试环境管理员统一管理;测试环境管理员拥有全部的权限,开发人员只有对被测应用的访问权限和查看系统日志(只读),测试组成员不授予删除权限,用户及权限的各项维护、变更,需要记录到相应的“用户权限管理文档”中4. 测试环境的备份和恢复测试环境必须是可恢复的,否则将导致原有的测试用例无法执行,或者发现的缺陷无法重现,最终使测试人员已经完成的工作失去价值。

因此,应当在测试环境(特别是软件环境)发生重大变动时进行完整的备份,例如使用Ghost对硬盘或某个分区进行镜像备份。

怎样做软件的需求分析?

软件需求的定义:(1)用户解决问题或达到目标所需的条件或能力。

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

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

实通俗的讲,“需求”就是用户的需要,它包括用户要解决的问题、达到的目标、以及实现这些目标所需要的条件,它是一个程序或系统开发工作的说明,表现形式一般为文档形式。

需求工程的定义:需求分析的过程,也叫做需求工程和需求阶段,它包括了需求开发和需求管理两个部分。

需求开发是指从情况收集、分析和评价到编写文档、评审等一系列产生需求的活动,分为四个阶段:情况获取、分析、制订规格说明和评审。

这四个阶段不一定是遵循线性顺序的,他们的活动是相互独立和反复的。

需求管理是软件项目开发过程中控制和维持需求约定的活动,它包括:变更控制、版本控制、需求跟踪、需求状态跟踪等工作。

需求开发与管理的一些方法:(1)绘制关联图:绘制系统关联图是用于定义系统与系统外部实体间的界限和接口的简单模型。

(2)可行性分析:在允许的成本、性能要求下,分析每项需求实施的可行性,提出需求实现相关风险,包括与其它需求的冲突,对外界因素的依赖和技术障碍。

(4)系统原型:当用户自身对有的需求不十分清楚时,我们可以建立一个系统原型,用户通过评价原型更好地理解所要解决的问题。

(5)图形分析模型:绘制图形分析模型是编制软件需求规格说明重要手段。

它们能帮助分析人员理清数据、业务模式、工作流程以及他们之间的关系,找出遗漏、冗余和不一致的需求。

这样的模型包括数据流图、实体关系图、状态变换图、对话框图、对象类及交互作用图。

(6)数据字典:数据字典是对系统用到的所有数据项和结构的定义,以确保开发人员使用统一的数据定义。

在需求阶段,数据字典至少应定义客户数据项,确保客户与开发小组是使用一致的定义和术语。

需求管理的方法主要包括以下一些方面:1)确定需求变更控制过程。

制定一个选择、分析和决策需求变更的过程,所有的需求变更都需遵循此过程。

2)进行需求变更影响分析。

评估每项需求变更,以确定它对项目计划安排和其它需求的影响,明确与变更相关的任务并评估完成这些任务需要的工作量。

通过这些分析将有助于需求变更控制部门做出更好的决策。

3)建立需求基准版本和需求控制版本文档。

确定需求基准,这是项目各方对需求达成一致认识时刻的一个快照,之后的需求变更遵循变更控制过程即可。

每个版本的需求规格说明都必须是独立说明,以避免将底稿和基准或新旧版本相混淆。

4)维护需求变更的历史记录。

将需求变更情况写成文档,记录变更日期、原因、负责人、版本号等内容,及时通知到项目开发所涉及的人员。

为了尽量减少困惑、冲突、误传,应指定专人来负责更新需求。

5)跟踪每项需求的状态。

可以把每一项需求的状态属性(如已推荐的,已通过的,已实施的,或已验证的)保存在数据库中,这样可以在任何时候得到每个状态类的需求数量。

6)衡量需求稳定性。

可以定期把需求数量和需求变更(添加、修改、删除)数量进行比较。

过多的需求变更"是一个报警信号",意味着问题并未真正弄清楚。

4.需求分析评价标准(1)清晰:目前大多数的需求分析采用的仍然是自然语言,自然语言对需求分析最大的弊病就是它的二义性,所以开发人员需要对需求分析中采用的语言做某些限制。

例如尽量采用主语+动作的简单表达方式。

需求分析中的描述一定要简单,千万不要采用疑问句、修饰这些复杂的表达方式。

除了语言的二义性之外,注意不要使用行话,就是计算机术语。

需求分析最重要的是和用户沟通,可是用户多半不是计算机的专业人士,如果在需求分析中使用了行话,就会造成用户理解上的困难。

(2)完整:需求的完整性是非常重要的,如果有遗漏需求,则不得不返工,在软件开发过程中,最糟糕的事情莫过于在软件开发接近完成时发现遗漏了一项需求。

但实际情况是,需求的遗漏是常发生的事情,这不仅仅是开发人员的问题,更多发生在用户那里。

要做到需求的完整性是很艰难的一件事情,它涉及到需求分析过程的各个方面,贯穿整个过程,从最初的需求计划制定到最后的需求评审。

(3)一致:一致性是指用户需求必须和业务需求一致,功能需求必须和用户需求一致。

在需求过程中,开发人员需要把一致性关系进行细化,比如用户需求不能超出预前指定的范围。

严格的遵守不同层次间的一致性关系,就可以保证最后开发出来的软件系统不会偏离最初的实现目标。

(4)可测试:一个项目的测试从什么时候开始呢?有人说是从编码完成后开始,有人说是编码的时候同时进行单元测试,编码完成后进行系统测试,这些结论都不完全正确。

实际上,测试是从需求分析过程就开始了,因为需求是测试计划的输入和参照。

这就要求需求分析是可测试的,只有系统的所有需求都是可以被测试的,才能够保证软件始终围绕着用户的需要,保证软件系统是成功的。