浅谈纯软件测试方法

发表于:2009-3-25 16:18  作者:顾翔   来源:51Testing投稿

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: 软件测试

  软件测试的本质——浅谈纯软件测试方法

  序

  大概有半年多的时间没有写文章了,现就职于一家软件公司,仍旧从事软件测试工作。对软件测试又有了些新的感悟,这篇文章酝酿了大概有三个月了吧,今天写出来奉献给大家,如有迥异,请联系探讨

  今年年初,每天吃完晚饭,就打开电视机,看一部电视剧《李小龙传奇》,这部电视剧讲述了李小龙一生的传奇故事。李小龙少年师从叶问大师习武咏春拳。后来由于得罪了一个黑帮老大,被迫定居到美国。在美国期间,李小龙汇集了各路武林高手,并向他们学习。最后他在结合武术、柔道、摔跤、拳击、泰拳…的精华,并且结合武术的本质“攻”和“防”创建了自己的拳术截拳道, 达到了武术的最高境界,成为一代宗师。

  武术的本质是“攻”和“防”,那么软件测试的本质是啥呢?还是两个字“测”和“试”。所谓“测”,就是对于软件文档或软件产品进行检测,找出其缺陷,就是我们通常所说的bug,供开发人员修改的工作;所谓“试”,就是根据用户所使用的软件环境(包括操作系统数据库系统,应用软件系统…)、硬件网络环境(包括CPU,内存,硬盘空间,网卡,网络带宽…)和其他特殊情况(包括高并发,高容量…)的环境下,尝试软件是否可以正常运行的工作。

  为了解决日益令软件开发者头疼的软件危机现象,出现了软件工程学科,建立了许多软件工程模型,根据这些软件工程模型建立了各种软件测试模型,如V模型、X模型、H模型。但是这些模型的建立,是否能够改变软件危机的现象呢?我的答案是否定的,实践证明如果单纯的用了上述各种测试模型以后,仍然会存在着很多漏洞,达不到公认的软件产品质量要求。这样的软件产品是不可能交付的。因此,业界流行一种说法:“一个软件产品能否交付,主要看软件支持工程师能否说服用户,接受带有缺陷的产品,这就要看软件支持工程师的嘴皮子功夫了。”显然这是很不严谨的。

  众所周知,软件测试是保证产品质量的一个重要环节,因此要把软件测试做好,我认为,就应该抓住软件测试的本质:“测”和“试”,抛弃各种模型中的“套路”,不要把时间花在书写过多的软件测试文档,书写过多的软件测试代码…,而是集中精力把时间花在“测”和“试”上,整个“测”和“试”的过程要贯穿软件生命周期的各个阶段。这个过程从软件需求阶段就开始,一直贯穿概要设计、详细设计和代码,直到最后软件形成以后再一版接着一版的测试,一般来说,这样做软件的质量就应该能够得到保证。如果软件质量还不够理想,那问题就不是测试过程本身,而是出在测试工程师水平上面。

  在这里我需要阐明我不是反对书写软件测试文档和软件测试代码,必要的书写软件测试文档和软件测试代码是必须的。比如没有软件测试计划,那整个软件测试管理就要失控;比如不书写软件测试代码,那么许多软件测试,特别是性能测试就无法进行,所以这样的文档是必须书写的。我的观点是不要过度的书写软件测试文档和软件测试代码。举个例子来说明:比如一个人书写一个功能测试用例起码需要花费10分钟的时间,那么书写1000个功能测试用例就要花费10000分钟(约166小时),把这1000个功能测试用例转化成功能测试代码就要花费415小时(按照书写一个功能测试代码需要2。5倍的功能测试用例的时间来计算),加上书写功能测试用例花费的166个小时,总共就需要花费581小时。按照每人每天工作8小时来计算,也就是需要73个工作日,再按照每月22个工作日来计算,则需要书写3个多月的时间。事实上一个项目中一个测试设计工程师需要书写的测试用例一般都有上千甚至上万个,这样估计下来,如果把时间都花在书写功能测试用例和书写功能测试脚本的时间上,大家可以算一下这样下来大概需要花费几个月或者几年的时间了,这个项目也就过了交工期限了,哪还有时间搞测试啊。

  抓住软件测试的实质,“测”和“试”。把主要时间精力花在“测”和“试”二字上,我们的软件测试质量才可得到保证,在这里我把这种测试方法叫做“纯软件测试方法”,我想这也正是软件测试本来的意义。

  作者顾翔,邮箱:xianggu625@126.com

版权声明:原创作品,转载时请务必以超链接形式标明文章原始出处作者信息本声明,否则将追究法律责任。http://www.51testing.com
【调查报告】你以为的测试行业现状,其实是这样的!

评 论

  • luoguiqin (2009-5-20 13:13:03)

    只测和试是有前提的,如果只是一味的测和试,没有需求,有时就会背道而驰,测试可不能只归结于两个字

  • dingyl (2009-4-04 23:14:18)

    如果一个测试人员将本来10个用例能搞定的事情冗余到1000个,那么你就是让他始终进行所谓的“测”和“试”也是惘然;测试的关键是能够全面正确的把握需求和应用场景,拿出高效高质量的测试设计结果来;没有这个作为前提那就是自由发挥的“测”和“试”,就会导致产品质量因人而异;

  • 蓝色透明之月 (2009-3-26 17:17:03)

    顶,我虽然是开发组的,但是我觉得无论是做开发还是测试,把事情做出来,把东西拿出来才是最重要的。文档是为了测试服务的,也就是说测试才是核心,文档是为测试而写的。所以,测和试才是最重要的,不能本末倒置。如果把写文档摆在首位的话就不是软件测试,而是网络写手了。

  • tails82 (2009-3-25 14:30:59)

    我也看了这部电视剧,也和有同感啊,哈哈。记得李小龙的哲学导师那句话:所谓天才,就是把复杂的事情简单化,简单到不能再简单位置。测试也是一样。如果要把测试用最简单的语言概括,那么我选两个词:“执行”和“比对”。就像“攻”和“防”。具体怎么攻,怎么防,就看对手特点和你的个人水平了。

论坛新帖

顶部 底部


建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海瀛东律师事务所 张楠律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2019, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道