您好, 访客   登录/注册

软件开发中测试驱动开发的运用

来源:用户上传      作者:

  摘  要:随着科学技术的飞速发展,人们对软件功能需求也在不断增加,为了满足人们的需求,则需要不断提高软件开发效率,特别是软件开发的编码质量应不断提高,避免因编码问题而为软件的使用埋下功能隐患。测试驱动开发在软件开发中的应用,相比于传统的软件开发形式,更注重先测试后编码,这种方式有效规避先编码过程中可能出现的编码问题,进一步提升软件开发的编码质量。因此,在新时期发展中,应加大测试驱动开发在软件开发中的推广,将其的价值充分体现出来,进一步提升软件开发的质量。
  关键词:软件开发  测试驱动开发  运用
  中图分类号:TP311.52                             文献标识码:A                         文章编号:1672-3791(2019)04(b)-0019-02
  Abstract: With the rapid development of science and technology, people's demand for software function is also increasing, in order to meet the needs of people, it is necessary to constantly improve the efficiency of software development, especially the quality of software development code should be constantly improved, to avoid the hidden danger of software use caused by coding problems. The application of test-driven development in software development, compared with the traditional software development form, more attention is paid to test before coding, which effectively avoids coding problems that may occur in the process of coding first and further improves the coding quality of software development. Therefore, in the new era of development, test-driven development promotion should be increased in software development to fully reflect its value and further improve the quality of software development.
  Key Words: Software development; Test-driven development; Using
  在信息时代发展中,计算机软件的发展也极为迅速,尤其是在人们使用软件的过程中,也会在原有功能基础上提出更高的要求,而为了能够进一步满足客户对软件的功能需求,也对软件开发人员提出更高的要求,如何能够在软件开发中具有高效性是每位软件开发人员重点思考的问题。在新时期发展中,软件开发中测试驱动开发的运用,可有效提高软件开发的效率,以下该文则主要对软件开发中测试驱动开发的几方面运用进行分析。
  1  测试驱动开发分析
  1.1 原则要求
  在测试驱动开发的过程中,应根据实际测试要求,保证在检测过程中分清所需要检测的各类代码,并根据不同代码测试设定相互的间隔,进而有效避免在测试的过程中忽视一些细节性问题,同时避免了增加测试的复杂度[1]。另外,在实际操作中,应对所出现的功能点进行测试,尤其是在需要添加功能需求的情况下,应将其添加到测试列表中,严格遵循着测试全面性、准确性的原则,规避因测试不全面而埋下不必要的风险。另外,测试驱动开发过程中应不断完成相关的测试实例、功能代码、重构等,避免出现疏漏,同时也应避免干扰到当前正在进行的工作。例如,在编写测试代码的过程中,应充分考虑到该如何使用和測试,然后再进行合理的设计和编码,将其写入功能代码判断用句的过程中,应合理写入对应的辅助语句,才能保证测试驱动开发的有效性、合理性,同时也规避了一些因编写不合理而产生不必要的麻烦。
  1.2 开发的原理和过程
  测试驱动开发的过程中主要原理是需要明确所要开发的功能,并在此基础上考虑该如何设计相关的设计代码,严格按照用户的相关使用需求编写出功能符合的代码,进而保证测试的有效性。当然,测试开发的过程中,应循序渐进地进行开发,最终保证所有的功能都能被开发。测试驱动开发的过程中首先要明确所需要开发的功能[2]。其次,在明确功能要求的基础上进行编写测试,写入相对应的功能代码。再次,保证测试能够重构代码,并对所编写的代码进行全面的分析,是否存在运行问题,一旦发现有问题应及时更改代码,保证测试驱动开发的全面性、有效性。进而保证整个测试的便捷性、高效性。另外,由于用户对功能需求的不同,在测试驱动开发的过程中也可能对功能有着一定的调整,因此,应保证编写代码的相对独立性,使其具有较强的拓展性,便于添加新的功能代码。   1.3 测试技术分析
  测试驱动所需要的测试技术经过不断的改进和创新,使得其测试技术水平在不断提升,也为测试驱动开发提供可靠的帮助[3]。从以往所使用的传统检测方式来分析,主要是测试驱动开发速度较为缓慢,且开发的过程中还存在很多的缺点,影响到其功能性,甚至埋下一定的隐患。站在当今的测试驱动开发角度上分析,传统的开发不仅增加了工作量,同时也经常因一些细节性的疏忽形成一种负担。在当今的测试驱动开发中,首先要明确的是测试驱动开发并不是一种负担,而是为了更好地减轻繁重工作量而使用的。因此,在测试驱动开发的过程中,不仅要对以往的工作经验进行全面的分析,了解其问题的所在以及产生问题的原因等,同时也应不断吸取先进的测试经验,进而保证测试驱动开发的合理性、有效性。例如,对一些功能较为复杂的功能来说,其代码编写也会有着一定的难度,为保证其功能应严格编写代码,并进行全面的测试,及时发现其中的问题所在,以便于展开更合理有效的测量。
  2  软件开发中测试驱动开发的运用分析
  通过以上的分析,进一步了解了测试驱动开发的功能、优势以及相关的技术线路等,将其应用到软件开发中,彻底打破传统软件开发中先编码后测试的观念,更注重先测试后编码,有效规避其中的不足,提高编码质量以及提升软件设计水平。
  2.1 创新软件开发的形式
  从对以往软件开发的分析中发现,传统软件开发过程中,由于受到传统观念以及落后的技术影响,使得传统软件开发效果不佳,甚至会导致所开发出来的软件埋藏诸多漏洞,进而影响到软件的正常使用。在将测试驱动开发运用到软件开发中,创新了软件开发的形式,对提升软件开发的效率有着极大的作用[4]。当然,在新时期发展中,软件的开发都是建立在人的使用需求基础上,而测试驱动开发中所贯彻的以人为本的思想,则更是以人类活动为基础,满足其使用需求而进行开发的,从某种意义上分析,测试驱动开发的运用不仅仅是对软件开发形式的创新,更是将人的观念与软件开发进行有效结合,进而保证所开发出来的软件更符合人们的使用需求。
  通常在测试的过程中,会基于不同的目的对软件进行分析,而测试软件开发也将带来不一样的操作结果,例如,在软件开发中,会将证明程序中没有所需要查找的错误作为主要的开发目的,那么在对其软件测试的过程中,也会受到大脑潜意识的影响去寻找相关的思路,而这样在测试的过程中,就会受到潜意识的影响而选择不会使整个软件程序出错的实验数据进行测试[5]。相反,如果将前面所提到的现象反过来,并逆向思维的去选择容易被发现程序错误的测试数据,并用其测试数据去证明软件程序中所存在的漏洞,这两种方式所得出的结果将会不同,这也对软件开发结果构成不同程度的影响。在对比分析中发现,选择后者对软件开发的功能进行全面测试,更容易寻找到其中的问题所在,并对其采取不断的完善措施,保证找不到错误为止,这种测试的思维方式是传统软件开发中很少考虑的。
  2.2 提升软件代码质量
  传统软件开发的过程中,更注重的是先编码后测试,而在这个过程中,可能出现编码问题却不能及时被发现,在所有编码完成之后再进行测试,虽然会发现编码中的问题,但在重新写入编码的过程中也会增加一定的难度,尤其是很多编码之间还存在很强的连接性、逻辑性,需要调整的工作量较大,进而直接增加了软件开发的劳动量。而将测试驱动开发运用到软件开发中,则与传统先编码后测试的方式恰好相反,更注重对整个开发过程的推理和测试,一方面可以减少编码的劳动量,另一方面能够进一步保证编码的有效性。
  软件开发是一项极为复杂的工作,尤其是在开发的过程中很多需求是很难描述清楚的,这也给软件开发增加一定的难度[6]。软件开发中所提到很难描述的需求并非只是源于客户的需求,还有对代码使用的需求,这些都是需要在软件开发中所要考虑的因素,尤其是在软件开发的后期,还要对某个类或者函数的接口进行拓展或者修改,显然这对任何一个开发人员来说都是不能够接受的。
  2.3 优化设计方式
  在软件开发的过程中,需要结合软件的功能要求,合理进行软件设计,并根据设计进行软件开发。而软件设计的是否合理也将直接影响到软件开发的效率。传统软件设计的过程中,设计方式过于死板,缺乏人性化,尤其是在一些细节性设计中的不足,会导致软件开发面临着不同程度的问题,进而影响到软件开发的效率。测试驱动开发的运用可以有效改变这一现状,会根据软件的实际使用需求设计出更加合理的方案,相比于传统设计,不仅简化了设计方式,同时也能够保证设计出更加合理的方案。而且,测试驱动开发应用下,通过先测试后编码的方式,能够进一步优化软件设计方式,有效规避一些潜在的设计隐患,进而保证软件设计的顺利实施。
  3  结语
  综上所述,在软件开发的过程中,传统开发主要是先编码后测试,而在此过程中可能会出现不同程度的编码问题,进而影响到软件开发的质量,甚至会出现不同程度的编码调整等工作,使得编码工作任务量较为繁重,而且编码的质量也并不高。而在该文的研究中,提出软件开发中测试驱动开发的运用,相比于传统软件开发形式,主要是先通過测试然后再编码,在测试的过程中,及时发现可能出现的编码问题,同时也明确了编码的方向,更有利于软件开发编码工作的顺利进行。而且,相比于传统的软件开发,这种先测试后编码的形式能够有效提升编码的质量,进而保证软件开发的顺利进行。
  参考文献
  [1] 陈迪舸.刍议测试驱动开发在软件开发中的作用[J].电子技术与软件工程,2016(7):60.
  [2] 陈希,徐明昆.测试驱动开发在软件开发中的研究与实践[J].软件,2012,33(12):177-181.
  [3] 袁社锋,张红霞.测试驱动在软件开发中的作用[J].福建电脑,2012,28(2):87-88.
  [4] 章琦,章磊.TDD测试驱动开发与瀑布式软件开发流程的对比研究[J].科技信息,2009(9):449-450,472.
  [5] 杜美艳.浅谈测试驱动开发在软件开发中的作用[J].科技信息:学术研究,2008(32):180.
  [6] 徐蔚为.软件外包中测试驱动的软件开发模式及度量研究[D].复旦大学,2008.
转载注明来源:https://www.xzbu.com/8/view-14910463.htm