(建筑工程管理)软件工程思想—测试与改错.pdfVIP

(建筑工程管理)软件工程思想—测试与改错.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
精品资料网() 25 万份精华管理资料,2 万多集管理视频讲座 (建筑工程管理)软件工程 思想—测试与改错 精品资料网() 专业提供企管培训资料 测试和改错 编程大师说:“任何壹个程序,无论它多么小,总存于着错误。” 初学者不相信大师的话,他问:“如果壹个程序小得只执行壹个简单的功能,那会怎样?” “这样的壹个程序没有意义,”大师说,“但如果这样的程序存于的话,操作系统最后将失效,产 生壹个错误。” 但初学者不满足,他问:“如果操作系统不失效,那么会怎样?” “没有不失效的操作系统,”大师说,“但如果这样的操作系统存于的话,硬件最后将失效,产生 壹个错误。” 初学者仍不满足,再问:“如果硬件不失效,那么会怎样?” 大师长叹壹声道:“没有不失效的硬件。但如果这样的硬件存于的话,用户就会想让那个程序 做壹件不同的事,这件事也是壹个错误。” 没有错误的程序世间难求。[James1999] 错误是壹种严重的程序缺陷。测试的目的是为了发现尽可能多的缺陷,且期望通过改错来把 缺陷统统消灭,以期提高软件的质量。但关于测试和改错实于没有什么高明的方法值得大书 特书,也不能表现出程序员的聪明才智。相反地,它们带来了更多的牢骚和痛苦。因此于教 学和开发实践中,测试和改错总是被当作万般无奈的工作踢到角落里。 医生能够把他的错误埋葬于地下了事,但程序员不能。我们必须要学会测试和改错,且且把 测试和改错工作做好。 7.1 对测试的理解 测试的道理且不深奥,计算机专业人员均应该明白。但就是这么简单的事,计算机专业的博 士们也未必均已经理解。 有壹天,壹位比我聪明,编程比我快,学习能力比我强的计算机专业博士生恭恭敬敬地请我 坐好,且且史无前例地削了苹果请我吃,为的是向我请教“软件工程”问题。你必定以为这位 仁兄好学之极。非也,我和他同事三年来从未探讨过“软件工程”问题。只因为他明天要去应 聘,参加面试,生怕被人问倒,就央我当晚为他恶补壹把“软件工程”。他仍特地问我“什么是 白盒测试和黑盒测试?应该由谁来执行?”(有公司曾经这样面试应聘者)当我解释完测试的 道理时,他叹了壹口气说:“这些玩意儿我读大学十年来均没搞过,怎么能讲得出道理来。唉, 就去碰碰运气吧。”我有“兔死狐悲”的感觉。我们这壹群博士生三年来尽干些自欺欺人的事, 到毕业时学问既不深也不博。个个意志消沉,老气横秋。长此以往,总有壹天招聘会的大门 前将贴出标语“博士和狗不得入内”。 以下是关于测试的几个重要观念。 7.1.1 测试的目的 测试的目的是为了发现尽可能多的缺陷。 这里缺陷是壹种泛称,它能够指功能的错误,也能够指性能低下,易用性差等等。测试总是 先假设程序中存于缺陷,再通过执行程序来发现且最终改正缺陷。理解测试的目的是个很重 要的意识问题。如果说测试的目的是为了说明程序中没有缺陷,那么测试人员就会向这个目 标靠拢,因而下意识地选用壹些不易暴露错误的测试示例。这样的测试是虚假的。 目前高校的科技成果鉴定会普遍存于类似的虚假现象。我于读硕士时就亲身经历过这样的事。 我们的项目是研究集成电路制造过程中的成品率问题。当时国内大多数工厂的集成电路成品 率只有百分之几,我编写的示例程序能够将集成电路的成品率优化到 98%。示例效果是如此 的好,以致壹位评委(某厂的总工程师)不无讽刺地说:“采用你们的成果,我们可要发大财 了。”这个项目就轻易地通过了鉴定,且且不久后获得了电子工业部科技进步二等奖。这就象 于考试时通过作弊取得了好成绩而被表扬。我那时尚且纯真,羞愧之余,不禁对高校科研成 果的水平和真实性大失所望(当下我已不再失望,因为很少抱希望)。 壹个成功的测试示例于于发现了至今尚未发现的缺陷。 测试且不仅是个技术问题,更是个职业道德问题。 7.1.2 测试的心理要求 测试主要是由人而不是由机器执行,这就不免和心理因素关联。为了测试的真实性,对测试 的心理要求是“无情”。这似乎太残酷了。开发人员不能很好地测试自己的程序是因为做不到 无情。而测试人员如果做到了无情却会引起开发人员的愤怒,遭人白眼。 尽管已经明白了测试的目的是为了发现尽可能多的缺陷,但当测试人员真的发现了壹堆缺陷 时,却不可乐颠颠地跑去恭喜那个倒霉的开发者,否则会打架的。 7.1.3 测试的真理 测试只能证明缺陷存于,而不能证明缺陷不存于。 这个真理告诉我们,对于壹个复杂的系统而言,无论采取什么样的测试手段均不能证明缺陷 已经不复存于。“彻底地测试”只是壹种理想。于实践中,测试要考虑时间、费用等限制,不允 许无休止地测试。 7.1.4 测试

文档评论(0)

max + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档