张银奎谈软件测试和软件调试.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
张银奎谈软件测试和软件调试

张银奎谈软件测试和软件调试 好的,我更愿意把自己介绍成为一个老的程序员,其实我是96年大学毕业,之后一直做软件开发。十几年下来,一下子从黑头发做到现在已经白头发了。但是这么多年下来,我还是始终很喜欢技术,只是在做不同的技术角色吧,做过编码,也做过系统测试,现在也做架构师,不管做那个具体的脚色,我都是还是很喜欢做技术的,就说软件这个技术。那其实今天我在上午的时候曾经提到,我好像是为软件而生的,确实是这样,比如说我感觉软件对我太重要了,整个生活中,或者整个生命中,这个软件都起到了很重要的角色,有的时候甚至想,离开了软件,我是不是就还能做什么。那目前其实主要是做一些架构设计,这样的工作,也关注一些软件新的技术方向。 其实我的书可以认为是我从事软件第一线奋斗13年,差不多13年后的一个技术方面的总结,就是软件调试可以说把整个涉及到我对技术的最好的一些总结,放在那本书里面,就是给同行看的,给程序员看的,主要是给开发者看的。那今天上午这门课呢,可以认为是我十几年的一种思想方法的总结,就说软件到了这么多年之后,除了技术之外的东西,其实还有很多是方法方面的,或者是软件过程方面的。那今天上午讲的可以认为是,我对软件工程或者软件方法学方面的一些感悟,比如说怎么来提高软件的可靠性,可测试性,可调试性。从比较根本的角度来说,提高软件的质量,保证软件的质量,是有关系的。 我觉得最欠缺的是我们的重视程度,在国内我们不缺少技术,技术的天才,尤其我发现80后的一批新成长起来的一些软件工程师,技术方面非常好,他们甚至对底层的理解也非常好。但是这批程序员我感觉是两极分化,一旦说对底层感兴趣的话,他们底层就了解的很深。如果对底层不感兴趣的,基本上只关心顶层。无论如何我觉得他们的技术方面都还是很不错的,但是我觉得最缺的是他们对一种思想上的认识,一种重视,对调试的重视。 其实越是资深的工程师,或者做了很多年软件之后,越感觉到调试的重要;越是比较年轻的一些程序员,可能还没有来得及深刻的思考调试的重要性,所以说回答刚才的问题,国内我觉得最缺少的是说一些年轻程序员在能够在做了一定的技术之后,对技术有一定比较深刻理解之后,回过头来再思考,自己在软件方面怎么能够更上一层楼,怎么从一些方法学上,或者是从一些根本上来解决一些提高自己的水平,使自己更上一个台阶了。因为不重视,那自然就不会做得太好,所以就说我们国内的软件,其实我觉得目前在支持测试、支持调试,支持这种持续改进方面,其实我觉得还是有比较大的差距的,当然我不排除我们国内的有些软件也做得也是挺好的。 这个观点我想引用一句话,那就是我们在国内的这个技术界,我觉得也有一些前辈。比如引用的这句话是毛德昌老师在写《Linux内核源代码情景分析》那本书的,他说过一句话,在那本书里,他说对软件的调试的重视是再重视也不过分的,如何重视也不过分的,我是很同意这一点。我也是觉得我们这些年轻的程序员或者是在技术角度,觉得自己已经有一定技术的程序员,要开始用调试技术来进一步的武装自己,然后通过调试技术来持续地提高自己。这个话题很长,其实对调试,大家一直是持着一种争议的态度,也不排除我们有很资深的,在算法方面,造诣很深的,在软件领域造诣很深的一些,简单说一些牛人,他们在软件方面成就很大,但是老实说他们也有部分人,他们不是太重视调试,总觉得算法是最重要的,其他很多编码对语言的理解是更重要的,对调试不是那么重视。 但是我觉得这个是有历史的背景的,或者是说有这个大的前提的。其实这些人,他们在七八十年代成长起来的这些程序员,或者七八十年代这些老的程序员,他们当时面对的这个软件环境和我们今天还是差异非常大的。举个不太恰当的例子,求伯君前辈当初写WPS的时候,大部分模块都是用汇编语言写的,整个WPS这个软件,也很小,只有不到一张软盘,就可以装的下,这样的范围。那当时来说,就说软件很小的情况下,那么软件的复杂度比今天来说是低很多的,那这种对于低复杂度的这样的软件来说,我同意不太重视软件调试也可以把这样的软件做得比较好。但是今天已经不一样了,今天的我们的软件动辄几十兆,上百兆,对于一个典型的系统都是什么,几G的这样的一个系统。那对于这样一个复杂的系统,我认为是用传统的这种文档或者理解源代码已经很难理解透了,就是说今天软件的复杂度,超出了文档可以描述的能力。 所以这个时候,我就觉得软件调试变得更加重要,软件调试的好处就是说直击要害,你想理解那里,那里是个断点,你想理解哪个模块,哪个模块单独看一下它有哪些函数;想深入到某个函数内部可以做一些追踪,所以就说你可以直接在一个真实的上下文里面直接定位到你关心的那一部分,这个是读文档和读源代码都没办法达到的。因为读源代码我们可以看源代码,但是源代码尤其是今天的典型的源代码,都是几百兆的源代码,那像Windows操作系统可能

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档