欢迎来到中国IT互联网研发培训机构-远标教育

400-666-0010
当前位置:主页 > 关于学院 > 媒体报道 >  正文

1分钟告诉你为何要进行前端代码测试?

时间:2017-09-21     来源: ITjob远标教育 作者:admin

首先,什么是测试?

  测试的含义在我看来就是你在APP中写的检测代码,也被称为“生产代码”,它是按照预期工作的。也有人称之为“TDD”,但” TDD” 一般指的是具体的测试方法。

  其实不管在编程之前写代码还是之后这都无关紧要,只要你写出足够的测试能够让你的APP正常运行这就可以了。但令人悲哀的是,很多人都觉得这一点也不重要。

  现在软件测试行业已经将测试与TDD相结合,因此程序员和生产代码一起编写代码没有标准术语。我称软件测试为“开发者测试”,或者你也可以这样理解,软件测试就是普通的测试而已。

为什么要测试?

  其实测试没有什么必须的理由。如果你真的不想测试,肯定也没人强迫你。假如一次又一次的网页测试让你越来越烦躁,那就没有测试的必要。但是,如果你不测试,有些潜在的bug可能会在未来的时间里一次又一次的困扰你,从部署到生产都将会是一个噩梦。

  测试类型有哪些?

  对于初学者而言,刚开始研究各种类型测试的时候非常抓狂。你可能听过几个软件测试大概的类别:单元测试、验收测试、集成测试、端到端测试、组件测试以及服务测试。

  更让人哭笑不得的是,假如一群软件测试的人在一起头脑风暴,他们对软件测试中的术语定义可能都不一样。

 但对我而言不太在乎使用哪个术语,因为我认为测试类型没有硬性定义。在我看来,所有的测试其实都在一个频谱范围内。

  测试类型的范围是什么?

  我们从最简单的类型——单元测试开始。从定义来看,所谓单元测试就是测试“单位”的代码,那什么是单位呢?这就取决于你使用的编程语言了。单位可以是一个函数,一个模块,一个包,一个类,甚至是一个对象(相对于JavaScript和Scala这样的语言)。举个例子,在JavaScript中,单元通常就是指一个类或者一个模块。

  重要的是这个单元要进行隔离测试,这些算法、功能就像一个函数、计算字符串中的字符数或者具有一组验证函数的类,这是非常完美的。

  隔离测试还是比较容易的,因为单元与单元之间没有依赖性。但我如何知道一个单元和另一个单元是否依赖呢?两种方法:要么对两个单元同时测试,要么模拟另一个单元。

  那么问题来了,如果我同时测量两个单元,还能称为“单元测试”吗?有些人会不再将它称为单元测试。但是我仍倾向于叫做“单元测试”。但是如果有人叫做“集成测试”或者“两单元测试”,那我没有任何意见。

  举个例子:

 这个单元是一个具有writeSumToFile功能的模块,它接受两个数字并且可以将他们直接写入文件中。

  但是值得注意的是,它本身并没有被写出来。它使用另一个单元fileSumWriter来编写。为了测试这个单元,我们可以通过实际的文件编辑器或创建一个模拟来实现。

  从最纯粹的意义上讲,如果将mock传递给函数,无疑这个测试就是一个单元测试。但是当它们一起测试时,很多人就会认为这不是单元测试。

  其实这都无关紧要。一方面,我们有代码测试一个单位。另一方面,有E2E测试——整个应用的测试。一切测试都在E2E中进行,并且APP运行时会在与生产系统类似的环境中运行。

这代表着两个极端点——它们定义了越来越大的测试范围,在这个范围内,越来越多的代码被测试。

  有些人称这些测试为处于“集成测试”之间的测试,但对于TDD-ers,集成测试意味着一个完全不同的东西。集成测试确切的说即使测试超过了一个单元但不包括所有的单元。

  大多数人都认为有一个测试金字塔——其中包括许多单元测试、较少的集成测试以及少量的E2E测试。

更多内容,详见http://www.5itjob.com/

相关文章


  • 总部地址:深圳市龙华区清湖街道清祥路1号宝能科技园区(宝汇大厦)A座3楼
    咨询电话:400-666-0010
    面授课程:C++培训、iOS培训、Android培训、HTML5培训、UI培训、PHP培训、Java培训、C#程序员、大数据培训
  • ITjob远标教育

    了解ITjob动态
    关注远标教育服务号

  • ITjob远标教育

    扫码关注ITjob
    身边的移动开发导师

报名咨询0元入学助学贷款就业保障视频下载 咨询热线400-666-0010