感谢阅读千里的随笔,这里记录着我对软件测试的一些资料与理解,如喜欢可以给我点赞,如有问题与想与我说的,欢迎和我沟通! 联系方式:@微信:qianli2424 QQ:2144543

软件测试和计算机科学没有很大关系

上一篇 / 下一篇  2009-05-22 13:28:07

测试竟然是一个和计算机科学没有很大关系的职业,更多的偏向心理学和人性。

1. 在日新月异的计算机软件领域里面,软件测试是没有理论支撑的。
任何一个学科的理论发展都是由数学支撑的。无论是编程语言后面的自动机理论;密码学后面的大质数理论和椭圆曲线理论;图像声音处理后面的家洛瓦群论;再到电路设计的逻辑代数理论;更不要说什么人工智能;模式识别。都蕴含着人类几千年的数学智慧的结晶。
而我们亲爱的测试理论呢??有什么理论基础么?
不要忘记软件就是用来给人们生产生活进行服务的。如果有人可以提出一种方法可以验证世界上所有的软件是否正确,那就说明这种方法可以验证世界上所有的人类活动是否正确,我相信这位大师一定可以成为地球人顶礼膜拜的偶像。
因此上,我认为世界上所有的关于功能方面的测试理论都是徒劳的。我们现在的测试理论都是技术层面的。我们之所以有什么边缘值测试这些理论,是因为编写程序的人容易在边缘值上面犯错误。(你知道MS的测试主管是什么专业的么??心理学的!!哈哈。MS早就知道这一点了。)
也就是说测试人员测试出技术级别的BUG的原因是因为开发人员粗心。或者是因为开发人员水平不高,工作不负责。更有可能是因为没有做单元测试功能测试。而测试出这种BUG的经验是无法复制的。因为换了一个开发人员可能就不会犯同样的毛病了。
而测试人员测试出功能级别的BUG的原因是因为测试人员对商业业务十分了解,而测试出这种BUG的经验更是只能使用这个软件对应的商业业务,更是无法复制的。

2. 因为没有理论基础,测试人员需要的专业和系统的知识更是无从谈起。
只要有需求的软件(或硬件)都是可测的,如果一个软件或硬件连需求都没有那也不必要去测了。
问题是测试的工作不仅仅是测试需求里面的内容,如果需求也没有考虑到的部分呢??不知道您是否进行过测试,其实客户提供的需求只能作为编写测试方面用例的指导,但是不能全部覆盖软件的case. 比方说制作一个网站,需求说必须网站符合国家的法律。您觉得根据这个需求您需要如何进行测试。
如果您认为测试人员需要专业知识,请告诉我,除了一些简单的白盒黑盒的概念,一些边缘值一类的简单方法。您可以告诉我一些测试人员需要的专业和系统的知识么?? 
我得到了一个有趣的观点。很多人认为软件的质量保证更多的是设计,而不是测试。如果一个软件在设计上就是一塌糊涂。再好的测试都没有用。所以当一个软件到达测试阶段,已经是亡羊补牢了。

3. 因为没有理论基础,在具体工作上,测试这个行业最致命的问题,经验没有办法传承。测试一个项目的经验,无法在后续的工作中得到使用。甚至测试主管更无语,技术上不给任何指导,管理上只会忽悠。

4. 测试其实并不需要很多的计算机方面的知识,一个计算机毕业的学生进入这个领域,起码学到的东西没有任何用处。
而且就算是你测试一个财务系统10年,给你一个请假系统,你会如何测试。
除了什么边缘值啦,乱点击啦。
你觉得你之前财务系统10年测试的测试方面的经验,对您测试请假系统有什么帮助么??
我觉得十分少。
这就是测试这个行业最致命的问题,经验没有办法传承。测试一个项目的经验,无法在后续的工作中得到使用。
因此,测试主管虽然是主管,但是如果拿来一个新的系统,他的测试水平不一定就比他的下属水平高。

根据一个在CSDN讨论得很火爆的帖子整理出来,跟帖超过350层之多。

原文请见:http://topic.csdn.net/u/20080124/16/b76867f1-78a3-4552-ad12-22bc5ed1a9b4.html


TAG:

挪威森林的测试人生 引用 删除 挪威森林   /   2009-05-26 11:46:02
不太同意这样的观点。
 

评分:0

我来说两句

Open Toolbar