美文网首页
从瀑布模型转向迭代开发

从瀑布模型转向迭代开发

作者: KatherineJI | 来源:发表于2017-06-19 18:07 被阅读0次

前言

      2017年4月17号,我入职新公司,心里有些忐忑,要重新学习公司的业务,重新认识新的同事,最重要是要改变自己的工作方式,这对我来说是一个不小的突破。

一、瀑布模型的业务流程

      之前的公司是一家大型企业,世界500强,公司采用的是传统的瀑布式业务流程,开发完成90%之后,交付测试部门验证,此时还不算是验收测试,大型企业分为3个开发阶段,EVT(工程验证与测试阶段),DVT(设计验证与测试阶段),PVT(生产验证与测试阶段),MP(量产阶段),之后便进入SOVP(批量生产),最后是SS(上市),而我们测试部门只验证其中的DVT和PVT,DVT阶段还是存在不少问题的,此时可以发现大部分功能上的bug,一些系统上的死锁bug,如系统停止运行,死机,以及少量的硬件bug。PVT阶段的测试是验收测试,这时候主要就是为了少量的功能问题,更多的是在追求更完美的用户体验。

二、瀑布模型的时间

      传统的瀑布式开发在大公司比较常见,因为有足够的人力和资源去支撑,所以有更多的时间去开发测试,一个完整的周期大概在半年甚至更久,每一个阶段的测试至少是两周,这都是需要付出大量的人力成本。

三、测试人员的职责

        每一个测试人员只负责一个part的测试,大公司将系统测试与专项测试分开,系统测试是检测整个系统是否能正常运行,功能是否与设计一致;专项测试,是只负责某一个专项的测试,需要测试人员在某一领域有一定的技术基础,如Camera、Audio、TP、指纹等,另外,还有功耗、性能、稳定性测试,这几项测试需要一定的自动化技术,如果你在几个领域都有所研究,并掌握一定的技术,便可以选择自己更感兴趣的专项,当然,公司同不同意,就另说了。

四、企业文化

        每一个公司都有自己的企业文化,在大公司,企业文化尤其鲜明。在测试部门,也是有一定的企业文化的。不得不承认,企业文化对一个人的影响还是很大的,至少是在对待工作的态度上。测试部门的企业文化是什么呢?我所认为的是,测试是检测和保证产品质量侧存在,而不是找到与产品设计不符的bug。我所在的公司,公司对测试部门放权是非常大的,测试具有一票否定权,测试说那是bug,开发是必须要改的,即使开发要争辩,也需要有充分的理由或技术理论验证,否则是无法向上级部门交代的,当然,这有好处也有不好的地方,对测试人员来讲,这是一件好事,测试人员有足够大的权力去决定产品质量,同时,也对测试人员有严格的要求,乱提bug肯定是不对,还必须时刻准备一些理论,去跟开发撕逼。

      这份工作做了不到一年,我就觉得很枯燥乏味,需要测试就那么一些东西,在技术上并没有多大的提升。但是这份工作也让我对测试这份行业打下了一个良好的基础,在大公司,可以学习到完整规范的测试流程,也让我明白一个测试人员真正的职责是什么。

五、迭代开发的团队模型

      新公司是一家小型企业,开发模式当然不能是传统的瀑布式开发,小型公司没有那么多的人力成本,所以,迭代开发是最近几年越发流行的开发模式,严格来讲,迭代开发还不算是敏捷开发。敏捷开发稍后再叙,先谈谈我理解的迭代开发。首先,在开发团队上,跟瀑布模型就有很大的区别,瀑布模型,开发跟测试是分开的,除了bug上的邮件交流,基本不会有出工作外的交流,二迭代开发,开发与测试是在一个团队,说到这里,传统的瀑布模型,开发与测试的比例大概在2:1或3:1,而迭代开发,开发与测试比例基本在8:2或9:1,这也表示,测试人员的生存环境越来越艰难,只会一点功能测试并不能满足迭代开发的要求了,更不要说要求更高的敏捷开发了,所以,测试人员必须要开始学习技术性的知识,否则被淘汰的几率是非常大的。

六、迭代开发周期

      迭代开发的周期大概在一周~两周,业务难度高的最多也不会超过一个月,迭代开发要求能更快地去响应客户,如客户在开发周期中提出产品业务的更改,迭代开发也是能及时作出调整,二留给测试人员的时间大概在2~3天,所以迭代中每出一个可测试的部分,测试人员需要及时去测试,提出问题,并及时跟进问题的解决进度。在整个过程中,测试人员是全部的迭代周期,在开发前期,测试人员需学习业务逻辑,制定测试计划,写测试case,完成这些工作之后,差不多第一个可测试的部分也就出来了,接下来就进入测试阶段。

七、迭代开发流程

      迭代开发像是给一个大圆以圆心为中点,将其分割成几个小圈,最核心部分的小圈是第一个迭代开发的,即实现产品的基本功能,也是最核心的功能,再一个迭代地往外拓展,直到整个大圆都完成。这种开发模式,是非常迅速的,一个迭代完成之后,立马进入下一个迭代,这就要求测试人员随时跟进产品质量,不能掉以轻心。

八、关于敏捷开发的浅层理解

      从测试角度来讲,我所理解的敏捷开发是比迭代开发更迅速但更稳健的一种开发模式,不仅对开发人员的技术要求有所提升,对测试人员也是。敏捷开发对测试来讲,应更深入到代码底部,到每一个函数,每一个变量,要求开发在完成一段可测试的代码后,便开始测试,从底层就扼杀掉一些bug,这也需要团队的协作能力,需进行单元测试,集成测试,才能算是真正的敏捷开发。

九、总结

      这两个月的测试工作对我来讲,是一个新的突破,让我对当前时代下的互联网开发有了更新的理解,希望以后可以多学习,快速成长起来。

相关文章

  • 从瀑布模型转向迭代开发

    前言 2017年4月17号,我入职新公司,心里有些忐忑,要重新学习公司的业务,重新认识新的同事,最重要是要改...

  • 7种模型

    1、瀑布模型 很显然不太适合当今的软件开发模式。 2、迭代模型 瀑布模型与迭代模型的区别: 宏观上,迭代模型是动态...

  • 软件工程(上)

    软件开发方法 软件开发模型 开发模型说明瀑布模型迭代模型/迭代开发方法演化模型快速应用开发增量模型构建组件模型/基...

  • 软件开发模式对比(瀑布、迭代、螺旋、敏捷)

    软件开发模式对比(瀑布、迭代、螺旋、敏捷) 瀑布模型 瀑布模型是由W.W.Royce在1970年最初提出的软件开发...

  • 敏捷简单总结

    经典的瀑布模型把软件开发过程划分为需求,分析,设计,开发,测试等阶段.而敏捷是通过迭代将瀑布模型分隔成更小的周期....

  • 【原创】产品生命周期模型

    产品生命周期模型有:瀑布模型、快速原型模型、迭代模型、螺旋模型、W模型、V模型。 瀑布模型(Waterfall M...

  • 系分第三次作业

    一、瀑布模型、增量模型、螺旋模型(含原型方法) 瀑布模型 瀑布模型的开发过程是通过设计一系列阶段顺序展开的,从系统...

  • (一)测试流程与理论

    1.软件开发流程与项目管理 软件开发流程的演变 传统瀑布模型->敏捷开发模型->DevOps开发模型 瀑布模型 瀑...

  • 螺旋模型

    4.1什么是螺旋模型 螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代特征以及瀑布模型的系统化与严格监控...

  • ACP笔记03|《高效通过ACP》敏捷框架

    本章内容:瀑布模型和敏捷模型的区别,敏捷宣言,敏捷原则,项目开发生命周期(预测型生命周期、迭代型生命周期、增量型生...

网友评论

      本文标题:从瀑布模型转向迭代开发

      本文链接:https://www.haomeiwen.com/subject/wazgqxtx.html