第5贴【2004-5-14】:软件可测试性
Roger S. Pressman理想情况下,软件工程师在设计计算机程序、系统或产品时应该考虑可测试性,这就使得测试工程师能够更容易地设计有效的测试用例。
什么是“可测试性”?软件的可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。James Bach这样描述可测试性:软件可测试性就是一个计算机程序能够被测试的容易程度。
以下是一个常见的软件可测试性检查表:
·可操作性-“运行地越好,被测试的效率越高。”
·可观察性-“所看见的,就是所测试的。”
·可控制性-“对软件的控制越好,测试越能够被自动执行与优化。”
·可分解性-“通过控制测试范围,能够更好地分解问题,执行更灵巧的再测试。”
·简单性-“需要测试的内容越少,测试的速度越快。”
·稳定性-“改变越少,对测试的破坏越小。”
·易理解性-“得到的信息越多,进行的测试越灵巧。”
讨论
JEFFERY VOAS的定义可能更加合理:如果软件包含一个故障,在一个特定的输入分布上,下一次运行时故障发生,并被检测到的可能性,这里包含几个子属性:
可控制性
可观察性
可理解性
楼上说的这个DOD的定义,是可控制性中的个方面。 你是不是前面在深圳做这方面的研究的?
你姓迟?张?马?还是龙? 我不是在深圳做,也不姓迟、张、马、龙:) 呵呵,百家姓
请教楼主
Originally posted by 天网 at 2004-5-14 12:05 PM:Roger S. Pressman
理想情况下,软件工程师在设计计算机程序、系统或产品时应该考虑可测试性,这就使得测试工程师能够更容易地设计有效的测试用例。
什么是“可测试性”?软件的可测试性是指软件发现故障并隔 ...
可否追随到需求阶段,如果保证每项需求都是可测的,是否就能保证软件十可测的?细分成:功能性需求的可测性、非功能需求的可测性等。按照这个思路学习,是否可行?请楼主给点指导,谢谢啦! 系统的可测试性需求需要测试部门在软件需求阶段提出,和产品的其他需求一起纳入到需求库统一管理。这样在系统开发初期就要考虑到系统的可测试性,否则到了后期测试阶段再提这样的需求就来不及了。
请教天网版主
既然是软件可测试性检查表,我可不可以这样理解:1)如果开发完成的软件系统,具备可操作性、可控制性、可观察性、易理解性....就说明,这个软件系统是可测的。
2)需求评审的通过标准:每项需求具备那些属性:可操作、可控制、易理解.....
我的问题,也是我最近学习的重点:如何判断某项需求是易理解的、可控制的....?或者说:针对不同的需求,如何度量需求的可测性?
再次感谢天网版主的帮助! 1、可测试性的概念虽然包含您所提出的这些,但按照这几个标准是很难判断最终系统是否具有可测试性的,因为这些都是些定性的定义。所以我认为可测试性概念的提出主要是用来指导如何提出可测试性需求,并去实现这些需求,方便后期的测试和问题定位;
2、需求评审可以针对每条需求评审其描述是否正确、完整、一致、无歧义、可验证、可追踪。至于如何增加需求的可测试性,是需要测试组提出来的。
谢谢天网,请原谅我的追问
我赞成您关于可测性的说法。定性的需求是不可测的,我们需要定量,需要度量。
引用您的这句话:“至于如何增加需求的可测试性,是需要测试组提出来的。”
我现在就是以测试组的身份在学习研究需求的通过标准。必须严格要求需求说明上的每一条需求都是可测的,对于非功能性需求是很难度量的。
例如“易用性需求:界面友好”,我们从测试的角度,如何度量界面是友好的,将来测试的时候,如何说明这个系统的界面是不友好的?
希望就此话题大家作更深入的讨论,一并谢过.... 呵呵,你把两个概念搅在一起了:需求描述的可验证性、软件的可测试性。 呵呵,你把两个概念搅在一起了:需求描述的可验证性、软件的可测试性。
页:
[1]