我是一支君子兰,离开生我养我的土壤,就会慢慢枯萎!

CMM与软件评价及测试

上一篇 / 下一篇  2008-03-20 21:58:15 / 个人分类:转载

CMM与软价及测试

CMM程中,曾议将软与测试Evaluation and Test)作CMM的一KPA加入到CMM中,一提,但通过对这一提讨论,我可以得到很多与软测试的一些有益的西。

一、与测试在整个软件生命周期中的作用

价是对软开发过程中生的各统规格和模型行的验证测试则是一基于机器的码执行、确的活。大部分组织对评价和测试的定都相对狭义,一般是指码执行物理测试用例的活。事上,很多公司甚至直到编码经开才指定或安排测试。更有甚者,他们将这一活的范围仅仅限于功能测试,也做一下性能测试这种观点在目前的CMM关评与测试的描述中被一步强就是SPE品工程KPA。在SPE KPA中,活567仅仅用了基于代测试例子,只明确地提到了功能测试其他型的测试只是用一句非常含糊的话来指代:证软件需求

另一方面,建造摩天大厦的人则远在砌第一块砖之前就将评价和测试集成到了开发过程之中。通建模来验证稳定性、防水性、照明布置以及源的需求等等,价。而目前,组织所使用价和测试方法就像是设计师一直等到大建成才测试,而此测试只是能保证给水和照明可以工作而已。

CMM只是一步将评价和测试的部分思想行融合,用一特殊的价技术来代替,这个就是CMM中的一KPA,同行评审也意味着,在提交代之前,唯一可干的价就是同行评审,且已了。事上,于一件事情的价和测试的步包括:(1)成功准(2)涉及覆盖这些准则的用例;(3)执行用例;(4)验证结果,验证所有的内容都已覆盖。同行评审只是提供了一个基于纸面的测试机制。它既不能从根本上提供成功准则,也不能提供任何正式的机制以支持用例定义以用于同行评审中。同行评审本质是主观的,因此,基于误解使程序员将缺陷引入产品,而到同行评审时,基于同样的误解,也使得人们无法发现这些缺陷。

评价和测试的一个相对坚固的内涵范围必须包括项目在开发周期每一个阶段的每一个交付产品。它也必须考虑每个交付产品的每一个预期特性。而且必须包括每一个评价/测试步骤。下面我们看两个例子:评价需求和对一个设计的评价。

一个需求文档必须是完备的、一致的、正确的和清晰的。那么第一步就是基于项目/产品目标(即为什么要做这个项目的说明)对需求进行确认。这能够保证我们定义了正确的功能集。下一步评价就是遍历use-case脚本走查各功能规则,如果可能的话,最好用一些原型工具(screen prototype)作为辅助工具。第三步评价是有领域专家进行的对文档的同行评审。第四步是由非领域专家进行的正式的含糊性评审(他们无法读懂文档里的功能知识,这将帮助确保各种规则是明确定义的,而不是隐含定义)。第五步评价是将需求转换为布尔逻辑图。这可以鉴别规则之间的顺序问题,同时也能发现漏掉的用例(cases)。第五步评价是在CASE工具的辅助下进行的逻辑一致性检查。第七步评价是由领域专家进行的对测试脚本的评审,这些脚本是从需求导出来的。

对设计的评价一样可以进行一系列补救。一个是对照需求对设计文档进行走查。另一评价是构建一个模型来验证设计的完整性(例如构造一个操作系统的资源分配模式来保证不会发生死锁)。第三种评价是建立模型来验证性能特征。第四种是将形成的设计与其他公司的现成系统进行对比,以确保所设计的配置能够处理预期的处理规模和数据规模。

上面的评价只有一部分可以用同行评审来完成,没有一个是基于代码的。而且上边的例子中没有一个评价是穷尽的,必要时我们可以进行的其他评价。关键是我们输出一个交付产品(如需求文档),在我们能够正式称它是完备的并可被下一开发步骤使用之前,我们必须基于预期的特征对之进行评价。而进行这些评价需要比进行同行评审更加复杂的技术

这就是评价和测试的关键所在。一个特征的预定义集合,尽可能被明确定义,用来对一个交付产品来进行确认。例如,当你在学校,进行了数学测验,老师会拿你的回答与预期答案相对比。老师不会仅仅说他们看上去也是合理的,或者他们更加准确。答案是

TAG: 转载

 

评分:0

我来说两句

Open Toolbar