网站首页 网站导航 课程中心
新闻中心
您所在的位置:Web前端培训 > 新闻中心 > 【web前端培训】1分钟告诉你为何要进行前端代码测试?

【web前端培训】1分钟告诉你为何要进行前端代码测试?

来源:中软卓越 日期:2017-09-21 11:50 人气:
标签:
中软国际教育集团Python+大数据课程入驻大武汉啦!!!

  应用程序上线之前如何进行有效的测试?今年的JAX London大会Gil Tayar向初学者介绍了前端测试的方法以及为什么测试码不可选的原因。以下是关于他对大会内容的部分介绍。

【web前端培训】1分钟告诉你为何要进行前端代码测试?

  Gil Tayar:我的一位朋友曾经问我,前端测试到底应该怎样做。为了更加系统全面的回答他这个问题,我在网上查阅了大量的资料,但是却发现这些方法理论却差强人意,至少在我看来,这些方法的深度还远远不够。从前端测试新手的角度,我找不到全面指导前端测试指南的应用程序,更别说理论和实践的结合了,所以我决定自己来做这件事。

  首先,什么是测试?

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

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

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

  为什么要测试?

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

  测试类型有哪些?

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

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

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

  测试类型的范围是什么?

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

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

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

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

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

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

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

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

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

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

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

中软卓越是中软国际有限公司投资的大型人才服务机构,是中软国际人才战略的核心组成部分之一,承担集团发展过程中人才储备和培养的任务,是软件及外包业务快速发展的重要人才支撑平台,是集团保持高速增长动力之一。

中软国际教育集团专注IT教育36年,一直秉承“用良心做教育”的理念,是中国移动互联网研发人才一体化服务的开拓者,全力打造移动互联网研发人才服务优质平台。

公司总部位于武汉,目前已在深圳、上海、郑州、广州、大连、武汉、成都、西安、杭州、重庆、长沙、合肥、无锡、南宁、厦门、南京、南昌等全国22个省成立了60多家分公司。拥有全国的移动互联网教学就业保障团队,做到了毕业学员业内高薪水,成为学员信赖的IT培训机构。

营业执照 版权所有©Copyright 2008-2017,武汉中软卓越科技有限公司 , All Rights Reserved. ICP备案号:15018648号-1

sitemap | 来校路线 | 分类导航 | 关于我们