带你玩转软件项目测试管理——项目研发管理模式(一)

带你玩转软件项目测试管理——项目研发管理模式

    众所周知,软件生命周期包括需求、设计、编码、测试、运行维护、退役6个阶段。而软件研发过程包含了需求、设计、编码、测试、交付、验收、维护7个过程。同样的,测试作为软件研发过程中的一个环节,也有自己独有的一套软件测试过程,主要包括测试需求分析、测试方案设计、测试用例设计、测试执行、测试发布5个过程,每个过程之间存在顺序性和依赖性。例如完成测试需求分析后,才开始进行测试方案设计,且测试需求分析的产物作为测试方案设计的输入。同时,5个过程与软件研发过程也存在交替性和依赖性。例如当软件研发过程完成了需求阶段工作后,测试过程的测试需求分析工作开始进行,且软件研发构成的需求阶段工作的产物作为测试过程的测试需求分析的输入。

具体如下:

带你玩转软件项目测试管理——项目研发管理模式(一)_第1张图片


    考虑每个软件研发过程比较复杂的,涉及了多人、多团队的协作,因此,如何有效地管理软件项目开发过程,增强团队成员、团队之间的协作,成为提高软件研发效率、保障最终交付的产品满足预期的目标的关键因素。所以,在软件项目启动前,软件项目经理或者开发经理,都会选择一种最适合当前项目的软件研发模式。其中,典型的的开发模型有11个,而常见的主要是瀑布模型、迭代模型、螺旋模型、敏捷开发模式。具体模型如下:

瀑布模型如下:
带你玩转软件项目测试管理——项目研发管理模式(一)_第2张图片

迭代模型如下:

     带你玩转软件项目测试管理——项目研发管理模式(一)_第3张图片

螺旋模型如下:

带你玩转软件项目测试管理——项目研发管理模式(一)_第4张图片

敏捷开发模型如下:

带你玩转软件项目测试管理——项目研发管理模式(一)_第5张图片

四种场景模型的特点、优缺点及适应场景如下:

带你玩转软件项目测试管理——项目研发管理模式(一)_第6张图片

        针对四种不同的软件研发模型,对于测试过程的要求是一样的,但是在每个过程的具体要求存在一些差异性。传统瀑布和螺旋模型,由于每个阶段之间存在顺序性和依赖性,且每个阶段都必须交付合格的文档产物,及整个研发周期相对较长,因此,测试介入的时间点相对更有弹性,允许测试人员在项目启动时部分到位,在进入测试阶段之前全部到位,对测试执行效率的容忍性也更高一些。而迭代模式和敏捷开发,因每个迭代周期短(敏捷1-2周;迭代3-4周),及过程中更强调软件产品、对文档的要求更简洁,且要求每个迭代生产出的软件产品是可运行交付的最小单位,因此要求软件测试人员全程参与,实时了解项目的迭代发布计划,及时设计合适的测试方案并根据情况研发所需的测试工具;同时,这两种模式,也对编译、部署、测试、交付的效率提出了较高的要求,需要配套的全自动化即持续集成、持续交付做支撑。




你可能感兴趣的:(软件测试技术)