从CT技术想到的软件测试

发表于:2012-2-01 10:05

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

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

  年前的时候被体内一颗短径4.8mm的小石头折磨,还提前休了几天病假,并第一次被要求去做了个CT。第二天拿到了报告,完全看不懂,咨询了当外科医生的高中好友,他打了一个简单又有点恶心的比方,就像在自助餐厅里服务员拿一大块牛肉用机器切成几毫米的薄片,每一张图就是一片。嗯,话糙理不糙,大概懂了。

  因为好奇,后来在网上查了下CT相关的技术,觉得很有意思,有兴趣的可以看看。

  http://zh.wikipedia.org/wiki/CT
  http://wenku.baidu.com/view/0e4fa922bcd126fff7050bc5.html

  这篇文章也比较适合于技术爱好者

  http://yx.yangning.net/showtopic-627.aspx

  CT涉及到很多计算机图形学的东西,或者可以说没有计算机技术的发展,CT技术也很难实用。CT现在已经变成了一种标准的医学检测手段,不过做一次价格还是不菲,要好几百。

  联想到自己一直从事的软件测试工作,觉得有很多的启发。

  姑且我们把检测作为测试的一个部分,简单来说其目的大致有两类。

  - 检查有没有问题,比如体检

  - 试图确定问题在哪儿,比如不舒服之后去做某些项目的检查

  其实我们的测试工作很多时候也是做这样的事情。拿到一个新的版本或者改动,去检查有没有问题,觉得有些地方不太对劲的时候,试图去获得更多信息来帮助判断问题可能出在哪里。

  和软件测试一样, CT并没有直接的改变被测对象,问题还是在哪里;另一方面,它也没有直接给出如何修复或者说是治疗的方法。但是它们有一个共同点,那就是能发现问题,并且提供有价值的信息!

  当然,做到这些还有一些重要的前提,比如:

  1、结果的准确性。

  这一点毋庸置疑,错误的结果会误导,甚至延误重要的时机。这个也是一项新技术出现的根本。

  2、侵入性

  一项测试手段对被测的对象的影响。这也是CT技术超越动脉造影、气脑造影、开颅探查等传统检测手段的一个重要原因,它对人体的伤害和影响要小很多,当然X光本身也是有伤害的,只不过不常做的话影响不是很大。

  对于软件测试也是一样,如果一项测试技术会干扰到产品本身的运行,就会影响到测试的效果或者适用范围。例如coverage test是一个很好的帮助测试人员判断测试的范围和程度的手段,但是因为它比较具有侵入性,不仅是影响性能,有时甚至会影响到功能,所以使用受到限制,一般也不会放入production的代码中。

  3、检测的速度和效率

  在前面关于CT的文章中也可以看到,从第一代的机器到后面的改进,很重要的一个指标就是扫描的速度,这其实也是检测的效率的问题。能及时的判断有没有问题或者发现问题是很重要的,对于软件测试也是一样,特别是对于互联网产品,发布的周期非常短,很多产品平均每周都有好几次发布,如果一项测试需要花到几天的事情,基本就很难广泛使用。而速度和效率很多时候需要依靠新的更先进的技术。比如CT的扫描速度的依赖于更多的探测器和更强的计算机处理能力。

  4、成本

  成本也是一个很重要的因素,因为太昂贵的东西难以普及。可以参见上面第三个link中CT早期因为成本也是一个政治话题。成本包括很多方面,初次购买设备、运营维护(耗材,电力等)、工作人员的成本。对于一个新的测试手段也是,需要的工具和平台(软硬件)、初次开发的成本、日常维护的成本等。

  这里顺带有一些关于自动化的思考,还是来自于医学检查的启发。

  医学的检查有很多的方面,包含最简单的身高、体重和血压。这些通常是用手工的方法,后来有了简单的自动化的工具,用来提高效率,如果条件不够的地方,还是可以退回到人工的方式来做。但是很多检测的手段,手工是没有办法做的,必须借助于先进的技术和工具,比如我们这里提到的CT,除了弄一台CT机通常也没什么办法。

21/212>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号