1.V模型
在软件测试方面,V模型是最广为人知的模型。如图,V模型从左到右描述了开发过程和测试行为。V模型的价值在于它非常明确的表明了测试过程中存在的不同级别,并且清楚的描述了这些测试阶段和开发过程各阶段的对应关系。缺点:把测试作为编码的最后一个活动,需求分析等前期产生的错误知道后期的验证测试才发现。
2.W模型
V模型无法体现“尽早和不断的进行软件测试”原则。在V模型中增加软件各开发阶段应同步进行的测试,演化为W模型。缺点:W和V都把软件开发视为需求,设计,编码等一系列串行的活动,无法支持迭代,自发性以及变更调整
3.X模型
X模型也是对V模型的改进,X模型提出针对单独的程序片段进行相互分离的编码和测试,伺候通过频繁的交接,通过集成最终合成可执行的程序。
X模型的左边描述的是针对单独程序片段进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最后成为可执行的程序,然后在对这些可执行程序进行测试。已集成的成品可以进行封装并提交给用户,也可以作为更大规模和范围内集成的一部分,多跟并行的曲线表示变更可以在各个部分发送。由图中可见,X模型还定位探索测试。
4.H模型
软件测试活动完全独立,贯穿于整个产品的周期,与其他流程并发的尽心,某个测试点准备就绪,就可以从测试准备阶段进行到测试执行阶段。软件测试可以尽早的进行,并且可以根据被测物的不同而分层次进行。
图演示了整个生产周期中某个层次上的一次测试“微循环”。图中标注的其他流程可以是任意的开发流程,例如设计流程或者编码流程。也就是说,只要测试条件**了,测试活动准备完成了,测试执行活动就可以进行了。
软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发进行。H模型指出软件测试要尽早准备,尽早执行。不同的测试活动可以是按照某个次序先后进行,也可以是反复,只要某个测试达到准备就绪点,测试执行活动就可以开展。
我的主管跟我聊过,测开并不一定要做测试平台才算测开,一个合格的测开,应该是对自己项目上用到的编程语言很熟悉,如同开发一样熟,甚至要比他们还熟悉
作为测开,可以给开发同学进行 code review,特别是有新开发同学刚入职可能对业务、代码架构不熟悉,写的代码就会乱七八糟,这个时候假如你很熟悉整套代码,很熟悉这个编程语言,那么你就可以提出优化建议,不要说不可能,我主管就可以,比开发还熟悉编程语言;另外还可以写单元测试,我们的服务端单元测试覆盖率是 70% 左右,所以基本服务端没啥 bug
测试开发,可以是开发平台,可以是开发工具,可以是编写脚本,但都有一个最终目的,使用你的开发技能来提高测试效率、测试广度、深度,用更高的测试覆盖率来保障项目质量
开发工具,可以是二次开发开源框架,比如 RF,可以是二次开发测试工具,比如 Jmeter,二次开发的前提不是为了秀你的技术,而是当前的工具/框架满足不了你的测试场景,所以你要二次开发,以此来满足;像我项目中,因为有自研的 rpc 框架,所以需要二次开发 Jmeter 的取样器,才能正常测试
至于到底要不要开发测试平台,这个只能看自己团队了
如需了解更多测试技术信息请关注:深圳多测师软件与技术服务有限公司