• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

科学“证明”的本质与软件开发

发布: 2008-9-24 09:59 | 作者: 不详 | 来源: 测试时代采编 | 查看: 28次 | 进入软件测试论坛讨论

领测软件测试网

总结

我们经历了一个长而曲折的思考过程,因此值得做一回顾:

  • 所有知识是临时性的,需要进行实验测试。
  • 实验只能发现理论中的缺陷而永远不能“证明”它们的正确性。
  • 通过累积的证据,理论成为“定律”。
  • 关于什么是可证明的,什么是可计算的,或什么是可知的,有一些已知的限制。
  • 科学实验的类比是软件测试
  • 程序永远不能被证明是没有缺陷的。
  • 最好的测试是失败了的测试,正像最好的实验是推翻理论的实验。
  • 迭代开发承认事先对准确知识的缺乏。
  • 迭代与科学实验相似。
  • 我们使用迭代结果通过指出需要的过程校正降低风险。

软件开发不是一门精确的科学,但是好的软件开发与好的科学有很多可比之处。特别地,借鉴数学和科学是非常有用的——就成熟性而言它们比计算机科学多了几千年的发展——这样我们就不会试图去做一些不可能的事。我们已经知道知识在实践和理论上都有极限,将大量计算能力用于这种极限的组合是无益的。


注释

1有趣的是,对地球直径最早的计算是由Eratosthenes 的一个很好的实验进行的,他生活在公元前二世纪,与Archimedes 同时代。当然这一计算是基于地球是一个球体而不是平的的观念的。Eratosthenes的结果与实际值是相当接近的。Eratosthenes还发明了确定一个数是否是质数的“筛子”。

2引自Wikipedia:“组合数学识数学的一个分支,它研究满足具体标准的物体的(有限)集合。特别地,它研究这些集合中物体的‘计数’... 尽管自二十世纪后期以来,它已经发展出了强大的理论方法,(它)却不仅关注理论的建立,同时也相当关注问题的解决。很多组合数学研究图形,所有组合数学的研究都对图形研究有所助益。”

3一些数字:直接算法可以处理大约50座城市。更复杂的算法可以处理大约近200座城市。在2001年,找到了一种可以处理德国15000座城市的解决方案,它使用了大规模计算机组。当前的最高纪录是2004年实现的处理瑞典全境大约25000个城市,也使用了令人难以置信的数量的处理器。

4"NP"表示"Non-deterministic Polynomial time"(多项式时间非确定性问题)。

5例如,一些有限状态机属于这一类别。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

77/7<1234567

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网