前言: 应用程序上线之前如何进行有效的测试?今年的JAX London大会Gil Tayar向初学者介绍了前端测试的方法以及为什么测试码
应用程序上线之前如何进行有效的测试?今年的JAX London大会Gil Tayar向初学者介绍了前端测试的方法以及为什么测试码不可选的原因。以下是关于他对大会内容的部分介绍。
Gil Tayar:我的一位朋友曾经问我,前端测试到底应该怎样做。为了更加系统全面的回答他这个问题,我在网上查阅了大量的资料,但是却发现这些方法理论却差强人意,至少在我看来,这些方法的深度还远远不够。从前端测试新手的角度,我找不到全面指导前端测试指南的应用程序,更别说理论和实践的结合了,所以我决定自己来做这件事。
首先,什么是测试?
测试的含义在我看来就是你在APP中写的检测代码,也被称为“生产代码”,它是按照预期工作的。也有人称之为“TDD”,但” TDD” 一般指的是具体的测试方法。
其实不管在编程之前写代码还是之后这都无关紧要,只要你写出足够的测试能够让你的APP正常运行这就可以了。但令人悲哀的是,很多人都觉得这一点也不重要。
现在软件开发测试行业已经将测试与TDD相结合,因此程序员和生产代码一起编写代码没有标准术语。我称软件开发测试为“开发者测试”,或者你也可以这样理解,软件开发测试就是普通的测试而已。
为什么要测试?
其实测试没有什么必须的理由。如果你真的不想测试,肯定也没人强迫你。假如一次又一次的网页测试让你越来越烦躁,那就没有测试的必要。但是,如果你不测试,有些潜在的bug可能会在未来的时间里一次又一次的困扰你,从部署到生产都将会是一个噩梦。
测试类型有哪些?
对于初学者而言,刚开始研究各种类型测试的时候非常抓狂。你可能听过几个软件开发测试大概的类别:单元测试、验收测试、集成测试、端到端测试、组件测试以及服务测试。
更让人哭笑不得的是,假如一群软件开发测试的人在一起头脑风暴,他们对软件开发测试中的术语定义可能都不一样。
但对我而言不太在乎使用哪个术语,因为我认为测试类型没有硬性定义。在我看来,所有的测试其实都在一个频谱范围内。
测试类型的范围是什么?
我们从最简单的类型——单元测试开始。从定义来看,所谓单元测试就是测试“单位”的代码,那什么是单位呢?这就取决于你使用的编程语言了。单位可以是一个函数,一个模块,一个包,一个类,甚至是一个对象(相对于JavaScript和Scala这样的语言)。举个例子,在JavaScript中,单元通常就是指一个类或者一个模块。
重要的是这个单元要进行隔离测试,这些算法、功能就像一个函数、计算字符串中的字符数或者具有一组验证函数的类,这是非常完美的。
隔离测试还是比较容易的,因为单元与单元之间没有依赖性。但我如何知道一个单元和另一个单元是否依赖呢?两种方法:要么对两个单元同时测试,要么模拟另一个单元。
那么问题来了,如果我同时测量两个单元,还能称为“单元测试”吗?有些人会不再将它称为单元测试。但是我仍倾向于叫做“单元测试”。但是如果有人叫做“集成测试”或者“两单元测试”,那我没有任何意见。
举个例子:
这个单元是一个具有writeSumToFile功能的模块,它接受两个数字并且可以将他们直接写入文件中。
但是值得注意的是,它本身并没有被写出来。它使用另一个单元fileSumWriter来编写。为了测试这个单元,我们可以通过实际的文件编辑器或创建一个模拟来实现。
从最纯粹的意义上讲,如果将mock传递给函数,无疑这个测试就是一个单元测试。但是当它们一起测试时,很多人就会认为这不是单元测试。
其实这都无关紧要。一方面,我们有代码测试一个单位。另一方面,有E2E测试——整个应用的测试。一切测试都在E2E中进行,并且APP运行时会在与生产系统类似的环境中运行。
这代表着两个极端点——它们定义了越来越大的测试范围,在这个范围内,越来越多的代码被测试。
有些人称这些测试为处于“集成测试”之间的测试,但对于TDD-ers,集成测试意味着一个完全不同的东西。集成测试确切的说即使测试超过了一个单元但不包括所有的单元。
大多数人都认为有一个测试金字塔——其中包括许多单元测试、较少的集成测试以及少量的E2E测试。
软件开发测试人才四大魅力元素
——就业竞争小
——高薪没商量
——就业质量高
——无性别歧视
套用狄更斯那句话说:对于急需软件开发测试人员的企业来说,这是一个最坏的时代,但对软件开发测试人才来说,这是一个最好的时代。“随着软件市场的成熟,人们对软件作用的期望值也越来越高,软件的质量和功能可靠性也正逐渐成为人们关注的焦点。”
文章出自:http://qh.itpxw.cn/jyzn/202179437.html
文章标题:1分钟告诉你为何要进行前端代码测试?
免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员
用户级别:10
机构名称:IT培训网
联 系 人:罗老师
联系电话:13783581536
联系手机:13783581536
在线客服:
在 线 QQ:
电子邮件:
网站域名:http://www.itpxw.cn
注册时间:2016-07-18 11:07
最后登录:2021-09-13 16:09
99%的同学,混了几年,连作为一名合格测试的基本功都丢了:...
软件开发测试的出路到底在哪?现在参加软件开发测试培训班还...
近年来,由于IT行业的人才稀缺,越来越多人转向了IT相关职业...
目前的国内市场,很多软件企业都存在着重开发、轻测试的现象...