我是程序员------笨鸟飞呀飞(15)

技术成长(2

系统测试和集成测试是不一样的,很多人都认为集成而是就是系统测试,但,远远不是,集成测试,主要测试的是模块和模块之间的接口的测试上,而系统测试已经是对所有模块集成后的整体测试了,如果将测试分为白盒测试和黑盒测试的话,系统测试开始,进入到了黑盒测试,为了进行系统测试,我们当时设计了许多测试工具,这些测试工具几乎涵盖了需要测试的各种正常和异常处理。系统测试综合考验了一个程序员的动脑、耐性、动手能力和定位问题的手段。

一个程序员技术水平高低,调试手段是一个主要的衡量标准,在系统测试阶段,你会发现,原来单步跟踪是很初级的调试技巧,真正的调试定位问题一般是通过日志信息来定位问题的,是想一下,你的项目一旦发布,客户拿到的是发布版,你不可能再依靠你的编程工具来对问题进行定位了,我们更多的则是靠日志信息来定位问题,日志的信息的种类多种多样,包括操作日志和运行日志,这很像飞机的黑匣子,当飞机出现了问题之后,首先是要通过黑匣子的分析来确认飞机的出事的原因,黑匣子记录的就是飞行员操作飞机的各种数据以及飞机运行状态的各种数据。同样,一个对稳定性和性能要求很高的项目,日志信息是定位为题的最强有力的手段,你可以这样想一下,一个程序,在你经过多轮次的测试之后,没发现问题,当交付给用户使用了几个月之后,突然发现出问题了,而这些问题并不是每次都能出现的,对于一个稳定性要求非常高的软件,你靠什么来排除出现的问题呢?拿着编译器去客户那里定位么?即便客户真正同意了,对于偶然出现的问题,你难道守护它,直到它出问题的时候跟踪么?如果恰好你上厕所的时候,或者你睡觉的时候出了呢?

正是通过系统测试,我发现了,定位问题,不是仅仅的调试一种手段,日志、各种模拟工具等,都是你定位问题的方法,不过最重要的是,你必须依据各种操作情况,想法重现问题,而众多的手段,都是为了让你的问题重现方便,只有问题如你推测的重现了,你定位并解决问题就很快了。而当问题重现的时候,我们则可以利用现有的各种编译器,去定位问题了,在这个阶段里,我第一次并体会到并学习了多线程、多进程情况下程序问题的定位技巧,三言两语还真的是难以说清。

系统测试之后,项目就会交给测试部,这时候是我们相对轻松的时候。而我又在这个时候被领导安排和测试部的测试人员进行对接,就是让我负责对所有发现的问题的跟踪、定位和协调修改。我再次庆幸,这样弥足珍贵的机会,再次降临到我的头,我通过这次磨练,除在各种问题定位工具上有进步之外,更重要的是我的沟通能力和协调能力得到了显著提高。

这些经验,是许多人难以在短时间内获得的。

测试部进行三到四轮的系统测试后,当所有严重、致命、一般问题都得以解决之后,就会进入稳定性测试。稳定性测试主要关注的是系统的稳定性,主要就是测试在正常的操作过程中,包含了CPU的使用率,内存的稳定性等、处理速度的变化上等的测试,内存泄露几乎是所有项目的罩门,因此稳定性测试主要就是测试软件对内存的使用率,这段时间发现的问题,大多都需要几天甚至更长时间的问题查找和修改,这时候,考验的不仅仅是你的技术能力了,更重要的是你对问题的思维方向了,盲目的去定位问题,一般会浪费更多更长的时间,因此,这时候遇见问题,除了浅显易懂的问题外,不要轻易忙着进行问题定位,先思考一下有可能影响到这些内存的地方,然后进行逐步的测试排除,这时候,要的更多的也不是调试技巧,而是耐性。

稳定之后是性能测试,主要测试的就是是否达道用户要求的一些性能指标,通常是要比用户要求的性能指标高很多的,假如说用户让你测试稳定运行一年的最大性能指标,你总不能就真的自己测试一年吧,这时候大多是根据一定的算法,计算出一个合适的时间和性能比例,性能测试是最难受的,要想真正测试出你的项目的性能,各种辅助的模拟工具都要求具有很高的稳定性和性能,有时为了测试一个峰值,我们甚至会同时启动多个模拟工具,甚至几十个模拟工具来对项目进行抗压测试,直至交付,当然交付的东西除了软件之外还有各种说明文档。这时候,你会发现原来一个大型项目的测试周期,远比开发周期长得多。

当整个项目被我从头到尾跟踪下来的时候,我比之刚进来时,已经脱胎换骨,我的CC++语言使用能力,业务熟悉能力,问题定位能力,文档编写能力,团队沟通能力,都得到了前所未有的提高,这为我后来的工作奠定了坚实的基础,也是我不可多得的宝贵经验,又有多少公司会给你这样一个全程磨砺的机会呢?

当然,技能的提高,除了有机会参与项目开发之外,最重要的就是技术积累了,一个程序员能力水平是随着技术的积累越来越高的,我从刚开始进公司到两年之后项目完成后,我所积累的编程经验和业务知识总结已经有上百页之多,我都分门别类的进行编写并写出自己的感受和心得,涉及到的内容从界面到通信,到数据库等很多方面,这些都是我成长的宝贝,现在拿出来我还为止骄傲自豪。正是这些积累,我在以后的编程工作中,大大节省了时间,到后来,我做培训讲师的那段时间里,我经常强调的就是项目的流程和经验的总结,技术的积累,因为这给我留下的印象太深了。

技能的成长也和个人的自持力和上进精神有很大关系,在经历择业的碰壁、刚开始上班的痛苦之后,遇到这样一个机遇,遇见这么一帮富有团结互助精神的团队,如果你缺乏了自持力,缺乏一种积极向上的精神,即便有成长,也不会很快。

这段时间,我不断的得到领导的表扬和鼓励,年终的时候,我得到了丰厚的奖金,回想我一路走来,知道今天,我终于可以舒心的一笑了。那段时间里,是我技能成长的黄金时期,最起码到目前为止是这样的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值