川模型
出自 MBA智库百科(https://wiki.mbalib.com/)
目录 |
川模型,是在学习借鉴了前辈们提出的X模型、H模型、前置测试模型等测试过程指导模型的基础上,根据"以测试者引导开发,以文档化把控质量"的测试实施理念和多年的工作经验,作者提出了一款新的、更适合中国国情的软件测试模型。
1)验收测试实施流程
该流程提出的目的与重点在于保护用户的真实需求,因为最终产品或项目能否成功交付,验收结果是重要的依据,而验收的主导者一定是用户(代表)。该流程的起始阶段就是在投入真正的研发和测试之前,根据项目需求及测试需求设计出验收方案,以纸质方案的形式与用户(代表)进行评审,以减少后期由于三方(用户、研发、测试)需求不一致的原因导致开发迭代增加。同时,以此验收方案为标尺,约束另两个流程的实施。
2)需求级测试实施流程
该阶段强调测试伴随着整个软件开发周期,测试与开发并行进行,达到尽早发现问题的目的。把测试的对象扩展成程序、设计(文档资料)、数据等内容,测试工作实时准备,以达到在某个测试点准备就绪时,可迅速切入到测试执行阶段。在该流程中,把迭代测试的内容进行了细致的分析与说明,明确提出迭代过程中需要进行单元/集成测试、功能测试、自动化测试、安全性测试以及专项测试。把自动化测试与安全性测试提高到测试指导阶段,也是当今科技发展的必然趋势。
3)业务级测试实施流程
如果把测试人员按测试能力分为测试负责人、测试执行人员,那么需求级测试实施阶段的测试执行可以让测试执行人员进行,但是业务级测试实施流程的主要执行人员就应该定位成测试负责人,至少应该是测试负责人主导测试。其根本原因在于该阶段的意义是业务、风险等的把控,并且引入了探索性测试,是作为需求级测试阶段的有利补充。
需求级测试实施流程与研发流程无缝有机结合。业务级测试实施流程存在的价值在于把控与掌握住了产品实际投入使用时的场景、风险等因素,对着重需求进行针对性的设计,满足“八二法则”的经典理论,该流程即把重点放在了“二”上(用户使用的80%的场景可能就存在于20%的功能中)。验收测试实施流程依托于用户的实际需求与前期的测试分析,它作为软件生命周期的标尺,运行到产品或项目结项,最大程度上满足用户需求。
川模型突出体现了测试活动对质量把控的重要性。从项目的可行性分析开始,测试人员就担负着重要的角色。同时,把测试需求说明书、验收方案、测试方案的重要性与提出时机进行了说明。体现:
1)需求分析需要产品/项目经理、用户、测试人员等全程参与;
2)测试需求说明书需要测试人员起草,由产品/项目经理、用户、研发等共同审核通过;
3)验收方案提前由测试人员编写,由产品/项目经理、用户共同审核通过;
4)研发设计阶段主要依据测试需求说明书编写(其次可参考软件需求说明书),在还没有进行完代码开发之前,测试人员提前输出依据测试需求说明书编写的测试案例,由研发人员提前参考,提高研发依据测试案例开发代码的测试通过率;
5)迭代阶段大部分在需求级测试实施流程,测试工作实时准备,以便迅速切入测试执行;
6)业务级测试实施阶段的执行工作是需求级的补充,在软件研发的中后期无缝切入;
7)验收执行的触发点是业务级测试通过,验收工作完成后,进行项目资料归档工作;
8)研发过程中,如果有任何变更,需走变更控制程序,返回测试需求分析阶段,并根据实际情况与要害人员输出变更后的系列资料(验收方案、测试案例等)。
1)体现测试的使命与重要地位
在川模型上,可以很容易的看出测试工作对软件质量的保证意义与实施方法。区别于其他模型,该模型更加清晰、系统的说明了测试的使命,并且该模型真正站到了测试的角色,以测试保证最终用户质量的认可下指导研发的工作,作为研发工作的标尺。
2)体现测试先行的重要意义
从产品/项目的可行性分析开始,测试活动就一直伴随整个生命周期,真正体现了“尽早地、不断地进行软件测试”的原则。
3)文档化的重要性与可追溯性的提出
在现今越来越快的产品/项目的交互进程中,人们对文档化的需求越来越迫切,文档化不仅可以使研发、测试过程更加有理、有据、科学,也为以后的可追溯性提供了基础。同时,产品/项目前期就对测试案例化的要求,对研发的指导意义更大,研发完全可以“依据测试案例设计软件,案例通过即研发完成”的标准进行开发活动,避免了由于需求不一致的情况下导致研发冗余或功能缺失,提高了工作效率。
4)提出三种测试技术相结合的规程
川模型第一次提出了三条执行线的工作模式。验收实施流程作为整个产品/项目的指导流程执行,它与用户最紧密相关,最能体现用户的实际需求,同时避免、减少了在工作过程中的随意变更;需求级实施流程则最有效的保证了测试覆盖率,并且与研发的交互也更加顺畅,提高了测试与研发迭代的敏捷度;业务级实施流程则通过有经验的测试人员,把最重要需求做了风险、场景、探索等地设计验证,可以这样说,经过最后一条执行线的梳理后,用户的实际并且经常使用的功能都被覆盖到。
除了需求级实施流程与研发的交互紧密而充分外,另两个流程相对独立,降低了研发过程干扰,为保证软件质量提供了有利基础。
5)等时线为质量保证提供了基础
该模型首次提出等时线的概念,在时序上,避免了工作重复甚至没有必要的交叉。正如该模型的约束,我们必须先进行测试需求分析,输出测试需求说明书后,才可进行验收测试设计;在验收测试设计快完成时,才可以进行需求级测试设计,保证了测试设计与验收标准的高度统一;业务级实施流程通过后,才可进行验收执行工作。从另一层面,也对测试提出了更高的要求,例如在研发提交代码之前,测试的准备工作必须完成,可随时切入工作;有需求变更时,测试人员需要先后更新测试需求说明书、验收方案、测试方案等内容,审核通过后,实时共享给要害人员,确保项目的顺利进行。