敏捷测试敏捷在流程的定义上,并不是敏捷在测试角色定义上,如果你想保证测试的最终有效性,请不要随意修改或者删除这些已经定义的测试角色和其相关职责。敏捷测试过程同样存在着一个成熟度模型,5个级别的成熟执行
过程。我个人认为测试成熟度模型不必过于复杂,每一个层次的可明确定义是最重要的,和所有的软件开发模型一样,每个阶段都有其向上一层次进化的路径。在研究测试成熟度模型的时候,我发现一个非常有意思的事实,很多
公司都急于把测试的最初阶段迅速提高到最终第五层次,当他们迷信的投入的大量资源的同时,却得到了失败的下场。
测试成熟度的各个阶段进化过程都需要定量的时间,明确的工作角色被分配,这些都是向下一级过渡的必要条件。同样,测试成熟度也关联了一个测试人员的职业成熟度,即使测试成熟度达到了顶级,没有相关联的测试人员,整
体执行的结局还是失败,这和极限编程的某些理论一致:某些特定角色是整个团队的灵魂。
初始阶段(Ⅰ级)
测试成熟度的初始阶段主要表现为以下特征:
1. 无专职测试人员参与。
2. 项目团队无测试意识或者测试意识淡薄。
3. 测试动作表现为混乱无序状态,测试等同于个人调试行为。
4. 测试在编码后任意进行。
5. 软件开发过程无质量保证,无相关资源投入。
6. 无测试管理,测试无目标。
7. 在整个软件开发过程中,测试不是一个重要的参与环节。
事实上大部分的国内公司都是这样的,对软件测试不是很重视,并且部分项目管理者自身也不懂软件测试,如果再采用“盖鸡窝”软件开发方式,那么出现十个项目九个崩溃的情况是不足以为奇的。测试虽然不能从最终意义上保
证软件的整体质量,但是它能及时的反馈当前软件质量状态,有助于及时的发现问题最快速的改正问题,需要注意的是,敏捷测试在某些特定情况下支持开发团队全面负责软件测试任务。
已定义阶段(Ⅱ级)
测试成熟度的已定义阶段主要表现为以下特征:
1. 测试和调试已经分离。
2. 测试在编码后进行,或者在产品即将发布的最后有限规定时间内进行。
3. 掌握了部分基础测试方法和基础测试理论,具备一些必要的测试角色和支持角色。
4. 测试角色职责模糊,无准确定义。