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