敏捷测试在软件项目中的应用研究与实践

2020-06-21 15:28孟琪韩晓晶
科技资讯 2020年13期

孟琪 韩晓晶

摘  要:为了使软件在测试过程中所出现的问题被更好地解决,从而保证软件产品的测试顺利通过,在测试过程中引入相应的敏捷测试方法和理念是非常重要的,可以使测试进度加快,同时也可以提高测试过程中的科学性。基于此,该文针对敏捷措施的核心理念及关键方法展开论述,说明了敏捷测试在软件测试中的应用理念和实践流程,希望可以为软件测试工作提供一定的参考。

关键词:软件质量  敏捷测试  客户需求

1  敏捷开发产生的背景

当前,互联网行业成为了新一轮经济增长的重点领域之一,作为互联网行业中的重要组成部分,软件开发和测试工作的重要性不言而喻[1]。

在传统的软件开发模式中,工程师对于开发的流程规范性和开发文档是否齐全非常重视。并且,开发者在开发的整个流程,从系统的需求分析到软件产品的最终发布,都按照正常顺序进行,对于开发过程中的各个环节都进行严格的把关并反复地测试。并且通常遵循自上而下的顺序。

在这种开发背景下,往往会产生大量的开发文档,并且在开发的早期工程师不能够直接观测到开发的结果和阶段性进度,一旦用户的需求发生了调整,那么整体的文档都需要被重新构建重写。并且之前的工作往往需要推导出来,不能享用用户的动态需求,费时费力,软件产品发布的风险也大大提高。但随着当前软件开发工程的需求量不断变化,用户的需求也呈动态性。上述情况表明,以往的开发模式在当今复杂多变的用户需求下,已经远远不能适应。

根据上述情况,为了快速地响应客户的实际需求,与需求为核心的敏捷开发应运而生,在这种模式下测试和开发工作呈现你中有我,我中有你,不再各自独立。并且软件开发中的一个关键环节就是测试工作,为了保证软件产品的质量,敏捷开发使测试员从客户的角度提出相應的需求,然后软件测试人员在与开发人员一起将客户的实际需求转变为可执行的规范,再用这些规范来指导代码的编制。随着编码和测试的同步进行来建立新软件的基本框架和软件的品质表现,一直到软件产品满足客户的实际需求[2]。

2  敏捷测试的特点

作为一种更接近人类活动和实际情况的方法,敏捷软件开发讲究以人为本,在开发中满足软件的不断变化的动态需求,毕竟敏捷测试提倡个人小于团队,团队的工作任务是以客户需求为导向,来积极地投入到软件产品的开发过程中,并且根据客户的变化需求来及时地交付软件产品。上述开发模式使得缺陷的数目可以在早期的项目过程进行中得到有效的控制。同时也可以使软件测试的作用在敏捷开发中更加充分地发挥出来。

敏捷测试主要有如下几个方面的特点:首先,敏捷测试在迭代过程需要技术人员针对产品本身有一个大概的了解和认识,从用户的角度来分析软件的应用需求和软件的测试策略,从而高效准确地完成测试工作,并且在测试过程中应该积极地创建应对方法和思路,确保按时完成产品的开发工作。其次,在整个产品的开发过程中,测试的方法十分灵活,敏捷测试可以根据软件工程的进度,来针对性地采用各种方法和测试手段。例如,如果客户对软件的需求发生变化,那么软件的功能也应该得到及时的调整,但是对于一些较为成熟平稳的功能,可以用自动化的测试方法测试,对于一些具有探索性的功能可以人工测试。最后,作为敏捷开发中最为核心的部分,客户的需求必须被测试所紧紧围绕和保障。

3  敏捷测试项目实践

3.1 敏捷测试的流程和方法

在一些应用类的软件产品测试中,采用敏捷化的测试理念,可以引入先进的控制方法和测试过程,针对传统的测试流程中的复杂文档和计划进行合理的扬弃,取而代之的是灵活迭代和精简计划。

3.1.1 迭代计划

迭代计划是测试团队和开发团队进行充分交流的基础上进行的测试迭代计划,测试迭代和开发迭代之间相互关联又相互独立。并且开发迭代工作在整个软件开发工程的项目中都不受到测试周期的干扰和影响,在软件的测试阶段乃至前期的开发初始阶段,都可以持续反馈各种各样的漏洞,然后修复工作随时进行。总体来说,稳定工程的测试工作和正常的开发工作步伐基本相同。

3.1.2 设计过程

根据设计的迭代计划,团队中的开发和测试小组进行分工,并且在设计的评审阶段,测试小组和开发小组成员共同进行,针对开发过程中的设计和测试环节进行充分的论证,并针对设计过程中的一些意见提出各自的看法,尽可能将问题扼杀在起始阶段。

3.1.3 提交与验证

首先,开发团队成员在完成了初步的开发工作以后就可以提交测试团队,然后测试团队就可以根据开发团队的成果进行测试的准备工作,软件项目的初始版本一旦提交就可以进行下一轮的开发;其次,团队的测试工作需要在第1代版本提交过程中,将下一轮的目标变更情况进行明确,从而及时调整测试方法和方向来指导测试的具体性工作;再次,在测试和验证阶段,测试驱动可验证的过程之间具有着十分紧密的联系,一旦在测试期间发现任何漏洞,需要及时与软件开发人员进行反馈和沟通,保证测试过程中所发现的漏洞,在下一个迭代版本中能够被及时地修复[3];最后,在软件工程的测试过程中,进行每日例会是非常重要的,团队成员可以将测试工作情况进行逐页的汇报,使每一位成员都了解项目工程各个具体细节的进度情况,并且每一位参会的成员都可以提出测试工作中所需要协调解决的各项问题,然后再依托团队的力量进行集中解决。

3.2 敏捷测试的优势

3.2.1 迭代周期明显缩短

在以往的测试中,测试活动和开发之间的联系相对比较紧密,所以测试活动和开发之间往往需要较长的空窗期。上述情况造成软件工程迭代的周期相对比较长,但一般情况下,测试工作和开发工作往往处于并行,在工程项目开发的各个阶段都应该有测试人员的身影,这样就避免了缺陷暴露的时候不被发现的问题,也可以使软件工程的迭代周期大大缩短。

3.2.2 软件质量有效提升

所有的软件测试活动在敏捷开发模式下都紧紧围绕软件工程的质量展开,软件的设置人员需要具有较高的专业技术水平,并且在测试的过程中,也应该快速地响应市场和用户的需求。在敏捷测试过程中,十分注重用户体验和产品自身的质量问题。综上所述,为了将版本的迭代速度大大缩短,技术人员应该通过持续性的设置来提高工程的开发水平和管理水平。

3.2.3 流程精简高效

一般情况下,与传统的软件开发流程不同,敏捷测试不会死板地遵从经典软件开发流程,由于传统的软件开发流程,往往会由于缺乏一些必要的开发文档而停滞不前,造成了软件开发工作的制约。但敏捷测试流程相对精简高效,其理念是为软件开发所提供良好的配套服务,所以如果开发需求不能对开发流程所满足时,或者开发流程和开发之间产生冲突时,应该软件开发作为主导,适当地改变软件的测试流程。

4  结语

在敏捷开发中,软件测试应该遵循敏捷开发的基本性原则。软件工程在测试过程中应该根据不同的开发流程和环境进行分门别类的调整,敏捷开发中的敏捷测试方法在软件工程的测试过程中也应该被工作人员所充分重视。在软件测试过程中,往往会涉及到测试的充分性,以及分析不同软件版本的测试关系,所以还应该将传统测试方法中的一些优秀策略应用到敏捷测试中,只有这样才能更好地为软件项目提供测试服务。

参考文献

[1] 胡兆华,何舒,王慧.敏捷测试在软件项目中的应用研究与实践[J].数字技术与应用,2017(9):92-93,95.

[2] 覃琳,杨程,孙卫宁,等.基于敏捷开发下的协同创新管理服务平台能力提升[J].企业科技与发展,2019(2):9-10.

[3] 孙子谦,王雅琴,黄明明.戴明循环在敏捷软件质量管理中的应用方法研究[J].计算机应用与软件,2016,33(11):8-10.