CMM与软件评价及测试(3)

发表于:2014-08-28来源:uml.org.cn作者:廖波点击数: 标签:软件测试
一个项目计划一般包含任务、关联、资源、进度、预算和假设等等。每个任务都应当输出一个良好定义的交付,且必须对交付产品进行验证以证明该交付产

  一个项目计划一般包含任务、关联、资源、进度、预算和假设等等。每个任务都应当输出一个良好定义的交付,且必须对交付产品进行验证以证明该交付产品是确实是完备的。如果你对任务输出的完备性进行评价和测试,那么你不可能准确地跟踪项目的真实的状态。

  在决定一项实践应不应当是独立的KPA时,一个重要的实效因素是它在软件开发活动的预算和人员投入中所占的比重。如果在这方面越显著,那么它应当受到的关注应当越多。而软件测试在整个软件开发中所占的比重在一半左右。

  集成评价和测试可以支持更多的活动并发从而进一步缩短进度。如果需求没有得到正式评价,就常会导致设计和编码活动产生对早期提交的功能范围和定义的大量修改。正是基于这一原因,用户手册和培训手册等工作直到对代码的测试都差不多了的时候才能开始。到那时,几乎没有人会对早期的系统定义有什么信任。

  同样,没有很好定义的需求也不能提供足够的信息来支持测试脚本的设计,因此测试用例的设计和构建也只能等到编码做得差不多的时候才能开始。

  根据这两种情况,可以得出目前开发过程是线性的:先需求、然后是设计、编码、接着是测试、编写用户手册。如果写的需求规格能够达到一个确定级的详程度 (即:给定一个输入集和一个系统初始状态,你应当能够按照规格中的规则准确地确定输出和新系统的状态),那么测试用例的设计以及用户手册的编写就可以和系统设计并行执行。这样同时也就缩短了系统交付时间。关键是要对规格需求进行正式的评价活动。

  从中我们看到在CMM中加入这个独立的KPA是很有必要的。

  三、结束语

  通过以上的论述我们看到,评价是对软件开发过程中所产生的各种系统规格和模型的集成性进行保证的活动,测试则是基于机器的对代码进行测试的活动。软件评价和测试的目的是确认(即:判断这是我们所要的吗?)和验证(即:这是不是正确?)每一个软件项目交付产品,并及时发现这些产品中的任何缺陷。

  软件评价和测试包括识别需进行评价和测试的交付产品;确定需要执行的评价和测试类型;定义每个评价和测试的成功准则;设计、构建、执行所需的评价和测试;验证评价和测试结果;验证测试集全面覆盖既定的评价和测试准则;创建和执行回归库以用于在交付产品发生修改后进行重新验证;登记、汇报、跟踪发现的缺陷。

  最开始进行评价的交付产品是软件需求,随后,大部分评价和测试是基于被确认的软件需求。

原文转自:http://www.uml.org.cn/Test/test122502.htm