软件测试,浅析这项黑色艺术的难与易

今天给各位同行们带来一本技术好书《软件测试的艺术》(原书第3版),让我们一起来赏析这本经典著作吧!

本书是国内很多软件测试书籍的首要参考书目,短小精悍的篇幅、深入浅出的内容很适合初学者作为入门首选。同时,对于一些已经入行的测试工程师而言,本书依然有其价值。书中很多内容读起来犹如拨云见日,书里覆盖的知识经过了时间的考验,25年来一直列在出版商提供的书目清单中。作为理论指南,时常翻阅一下,可以梳理自己的经验和认知,加深对测试学科和测试技术的理解。

今天和大家分享的是本书的第一章节:一次自评价测试。让我们一起来了解软件测试,这门软件开发中的“黑色艺术”吧!“自本书30年前首次出版以来,软件测试变得比以前容易得多,也困难得多。”

 software testing

作者分析了测试工作变困难的原因:“原因在于大量的编程语言、操作系统以及硬件平台的涌现。在今天几乎人人离不开计算机,数字电视、电话、游戏产品、汽车等都有一颗计算机的‘心’以及运行其中的软件,以至于在某些情况下它们自己本身也能够被看做是一台特别的计算机。”

所以今天的软件会影响更多的人,更多的行业,软件的影响力空前的强大,甚至会影响到数以百万级的人。在人们享受着软件带来的高效工作效率的同时,如果没有软件测试的工作,也将带来事业或经济损失,甚至是人身伤害,测试工作的意义正由此体现。

laptop internet reality

反之,作者何以认为软件测试比之前更简单了呢?“因为大量的软件和操作系统比以往更加复杂,内部提供了很多已充分测试过的例程供应用程序集成,无须程序员从头进行设计。例如,图形用户界面(GUI)可以从开发语言的类库中建立起来,同时,由于它们是经过充分调试和测试的预编程对象,将其作为自定义应用程序的组成部分进行测试的要求就减少了许多。”

图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。图形用户界面由窗口、下拉菜单、对话框及其相应的控制机制构成,在各种新式应用程序中都是标准化的,即相同的操作总是以同样的方式来完成,在图形用户界面,用户看到和操作的都是图形对象,应用的是计算机图形学的技术。

另一方面,“引入更优秀的开发工具、紧张的交付日期以及高度集成的便利开发环境会让测试变得仅仅是让那些最基本的测试用例走走过场罢了。影响不大的bug也许只不过会让最终用户觉得使用不方便而已”。全面综合的整体测试是有意义的,这让我想起自学的测试网课中,老师曾表达过一个观点:在测试工作中,当时间和质量冲突时,时间要服从质量。如果开发人员为了赶上交付时间要求通融时,测试人员应要求开发人员作出书面保证。保证软件交付后,如果出现重大失误和BUG而带来的一切后果及经济损失,包括对用户体验和公司声誉等的影响,由开发人员全权承担责任。没有开发会愿意做这个承诺的,这也是对软件质量的一种负责。

 testing

所谓软件测试,就是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。软件应当是可预测且稳定的,不会给用户带来意外惊奇。”测试工作就是一场预演,把可能发生在用户面前的灾难场景提前在测试人员眼前预警演练,并由开发人员来解决问题,使得软件日臻完美。

书中列举了一个小测验,设计一组测试用例,适当地测试一个相当简单的程序。为此要为该程序建立一组测试数据,程序须对数据进行正确处理以证明自身的成功(对该程序的具体描述及评分标准可翻阅原书,此处碍于篇幅,不进行赘述)。

通过这个小测验,作者借此说明,“即使测试这样一个小的程序,也不是件容易的事。因此,想象一下测试一个十万行代码的空中交通管制系统、一个编译器,甚至一个普通的工资管理程序的难度。随着面向对象编程语言(如Java、C++)的出现,测试也变得更加困难。举例来说,为测试这些语言开发出来的应用程序,测试用例必须要找出与对象实例或内存有关的错误。”

 杀虫剂效应

尽管对一个复杂的、实际运行的程序进行充分的测试并不容易,但这是软件开发中的一项必要的工作,不可或缺  !也是通过学习,可以实现的一项工作。本书将帮助设计人员、开发工程师以及项目经理更好地理解全面综合测试的意义所在,并提供行之有效的指南以帮助达成测试的目标。

【Summary】:本文阐释了关于《软件测试的艺术》第一章节内容的解析,解析了当今行业里软件测试工作的现状,在不同方面而言的难易程度以及原因的阐释。同时,剖析了软件测试的涵义和这项工作的意义。下一篇文章我们将赏析本书的第二章内容,从心理学和经济学角度来解析软件测试工作,敬请期待!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程小猪猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值