独立软件测试团队在敏捷开发中的几个特别实践

简介:

最近读了《测试人与敏捷团队的五个约定》,很是赞同。但发现其并没有紧扣敏捷开发测试的特点,这五个约定在传统开发中已经早有实践,也有相关论述。哪么在敏捷开发的测试方面有没有不一样于传统开发测试的并且是有效的实践?

  从敏捷团队的组建上来说,敏捷团队并没有要求安排专门的测试人员,甚至于在某些的方法中不建议清楚的区分开发人员角色和测试人员角色。 本文讨论的是已经存在独立测试团队的情况,如何在敏捷开发中进行高效的测试。

  实践1:测试保护开发

  通过快速的自动化测试跟进开发,保证新增和修改不破坏已经获得的成果。

  典型步骤如下:

  1、开发人员根据需求,采用TDD,编写代码,实现界面和接口。

  2、几乎同步,测试人员编写自动化测试,主要是黑盒自动化测试,也不排除白盒自动化测试。

  3、一般保证,代码出来后的第2天,相关的自动化测试代码开发完成。

  实践2:成为大敏捷团队的成员

  子实践1:参加相关会议,如果是SCRUM,参加SCRUM所有要求的会议。

  子实践2:可以阅读和修改最大范围的配置项(比如文档,代码,工作项)

  子实践3:一起工作,比如把位子搬到开发人员旁边,如果同时参加多个项目,选择一个较近距离的位子。

  说明:这个实践本身的宗旨与传统做法并无根本区别,这里的区别在于程度。

  实践3:与定期构建一起执行测试人员的自动化测试用例,或者定期构建包括测试人员的自动化测试。

  这里用了”测试人员的自动化测试用例“,也有做法是测试人员和开发人员一起维护自动化测试用例,并没有“测试人员的自动化测试用例“,这里主要说明无论测试人员贡献的自动化测试用例处于何种形式,无论构建是否包括测试人员的自动化测试用例,就是要求自动化测试能与构建为基来执行。

  子实践1:维护一套自动化测试环境,可以自动获得最新的测试用例和构建成果

  子实践2:测试结果可以自动发布到合适的地方,缺陷得到跟踪管理

  实践4:设计更多黑盒手工场景化测试用例,安排更多随机场景测试

  关注于局部功能的测试用例在敏捷开发中往往已经被自动化实现了。因此为了发布的测试中,值得设计更多黑盒手工场景化测试用例。选择一些典型场景化测试用例开发为自动化测试用例也是可以的,但是此类测试用例的自动化开发所需工作量较大,要看测试团队的投入和质量目标安排,如果有象微软一样的测试开发工程师,就另当别论了。一般而言,从经济角度出发,黑盒手工场景化测试用例是发现潜在缺陷的有效且经济的手段,如果存在丰富经验的测试人员,随机场景测试也是值得更多采用的。本实践在传统测试中也有,这里要强调的特别之处是可以考虑手工测试全部用场景化测试,大幅减少针对单一功能或局部功能的测试用例。

  对测试人员的要求

  从以上实践可以看到,测试人员所要掌握的技能有黑盒自动化测试、场景化测试,最好也要常握白盒自动化测试,定期构建和自动测试报告

  工具支持

  常见的有fit,fitnesse,white,watir,selenium,cruisecontrol,QTP,robot,xUnit系列xFit系列等等

  效果和校验

  上述的实践是否有效、是否高效,可以观察如下几点:

  1、达到发布条件所需的测试轮次是否减少?测试缺陷密度是否减少?

  2、获得快速发布的能力,发布工期偏差是否减小?

  3、测试所需总的工作量是否在测试团队承受的范围之内,尤其关注测试后期的工作量是否大幅减少,减少的数量是否比在测试前期增加的数量要更大?

  如果没有获得正面收益,就需反思了。








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
22天前
|
安全 Linux 测试技术
提升龙蜥内核测试能力!探究持续性模糊测试优化实践
清华大学软件学院对Anolis OS使用靶向模糊测试方法将测试工作引向修改的代码,进而提高对业务代码的测试能力。
|
8天前
|
敏捷开发 监控 前端开发
深入理解自动化测试框架Selenium的架构与实践
【4月更文挑战第16天】 在现代软件开发过程中,自动化测试已成为确保产品质量和加快迭代速度的关键手段。Selenium作为一种广泛使用的自动化测试工具,其开源、跨平台的特性使得它成为业界的首选之一。本文旨在剖析Selenium的核心架构,并结合实际案例探讨其在复杂Web应用测试中的高效实践方法。通过详细解读Selenium组件间的交互机制以及如何优化测试脚本,我们希望为读者提供深入理解Selenium并有效运用于日常测试工作的参考。
14 1
|
8天前
|
自然语言处理 测试技术 API
深入理解自动化测试框架Selenium的设计理念与实践
【4月更文挑战第15天】 在现代软件开发过程中,自动化测试已成为确保产品质量和加速迭代的关键手段。Selenium作为一种广泛使用的自动化测试框架,提供了对多种浏览器和平台的支持,极大地促进了Web应用的功能测试。本文旨在剖析Selenium的核心设计理念,探讨其在实际项目中的应用,并指出常见的误区及最佳实践,以期帮助测试工程师更高效地利用Selenium进行测试工作。
|
17天前
|
安全 测试技术
深入理解白盒测试:方法、工具与实践
【4月更文挑战第7天】 在软件开发的质量控制过程中,白盒测试是确保代码逻辑正确性的关键步骤。不同于黑盒测试关注于功能和系统的外部行为,白盒测试深入到程序内部,检验程序结构和内部逻辑的正确性。本文将探讨白盒测试的核心技术,包括控制流测试、数据流测试以及静态分析等方法,同时介绍当前流行的白盒测试工具,并讨论如何在实际项目中有效实施白盒测试。文章的目标是为软件测试工程师提供一份综合性指南,帮助他们更好地理解和应用白盒测试技术。
|
29天前
|
敏捷开发 测试技术 持续交付
深入探索软件测试自动化:框架与实践
在快速演进的软件行业中,测试自动化已成为确保产品质量和加快上市速度的关键因素。本文将深入分析测试自动化框架的构建要点,探讨其在实际应用中的效益,以及实施过程中可能面临的挑战。通过对比手动测试与自动化测试的优势与局限,本文旨在为读者提供一套系统化的测试自动化实践指南,以支持更高效、可靠的软件开发周期。
11 0
|
29天前
|
传感器 监控 算法
【软件设计师备考 专题 】模块测试的方法和实践
【软件设计师备考 专题 】模块测试的方法和实践
71 0
|
1月前
|
敏捷开发 IDE 测试技术
深入理解自动化测试框架Selenium的设计理念与实践
随着敏捷开发和持续集成的理念深入人心,自动化测试在软件开发周期中扮演着越来越重要的角色。Selenium作为一个广泛使用的自动化测试工具,其设计理念和实践对于提高测试效率和质量具有指导意义。本文将深入探讨Selenium的核心设计原则、架构以及最佳实践,旨在帮助读者构建更稳定、高效的自动化测试系统。
|
1月前
|
jenkins 测试技术 持续交付
深入理解自动化测试框架设计原则与实践
本文旨在探讨自动化测试框架的设计原则及其在实际项目中的应用。通过对自动化测试框架的系统剖析,我们揭示了有效构建和维持测试框架的核心要素,并提供了一套实用的指导方案来帮助读者实现高效、可靠的自动化测试流程。文章不仅聚焦于框架的技术细节,也强调了灵活性、可维护性和可扩展性在设计时的重要性,同时结合实际案例分析,展示了如何在不同测试环境中定制化和优化测试框架。
|
1月前
|
机器学习/深度学习 敏捷开发 人工智能
深入探索软件自动化测试:框架与实践
【2月更文挑战第30天】 在快速迭代的软件开发周期中,自动化测试已成为确保产品质量和加快交付速度的关键因素。本文将深入探讨自动化测试的核心概念、常用框架以及在实际项目中的应用实践。我们将分析自动化测试的优势,并讨论其在不同开发阶段的作用,同时提出构建高效自动化测试流程的策略。通过实际案例分析,本文旨在为读者提供一套系统的自动化测试解决方案,以应对日益复杂的软件测试挑战。
|
1月前
|
敏捷开发 机器学习/深度学习 人工智能
探索自动化测试在敏捷开发中的关键作用
【2月更文挑战第28天】 随着敏捷软件开发模式的普及,快速迭代和持续交付成为企业追求的目标。本文将探讨自动化测试作为敏捷实践中不可或缺的一环,如何通过提高测试效率、保证产品质量以及促进团队协作来支撑敏捷开发的快速节奏。我们将分析自动化测试策略的设计原则,展示其在真实项目中的应用效果,并讨论面临的挑战与未来发展趋势。