更多课程 选择中心

软件测试培训
达内IT学院

400-111-8989

快速修改Bug的技巧是什么?软件测试工程师必知!


今天达内软件测试培训分享给大家的是快速修改Bug的技巧,这可是软件测试前线牛人工程师总结的他的优势,实战性很强,秒秒钟提高效率,你要不试试?

快速修改Bug的技巧是什么?软件测试工程师必知!

重启试试

作为人生四大真理(多喝点水,重启试试,喜欢就买,不行就分),重启有时候能解决很多莫名奇妙的bug,不过大多数没什么用,现在我开发的帮助中心充分能体现重启的威力,经常访问不到,但是重启下就好了。

如果重启一次没用,那重启两次一样没用

对于发现不了问题的Bug,重启一次解决不了,那就不用再浪费时间重启了,再重启肯定也解决不了。这个道理我很早就想通了,但是总是心存侥幸一遍遍重启浪费时间。

断点调试和日志

断点调试对付逻辑上的bug非常有效,偶尔也能对付高级bug。咱们组基本上都会用断点调试,不像前两年我面试别人的时候,最常规的问题就是你平时怎么调试,几乎所有人都说system.out。啰嗦一句,不知道大家有没有发现,作为一个程序员,开发效率主要是被各种莫名其妙的Bug拖累下来,有时候你发现一个功能写了一天都没什么进展,总有那么一两个bug是你无论如何都过不去的。

如果你调试过了的地方没有问题,那很可能这一片代码真的没有问题

浪费时间的另一种途径,就是在这一块找不到问题,再来一遍,甚至两遍。最近印象比较深刻的就是上次有个同事遇到一个神奇的bug,他从头到尾都没用过缓存,结果他的查询结果总是被缓存起来,我帮他解决的时候,他才发现,原来是别人在同一个配置文件里,开启的全局缓存。

面向谷歌编程

这个主要是用来对付你从来没有见过的bug,或者报错信息是你从来没见过的。谷歌大多数情况下能帮你找到正确的答案。与之类似的还有面向百度翻译编程,实在懒得看一大段出错信息,可以贴到翻译工具里面,虽然很少有提示信息超过一句话的。上次一个哥们给我打电话,说我们的服务器启动不了了,你帮我看下吧,我说行啊,你把日志发我吧,他就发了我一小段话,英文的,大致意思是密码过期了,非常简单。我让他改过密码就解决了。

快速浏览异常栈,只看与你的代码/配置有关的地方

很多人看见一片异常头都大了,我也头大过,自从我知道这个技巧之后,我的头就没那么大了。Java EE的异常栈非常有特点,最有用的地方不是在最上面就是在最下面,我看异常栈的时候,喜欢从下往上看,所谓从下往上看就是从最下面的一个Caused By:xxx,这里是最根本引发异常的地方,有经验的人一看就能看明白异常种类。从这里看出的异常非常考研一个人的开发经验,这里的异常一般都跟框架使用规则有关。从上往下看异常,最容易找到自己代码里的异常,比如空指针啊,数组越界啊,都是在异常栈的最上端,这是最能指出你代码出问题的地方。

找别人帮你看看

这个途径也非常重要。记得刚工作的时候,我有个编译错误无论如何都解决不了,我找我师傅过来,我师傅看来半天说,你的逗号是中文的。我说不能吧,他让我把那句话粘到记事本里,我一看,果然是中文的。顺便提一句,大家最好设置下自己IDE的字体,好的字体不仅赏心悦目,对于查bug也是非常有用的。

多用用排除法

对于久攻不下的bug,请先遵循心得一和心得二,然后再看这里。尝试着改变代码里的某些参数,修改某些配置,能帮你快速定位问题。在使用排除法的时候,大家一定要时时刻刻牢记心得一和心得二。今年以来遇到的最顽固的bug是springMVC和spring结合的时候,对于更新操作一直不能拿到数据库的写链接。调试这个问题的时,我先用Junit测试通过了service方法,发现单元测试的时候一直没有问题,一启动web容器就会出现这个问题,然后我就一直在改spring的配置文件,各种尝试都无法奏效,当时我就忘记了既然spring没有问题,问题肯定出在springMVC的配置上了呗,这个问题调了一天半,最后我干别的事情的时候,突然顿悟了,后来去网上找了找,最后还真是springMVC的问题,由于springMVC在调用链的上端,它也可以管理事务,导致spring无法管理事务,所以没办法开启一个写事务。

知识和想象力非常重要

技术都是相通的,你懂的技术越多,你对技术的理解越深,你越能找到Bug背后隐藏的东西。反过来,知识很可能变成我们的障碍,使我们变得自负,顽固,限制想象力,要时常提醒自己,莫要止步不前。

要学会使用IDE。这点非常重要。全文搜索和文件搜索是非常有用的功能,直接搜索能比你从一堆文件里找到你想要的快很多,IDEA的搜索功能非常强大。

重构时,最好使用IDE提供的工具,IDEA的重构功能也非常强大。

对于由于自己疏忽,漏写了什么东西导致的莫名其妙的BUG,看异常栈能大致定位到你的问题,所以还是谨慎点,这个基本上也没有什么防范的办法。

Java EE是一种仪式感非常强的技术,换言之,某个地方该出现什么,虽然你不知道为什么要出现这个,但是最好像举行仪式一样让它出现,但是千万不要画蛇添足,这样就能保证你写的程序大差不差。

最好自己能明白自己写的是什么。这个看起来有点像废话,但是你调用其他人的东西的时候,最好读读API,如果没有的话,搜下。现在咱们用MAVEN,这个工具非常好的一点是能帮你把源码下下来,实在不明白的地方可以在人间的源码里打断点,跟着走。

感谢您的阅读, 以上就是今天跟大家分享的快速修改Bug的技巧是什么,怎么样,对你还受用吗?更多软件测试相关的内容尽在达内软件测试培训,敬请关注!

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:购物车页面如何设计测试用例?需要用到哪些测试类型?
下一篇:软件测试新手如何规避Bug,这里有些小建议送给你!

你知道吗?做软件测试不一定需要精通代码!

软件测试人员不需要懂代码,这是一个伪命题!

如何设计登录测试的设计用例?

软件测试必备的数据库知识有哪些?(终)

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

陕西省

湖南省

贵州省

云南省

广西省

海南省