什么才是软件测试的核心?

发表于:2014-11-10 11:05

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:pasco    来源:51Testing软件测试网采编

  从事了测试工作7,8年了,多少有些心得体会,一直想写些什么,但又好像无从下笔,直到今天看到一篇博文,同作者的观点甚为认同,于是也决定写下自己的感受。
  先来说说原文的几个观点
  1. 很多人认为最重要并且最不值钱(这里的值钱指的是值多少工资,并不代表做这件事的价值)的是手工测试,实际上手工测试是最具有价值的测试
  本人对这个观点甚为认同,从事了这么久的测试工作,大多数时间都是在做或者在带同事做手工测试的工作,项目中绝大多数的问题都是通过手工测试发现的。但不知到从什么时候起,从哪里起源一种说法,手工测试是低级的,无技术含量的,测试人员要发展就要从事自动化测试性能测试面试过不少刚入行测试的同学,普遍持有这种观点,觉得职业发展就需要从事自动化测试和性能测试。
  与原文的打的一个比喻相似,我也经常用走路和乘车来比喻不同的测试方法。软件测试就好比要去一个目的地,手工测试就像是走路,自动化就像是乘车,乘车自然要比走路要省时省力,当然成本也比较高。现实中,乘车已经很普遍了,效果也非常好,但为什么在软件测试中,自动化所起到的作用没有像乘车那样明显呢?我觉得是“路”的问题。现实中为了开车,先要修路,但软件测试中有没有为自动化所修的路呢?现在大多数的软件,使用对象都是人,都是人手操作的,用手工测试最能模拟到真实的使用环境和使用场景,所以手工测试能发现很多问题。而自动化测试只是用程序去测试了程序,很大程度上忽略了环境和场景,就好像去往目的地有2条路,一条窄窄的人行道和一条宽阔的水泥路,你的车只能在水泥路上行驶,于是人行道的问题自然无法发现。而不幸的是,真实的用户都是走人行道的。
  所以我认为,手工测试和自动化测试并不是低级和高级的区别,而是不同的手段而已,究竟使用什么手段,要根据不同的情况而定,就好像根据不同目的地的路况来选择走路还是乘车一样。
  2. 最没有市场的应该是自动化测试
  这个观点我算是同意大半吧,为什么这么说呢,因为就目前国内的情况来说,的确是这样。国内的软件项目普普遍周期短,工期紧,资源少,而自动化测试却刚好相反,需要耗费大量的人力物力和时间,在这两者可以达到平衡之前,我也觉得自动化测试举步维艰。也来打个比喻,自动化测试就像开车去一个目的地需要2天,之前需要修路1个月、买车上牌要1个星期、每天需要加油,如果要求你1个月内就要去到目的地的话,你可能路还没修好。换了手工测试就像是走路,从第1天起就可以走啊走,不停走,可能20天就到了。换到实际中,修路买车就是编写你的自动化程序,加油就是维护你的程序,能不能及时到达目的地,就要看你的程序能不能及时完成。
  有的同学会发现,自动化程序和道路汽车一样,是可以重复使用的,就是说下次我再去的时候,就不用重新修路买车了。如果目的地一样的话,的确是这样的,例如一些做通用产品的同学可能会好一点,因为他们对很多常去的目的地都修了路,但多数同学面对的可能都是各种各样不常去的目的地。正是因为有这些问题,所以国内的自动化测试很难开展。但正如前文所说,作为测试的一种手段,即使存在很多先天不足,我还是觉得自动化测试很有必要,因此我才会对原文的观点同意大半,剩下的小半,是我觉得自动化测试可以用另外的形式去开展。
  以怎样的另外形式去开展呢?我的想法是用工具辅助测试,自动化的优点在于用工具(程序)去完成测试,比手工测试要快捷和省力,但缺点是实现成本高,可用范围小(如果扩大使用范围的话,成本将进一步升高)。相反,手工测试则是可用范围大,成本低,但费时费力。如果可以将二者结合,在一些手工测试中适合使用工具的场景,使用一些现成的工具或者可快速开发的测试程序,这样就可以吸取两者的优点,提高测试的效率。当然,说起来容易,做起来并不简单,这里先不展开讲,以后有机会再另文讲述吧。
  说完了自动化测试,怎能不说说性能测试呢,这两个都是做测试的同学们非常向往的东西。现实中我也和不少做测试的同学聊过,聊到自动化和性能测试,大多都能说出不少自动化/性能测试软件的名字,至于用到什么程度,用来做过些什么,就很少人能深入谈下去了。我心目中的自动化和性能测试并不是安装个软件,照着教程上运行几个demo,然后就可以在实际项目中使用的。因为我们需要的是做自动化/性能测试,而不是用自动化/性能测试工具,这可是有很大区别的。举个例子,我问一个小学生,会不会学作文啊?他回答我,说会用圆珠笔写字了。呵呵。
  说了这么多,其实想表达什么呢?总结一下。
  软件测试,无论手工也好,自动化也好,功能测试也好,性能测试也好,归根究底就是为了高效地发现问题,提高软件质量。至于用什么手段,用什么工具,需要按实际情况而定,不能一概而论,也不能说怎样怎样就一定好,怎样怎样就一定差。好比写文章,有用圆珠笔的、有用毛笔的、有用电脑的,无论用什么工具,目的都是为了写出文章。既然工具不是测试的核心,那什么才是呢?我认为是,知道要测什么,知道要怎样测。
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • 孜钊
    2014-12-04 17:29:40

    现实的工作中,我们测试人们不能怪领导重自动轻手工,我们自己又何尝不是像领导一样在做着重心的偏移。容易得到的永远不会去加倍珍惜,没的花费更大代价的物品也不会用心去“保养”,物以希为贵乃不变的真理。
    不过,话又说回来了,我们何防不顺着从手工向自动化走一步。楼主说的挺好,只是不同的方式。既然我们明白核心是怎么回事,但外界对没有的东西又有需求,那何乐而不为,做。在公司发展的进程中,测试需要自动化的出现,其实这代表一定的测试实力。我们不能排斥,应加强能力建设,坐上高铁去目的地其不更好。
    我对测试核心价值的理解是做正确的事和把事做正确,剩下的就是找方法了。做正确的事则是为质量服务,把事做正确则是提高测试的有效性。不管从需求分析还是方案设计、用例编写,这都是为了把事做正确。手工、自动化,甚至性能,都不是目的,如果能不测试就能知道有多少缺陷,那其不是更牛,也为项目节省的时间。

  • 孜钊
    2014-12-04 17:18:36

    讲出了对测试有一定理解的人的心扉~赞一个。

  • relaxpeople
    2014-11-13 10:47:06

    说的非常好!

  • RachelLead
    2014-11-10 17:02:34

    非常好,但在实际工作中高层领导、甚至在管理测试工作的人员,都太过于重看自动化测试,而轻手工测试技术的提高

  • neijiangwlz
    2014-11-10 15:06:53

    very good

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号