左移测试的类型

发表于:2023-6-06 09:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:李睿    来源:网络

  有四种不同类型的左移方法,每种方法提供不同的价值。
  1.传统的方法
  要理解传统的左移方法,首先理解软件开发生命周期中的传统V模型是很重要的。SDLC V-Model是基于每个开发阶段的测试阶段的瀑布模型的扩展。它也被称为验证和确认模型。下图显示了一个典型的V型模型。
  传统的左移方法减少了测试次数,从而将其移到V型模型右侧的左侧。单元测试和集成测试是传统左移方法的主要关注点。这种测试是使用API测试和Selenium完成的。然而,验收测试和系统测试并没有得到高度重视。
  2.增量方法  
  这种左移策略最适合开发复杂和大型软件系统的项目。同时管理所有任务和可交付成果有时变得很困难,因此它们被分成更小的块。这些组件构建在彼此之上,并且软件随每个增量一起交付给客户。在每次交付之后,开发和测试都被移到左边。这有利于测试团队测试每个组件。  
  因此,它通过增量开发周期来进行增量测试。下图显示了该过程的一个示例。
  3.敏捷/DevOps方法  
  这种左移测试方法通常在几个sprint中执行。它侧重于通过由各种较小的sprint组成的进化生命周期进行持续测试。它主要用于开发测试,而不是在系统操作化之后进行的操作测试。 
  4.基于模型的方法  
  左移方法的主要目标是尽早发现缺陷。然而,在上面讨论的三个模型中,测试将在开发周期的早期开始。因此,在需求收集期间遗漏了一些关键问题,这些问题在开发周期完成后才会被发现。
  左移的关键策略
  以下是一些可以实现的关键策略,以将软件测试向左转移。
  计划:这是左移战略的一个重要方面,因为它是测试生命周期任务的跳板。测试人员可以通过与管理层和运营利益相关者合作,更好地理解未来的需求。有了这种洞察力,就可以计划并确认预算、资源分配和测试策略。  
  静态测试:它在项目的早期阶段完成,包括需求和设计验证。使用静态测试,可以在项目生命周期的早期发现问题,以免它们变得过于昂贵而无法修复。
  统一的测试策略:使用统一的测试策略,企业可以评估自动化、存根、环境和测试数据上的限制,保证各自的团队能够满足需求。一般来说,这是端到端测试的高级方法,从单元测试到用户验收测试(UAT),再到操作准备测试(ORT)和部署后测试(PDT)。这一策略将涵盖所有质量保证(QA)职责和步骤。  
  基于风险的分析:软件风险分析决定了每个测试用例的结果和失败的概率。功能测试、非功能测试和回归测试都可以使用这种方法进行。
  如何实施左移战略?  
  左移不仅仅是帮助测试团队尽早发现缺陷,现在了解他们需要做些什么来开始左移测试:
  1.确定并计划测试生命周期
  计划是左移方法不可或缺的一部分。当测试分析人员在实际开发过程开始之前确定并计划整个测试生命周期时,它的效果最好。这为测试生命周期中的所有活动提供了一个强有力的起点,并将帮助所有业务和运营利益相关者、开发人员和测试人员理解项目的任务、目标和预期结果。  
  这样做的一种方法是从项目计划和需求规范阶段确定测试需求。测试计划包括预算、资源、测试策略和其他项目需求。这有助于团队从项目的第一天开始就关注质量,而不是等到软件开发生命周期的后期才发现缺陷。
  2.引入基于开发人员的测试方法
  开发人员的主要角色是根据需求编写新功能或增强功能。然而,测试不再是由测试人员完成的任务。  
  由于开发人员最熟悉他们的代码,他们可以严格测试自己编写的代码以排除任何缺陷,并检查应用程序的功能。确保新代码在与应用程序的现有功能集成时不会产生任何缺陷也是至关重要的。
  因此,一旦开发出代码进行测试,可以确保更快地识别缺陷。它加快了暴露和修复编码错误的速度。它有助于减少单元中的不确定性。开发测试的目的是在代码传递给质量保证(QA)团队之前消除编码错误。基于开发人员的测试和基于质量保证(QA)的测试的完美结合将确保轻松识别缺陷和发布高质量的功能。
  3.代码评审质量检查
  合作是成功的关键。为了确保更高的代码质量,所有开发人员必须同意遵守相同的编码标准。  
  随着开发人员为测试工作做出贡献,测试人员可以专注于为开发人员的脚本定义质量检查,并专注于探索性、安全性和性能测试
  4.使用相同的工具
  测试团队面临的一个重要问题是无法使用开发人员使用的相同工具创建自动化测试。这成为测试人员创建自动化框架的障碍。最佳实践是使用开发人员使用的相同技术堆栈。
  5.功能测试
  它是对软件进行更改以添加新功能或修改现有功能的过程。测试这些功能是非常重要的,并且逐步交付软件需要开发和质量保证(QA)团队协同工作来交付构建。
  在每次签入之后,就可以知道系统在缺陷方面的实际状态。通过严格的代码质量检查,可以在早期阶段检测到缺陷,因此更容易修复,从而提高每个功能的质量。
  6.采用测试自动化技术  
  在这种DevOps驱动的环境中,强烈建议采用测试自动化技术,以最大限度地提高左移测试的可用性。通过测试自动化,开发人员和测试人员可以在软件开发的所有阶段自动化整个从构建到测试的过程。
  为了降低测试成本,需要始终使用基于云的测试平台,以便企业的质量保证(QA)团队可以访问不同的浏览器、设备和平台。
  左移测试的挑战  
  正如人们所看到的,左移策略带来了许多好处。然而,每件事都有它的挑战。这是左移测试的一个限制。
  1.文化认可
  清单上的第一个是认可。左移测试需要企业文化的重大转变。习惯于传统工作流程的开发人员和测试人员可能会发现左移是一个偏差。它可能会打乱工作、工具和所需技能的流程。如何克服? 内化左移测试的重要性是很重要的。此外,倡导优先事项的学习会议有助于确保顺利过渡到新方法。
  2.精力浪费
  只有一些内容可以尽早测试。如果仍然需要打下基础,左移测试可能需要投入大量的精力和时间。在开发图形用户界面(GUI)之前编写测试的情况下,图形用户界面(GUI)功能很有可能在完全开发时需要更多的增强,因此大部分精力都被浪费了。
  如何克服?如果需要在早期测试特定的测试,则必须更早完成开发。例如,如果API测试对企业的项目至关重要,并且正试图进行左移测试,那么需要尽早开发API。  
  3.测试范围
  测试范围都涵盖了吗?需要多少自动化?准备好全套服务了吗?回答这些问题的答案可能会让人头疼。  
  定义智能测试策略是自动化测试成功的关键。以下是可以帮助确定是否应该自动化测试用例的因素列表。
  ·自动化的复杂性  
  · 平均脚本创建时间  
  · 期望的回归速度  
  · 发布的频率  
  · 构建的稳定性  
  · 测试用例的变更/增加率  
  左移测试的最佳实践
  本节将讨论在实现左移方法时应该遵循的一些最佳实践:  
  提供持续的反馈:  
  持续的反馈可以快速地修正误差和间隙。此外,它可以更好地了解每个参与者,并改进未来的项目。  
  为了实现有效的持续反馈循环,应该:
  · 为会议设定目标。  
  · 详细记录反馈。  
  · 确保有效的沟通渠道。
  1.早期测试
  早期的测试不应该意味着测试不会发生在软件开发生命周期(SDLC)的后期阶段。早期测试本质上允许通过早期缺陷检测来降低风险。这并不意味着缺陷不能在后期出现。因此,质量保证(QA)专家和项目经理应该准备好并利用持续测试。  
  质量保证(QA)专家应该列出代码预期的价值、执行和操作成就的程度,以便运行测试的开发人员了解应该搜索哪些缺陷。  
  2.自动化测试  
  每次更新、发布、定制和集成都会对系统的整体质量造成新的威胁。另外,人工测试不能满足更快、更高质量的软件开发的需求。  一个可行的方法是使用测试自动化,这为测试人员节省了大量的时间。
  3.静态代码分析
  静态代码分析是在不执行代码的情况下分析代码。它检查了基本的代码结构,并保证代码与各种规范和规则保持一致。在这一分析中,将根据指导方针和标准检查代码。静态代码分析的另一个好处是可以实现自动化。但是应该在软件开发生命周期(SDLC)的早期做这样的分析。  
  结论
  在持续开发周期的所有阶段都参与测试可能会让人望而生畏。尽管如此,来自测试社区的许多成功案例表明,无论成为什么角色,这都是可能的。
  一些专家表示,向开发人员展示如何进行测试的最佳方式是成为一名具有测试经验的开发人员。也有人说在项目的每个阶段都要“停下来思考和测试/审查”。如果有一些编码经验或对学习感兴趣,那么将其测试专业知识与实际开发工作相结合是一个很好的选择。  
  无可争辩的是,测试人员都将负责创建高质量的交付。如果企业的项目或团队正试图左移,那么这一指南可能是一个很好的手册,可以帮助他们以更快的速度交付优秀的产品。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号