希望此后再也没有野蛮生长的产品代码

过去几年,出现了一些新的出版方式,MEAP(Manning Early Access Program,曼宁早期使用计划)就是其中一种,把开源代码运动带到出版行业,读者可以免费阅读原版图书。在MEAP中,读者可以在书完成前一章一章地阅读这些章节的早期版本,并在本书完成时,读者可以获得最终的电子书。如果读者提前预定了pBook,可以比它正式上市前提前很长时间获得它。而且在作者写作过程中,读者能及时提供反馈,这样可以帮助作者写出更好的图书。

本次翻译的图书正是从MEAP这样新出版方式中诞生的一本软件测试方面的技术图书,其质量已经过读者的检验,能够得到很好的保证。其实,这本书,就是作者试图帮助开发人员避免人们曾犯过的错误,是一本很有价值的图书。原书作者MAURÍCIO ANICHE博士不是测试工程师出身,而是开发人员出身,曾经亲自去现场完成软件交付和部署,出了问题,及时进行调试、分析和修正问题,教训是深刻的。为此,他对测试非常重视,亲力亲为,深信“要成为一名有效的开发者,我们必须先成为一名有效的软件测试者”,并强烈推荐在构建一个系统的同时需要构建一个自动化测试集,让测试随时反馈刚写完的代码是否有问题,这样软件工程师的工作效率会有显著提高。

作者的毕生使命就是让软件工程师更好地完成自己的工作,并且在荷兰代尔夫特理工大学教授软件测试课程,而且是计算机学科的博士。他不仅有很好的实践经验,而且有很好的理论基础,所以有能力把问题来龙去脉讲清楚、就“如何有效地完成测试”这个主题能系统地展开讨论。即使是软件测试中一些复杂的问题或难题(如“基于属性的测试”、“变异测试”、“对象模拟”等),作者也没有回避,而是认真进行分析,通过一系列的例子循序渐进说明如何去做,并提供了有关该主题的可参考的论文。

本书的焦点集中在如何进行有效的测试,即使对软件测试的基本方法,包括基于需求的测试用例设计、结构化测试用例设计,都会给出具体而有效的设计技巧。对输入域的测试是最为常见的测试场景,虽然有等价类划分、边界值分析等方法来帮助我们进行测试设计,但是如果能分析出数据特征,采用基于属性的测试方法,自动化程度更高、测试更为彻底。基于属性的测试方法也是本书的一个亮点,之前很少有测试图书谈到这个方法。

本书关注一些基础的质量或测试问题,例如代码的可测试性、自动化测试脚本(测试代码)自身的质量等,之前多数测试图书没有很好地阐述这些重要的问题。本书与时俱进,像契约式测试方法、测试驱动开发、自动化测试等内容,也是本书介绍的重点内容。本书总是从软件开发者的角度出发,立足实际工作的环境,例如,在单元测试中,不只是在理论上强调逻辑覆盖,采用结构化测试方法(俗称白盒测试方法),而是从实际出发,必须采用基于需求的测试方法(如等价类划分、边界值分析),让单元测试更加扎实。而且,本书提供丰富的示例,理论和实践完美结合,尽可能使测试用例设计、测试过程简单实用,确保读者在项目中可以快速地学以致用。

我和作者有着相同的理念和类似的工作经历,一方面我维护着《软件质量报道》公众号,努力帮助国内软件行业构建高质量、好用的软件,另一方面我也是横跨学术界和产业界,在同济大学教授软件测试,同时在工业界工作超过十年,并持续和工业界保持联系,服务企业,向企业提供咨询、技术服务等。正是这样的背景,对本书原著很早就关注了,并极有兴趣亲自来翻译它,当时就联系了几个熟悉的出版社,请它们争取拿到中文版权。后来清华大学出版社拿到中文版权,就立刻联系我,我愉快地接受了翻译任务,随即邀请了之前的合作伙伴李洁、张元两位老师,进行了试译,发给出版社的编辑。在出版社确认之后,我们开始全心投入翻译,历经4个多月,完成翻译。翻译的过程,也是我们学习的过程,仿佛重新经历一场新的、美好的测试之旅,不觉得累,而是一种享受。在翻译过程中,虽然做不到信雅达,无法让“软件测试”作为一种艺术形式呈现出来,但我们保持科学严谨的态度,力求准确表达原意、文字流畅通顺,让读者有良好的阅读感,并从中受益。

希望此后再也没有野蛮生长的产品代码,编程总是伴随着测试,产生大量优雅的代码,如本书封面那样,未来的软件世界充满生机,健康发展。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值