您现在的位置是:主页 > 数据库技术 > 数据库技术

Shift Left Testing和软件质量保证的思考是怎样的

IDCBT2021-12-31服务器技术人已围观

简介Shift Left Testing和软件质量保证的思考是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 在敏捷开发模

Shift Left Testing和软件质量保证的思考是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

在敏捷开发模式下,团队需要有持续快速的交付能力。那么在持续交付过程中,如何保证产品质量呢?大家的答案可能是自动化测试。

但是自动化测试是否足够、有效,即使足够、有效,就能说明产品质量好吗?测试结果只是一个指标,这个指标代表的只是在当前的测试环境下,现有测试实例的运行结果,是我们保证质量的下限。

软件质量不是测试出来的,而是在开发过程中建立起来的。控制开发过程中的质量有助于提高产品的质量上限。

Shift Left Testing,通俗理解就是把位于传统软件开发流程中最后阶段的测试往前提。提到哪一步呢?开发?设计?需求?我个人的理解是越往前越好。这意味着在整个开发周期内需要持续测试,持续关注质量,这一切都是为了提高质量的上限。

这会带来什么好处呢?

1. 减少测试和开发的成本, 提高投入产出比ROI(Return On Investment)

在软件开发的整个过程中,越早发现问题,修复的成本越小。

试想在所谓的集成测试阶段发现一个bug,花时间部署测试环境,准备测试数据,执行测试,重现bug,跟开发人员沟通,将bug分配给开发人员后,他/她们可能需要重新部署开发环境,重新开发,重新做代码审查,最后再走一遍测试流程。如果能在代码审查或者单元测试阶段发现这个bug,得节省多少时间?

2. 提高测试效率

如果能在需求,设计阶段能发现并阻止bug,可以节约很多开发生命周期的反复,同时在理解需求、代码的基础上进行测试,可以更有重点和针对性地面向业务和风险测试,而不会陷入测试细节,有效提高测试效率。

3. 提高质量

在需求层面保证并优化需求以及需求传递的质量,在代码层面保证设计的灵活性,代码的整洁性, 在开发过程中控制质量,提高产品内部质量。

Shift Left Testing是需要整个敏捷开发团队作为一个整体去遵循的。那么在一个敏捷开发团队中,作为一位QE,在整个产品的开发生命周期中需要怎么和团队合作呢?

1. QE作为敏捷开发团队的一员,可以做任何能帮助团队提高质量的事情, 没有界限,目的是为了帮助团队发现问题,解决问题,提高产品交付质量。

QE要能做到没有界限地提供质量保证,需要自身做出两个重要的改变:

(1) 全方面地提高自己的技能

如果缺乏相关的技能,比如业务能力和一定的代码能力,很难想象QE能够高效地参与到各个开发环节的讨论中,更谈不上能给出建议和意见。当然这不意味着必须让QE成为一名全栈工程师。QE需要去找到学习的平衡点。有些技能可能不是必须的,但是如果具备这些技能,会让QE以更加高效的方式做事。

标签:

很赞哦! ()

相关文章

本栏推荐