V模型强调软件开发的协作和速度,将软件实现和验证有机地结合起来,在保证较高的软件质量情况下缩短开发周期。
1.从水平对应关系看
左边是设计和分析,是软件设计实现的过程,同时伴随着质量保证活动——审核的过程,也就是静态的测试过程;右边是对左边结果的验证,是动态测试的过程,即对设计和分析的结果进行测试,以确认是否满足用户的需求。如:
●需求分析和功能设计对应验收测试,说明在做需求分析、产品功能设计的同时,测试人员就可以阅读、审查需求分析的结果,从而了解产品的设计特性、用户的真正需求,确定测试目标,可以准备用例(Use Case)并策划测试活动。
补充:测试人员参加review需求会议,关注可测性(testability),评价各种质量属性(可移植性,可维护性,灵活性,可用性等),保证可度量,避免测试结论的不明确。
需求分析定义阶段,测试人员关注的归结为三点:1-可测性;2-质量属性可度量;3-测试结论的明确。
可测性:软件能够被测试的容易程度。可测试性检查表7条:
可操作性---运行的越好,被测试的效率越高
可观察性---所看见的,就是所测试的;
可控制性---对软件的控制越好,测试越能够被自动执行与优化
可分解性---通过控制测试范围,能够更好地分解问题,执行更灵巧的再测试
简单性---测试内容越少,速度越快
稳定性---改变越少,对测试的破坏越小
易理解性---得到的信息越多,进行的测试越灵巧
●当系统设计人员在做系统设计时,测试人员可以了解系统是如何实现的,基于什么样的平台,这样可以设计系统的测试方案和测试计划,并事先准备系统的测试环境,包括硬件和第三方软件的采购。因为这些准备工作,实际上是要花去很多时间。
●当设计人员在做在做详细设计时,测试人员可以参与设计,对设计进行评审,找出设计的缺陷,同时设计功能、新特性等各方面的测试用例,完善测试计划,并基于这些测试用例以开发测试脚本。
●在编程的同时,进行单元测试,是一种很有效的办法,可以尽快找出程序中的错误,充分的单元测试可以大幅度提高程序质量、减少成本。<o:p></o:p>
从中可以看出,V模型使我们能清楚地看到质量保证活动和项目同时展开,项目一启动,软件测试的工作也就启动了,避免了瀑布模型所带来的误区——软件测试是在代码完成之后进行。
2.从垂直方向看
水平虚线上部表明,其需求分析、定义和验收测试等主要工作是面向用户,要和用户进行充分的沟通和交流,或者是和用户一起完成。水平虚线下部的大部分工作,相对来说,都是技术工作,在开发组织内部进行,主要是由工程师、技术人员完成。
从垂直方向看,越在下面,白盒测试方法使用越多,到了集成、系统测试,更多是将白盒测试方法和黑盒测试方法结合起来使用,形成灰盒测试方法。而在验收测试过程中,由于用户一般要参与,使用黑盒测试方法。
版权声明:本文出自 suncentre 的51Testing软件测试博客:http://www.51testing.com/?50369
原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。