敏捷测试管理探讨
作者:网络转载 发布时间:[ 2011/12/12 9:54:07 ] 推荐标签:
1、敏捷开发对测试的挑战
随着软件系统的规模和复杂性的提高,软件的生产成本、软件缺陷以及故障造成的各类损失日益突出,软件质量问题己经成为所有使用和开发软件的人们共同关注的焦点。而随着企业竞争的日益激烈,客户对于软件产品的要求和期望日益提升,软件需求频繁变动,使得当今软件项目面临着严峻的考验,由此,敏捷开发过程(Agiledevelopmentprocesses)兴起[1]并不断发展。但是,如何在多变的环境中,既保持整个测试项目的灵活性,又保证高质量地按时发布软件产品,已成为近年来软件测试行业所面临的重要课题[2-3].
随着敏捷开发过程的应用,传统的软件测试流程使测试人员经常面临时间短、测试任务重的尴尬处境。软件测试主要面临的挑战有:
1)需求模糊,需求变化快,不断增加或变化新功能,造成质量风险;
2)开发周期缩短带来测试时间压缩,引起测试时间紧迫;
3)冒烟测试频繁执行,回归问题增加,导致测试任务繁重;
4)软件开发全生命周期各环节的开发人员与测试人员沟通成本偏大,测试有效性降低;
寻求敏捷的测试管理佳实践,提升敏捷测试的有效性和灵活性是解决上述问题的重要途径。下面将从敏捷测试的组织、测试策略和过程管理这3方面分析敏捷测试管理模式,在保证软件产品质量的前提下,缩短测试时间,提高测试中对过程和状态的监控能力,保证测试覆盖率、有效性和产品质量。
2、敏捷测试的组织管理
敏捷测试通过不断修正质量指标,正确建立测试策略,确认客户的有效需求得以圆满实现并确保整个项目过程安全、及时地发布终产品。所以对于敏捷测试人员,要求其在整个项目开发过程中关注产品需求和产品设计;在完成各项测试计划、测试执行工作的同时,需要参与几乎所有团队(例如开发团队、设计团队等)的讨论和决策。
为了保证敏捷过程中快速应对变化的要求,一般一个产品开发团队将被划分成几个相对独立敏捷开发团队,而敏捷测试人员则分配到不同的敏捷开发团队中,并在各自的敏捷团队中自我管理模式下制定可行的计划与自行分配任务,并直接报告给项目的管理层。只有在特定的集中测试模式下才需要通过测试团队管理者(例如,测试经理)形成整体的测试计划和报告。因此,敏捷测试团队是一支即能独当一面又能够默契合作的适应力,灵活性很强的团队。这意味着敏捷测试团队相对于传统的组织结构,从自上而下的领导分配任务的管理方式向高度协同、民主方式转变,如图2所示。首先,测试团队充分授权各测试成员,对于如何交付结果,成员可保持较大灵活性,但测试成员自身需要对这些结果负责。其次,当敏捷团队各自计划和实施其工作时,测试团队管理者需要协调测试成员的资源共享和竞争测试问题,帮助测试成员建立比较清晰的责任界限,进行团队角色划分,协调测试团队中各种资源的使用,鼓励测试人员之间的相互交流和协作,帮助培养测试人员对其所属的自主决策能力。这种敏捷测试团队组织方式的改变,能有效缩短测试人员与开发人员的沟通成本,提高沟通效率。
随着软件系统的规模和复杂性的提高,软件的生产成本、软件缺陷以及故障造成的各类损失日益突出,软件质量问题己经成为所有使用和开发软件的人们共同关注的焦点。而随着企业竞争的日益激烈,客户对于软件产品的要求和期望日益提升,软件需求频繁变动,使得当今软件项目面临着严峻的考验,由此,敏捷开发过程(Agiledevelopmentprocesses)兴起[1]并不断发展。但是,如何在多变的环境中,既保持整个测试项目的灵活性,又保证高质量地按时发布软件产品,已成为近年来软件测试行业所面临的重要课题[2-3].
随着敏捷开发过程的应用,传统的软件测试流程使测试人员经常面临时间短、测试任务重的尴尬处境。软件测试主要面临的挑战有:
1)需求模糊,需求变化快,不断增加或变化新功能,造成质量风险;
2)开发周期缩短带来测试时间压缩,引起测试时间紧迫;
3)冒烟测试频繁执行,回归问题增加,导致测试任务繁重;
4)软件开发全生命周期各环节的开发人员与测试人员沟通成本偏大,测试有效性降低;
寻求敏捷的测试管理佳实践,提升敏捷测试的有效性和灵活性是解决上述问题的重要途径。下面将从敏捷测试的组织、测试策略和过程管理这3方面分析敏捷测试管理模式,在保证软件产品质量的前提下,缩短测试时间,提高测试中对过程和状态的监控能力,保证测试覆盖率、有效性和产品质量。
2、敏捷测试的组织管理
敏捷测试通过不断修正质量指标,正确建立测试策略,确认客户的有效需求得以圆满实现并确保整个项目过程安全、及时地发布终产品。所以对于敏捷测试人员,要求其在整个项目开发过程中关注产品需求和产品设计;在完成各项测试计划、测试执行工作的同时,需要参与几乎所有团队(例如开发团队、设计团队等)的讨论和决策。
为了保证敏捷过程中快速应对变化的要求,一般一个产品开发团队将被划分成几个相对独立敏捷开发团队,而敏捷测试人员则分配到不同的敏捷开发团队中,并在各自的敏捷团队中自我管理模式下制定可行的计划与自行分配任务,并直接报告给项目的管理层。只有在特定的集中测试模式下才需要通过测试团队管理者(例如,测试经理)形成整体的测试计划和报告。因此,敏捷测试团队是一支即能独当一面又能够默契合作的适应力,灵活性很强的团队。这意味着敏捷测试团队相对于传统的组织结构,从自上而下的领导分配任务的管理方式向高度协同、民主方式转变,如图2所示。首先,测试团队充分授权各测试成员,对于如何交付结果,成员可保持较大灵活性,但测试成员自身需要对这些结果负责。其次,当敏捷团队各自计划和实施其工作时,测试团队管理者需要协调测试成员的资源共享和竞争测试问题,帮助测试成员建立比较清晰的责任界限,进行团队角色划分,协调测试团队中各种资源的使用,鼓励测试人员之间的相互交流和协作,帮助培养测试人员对其所属的自主决策能力。这种敏捷测试团队组织方式的改变,能有效缩短测试人员与开发人员的沟通成本,提高沟通效率。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南