我的测试秘密和技术
最近受邀请要给微软的一个团队讲解我个人的一些测试小秘密和常用的测试技术。其实,测试没有什么太多的秘密可言。如果说如何能发现更多的bug的话,那么我认为最最重要的是passion和experience. 但是,由于他们期望听到的是测试的techniques,我就列了一个我认为最重要的几个方面。现在发出来和大家共享一下吧。Passion, Experience
我觉得experience和passion最重要。有一个周六的半夜我突然有种想法应该给我测试的feature去做code review,就去了office一直工作到5:00am, 结果就发现了两个security bug. 之所以能有这个idea就是因为经验的积累造成,而能在周末凌晨工作几个小时则是因为passion. 我现在完全地享受能发现各种各样bug的生活了,已经对开发没有什么兴趣了。破坏软件真的是很有趣。
·
Understand features deeply
o
Design
o
Architecture
o
Implementation
o
Customer requirements
理解这些非常的重要。你理解的越深,你就可能发现更多,更好的bug。
·
Tools
o
App verifier
o
Driver verifier
o
Fuzzing tools
o
Etc.
Some tools are extremely useful. Some tools are very helpful. 很多人不理解我为什么每天都能发现一两个蓝屏的bug,其实90%的应该归功于这些tools。但是,虽然几乎微软每个人都知道这些tools,但真正经常使用的并不多。我发现一个有趣的问题,绝大多数我发现的bug并不需要特别的技术,而决定于态度。是一个你有没有去测的问题,只要去测,细心去测都能发现他们。
·
Code review+Debugging
o
Security audit: buffer overflow, memory leak, AV
o
Logic review
Debugging的技术非常非常重要,这是开发和测试的一个主要技术交集。就在我做完这个经验介绍以后,其他的feature里发现一个bug,他们怀疑是我们的feature造成的。我出面跟他们的开发和开发组长进行交涉,最后给他们指出他们的代码里问题的所在。Code review和debugging是相辅相成的,不可分割。我一般进行两种code review。一种叫code audit, 不关心代码的逻辑,功能,只是检查有没有buffer overflow, memory leak, AV 等等。一种是logic review, 专门检查代码的逻辑是否合理。Code review是个bug farm, 熟悉之后你能发现大量的bug在里面。
·
Tenet tests:
o
Reliability: tools, stress
o
Security: fuzzing, code audit
o
Performance: Xperf
大家一般更多的关注与functional test。其实Reliability, Security和Performance测试都非常重要。每一个测试人员都应该具备进行这几方面测试的能力,从而给自己负责的feature经常性的,或者通过Lab进行这些测试,肯定能发现很多bug,这些一般都是非常好的bug。
·
Integration test
大多数人只关心自己的component。其实很多bug发生在集成测试上。你需要学习其他相关的component, 从而能够想象很多cross feature的scenario进行测试,也能发现很多bug。
·
Looking for test holes
o
Test cases
o
Test tools
o
Test owner history
o
Old bugs analysis
我在有时间的时候我会通过这几方面去寻找更多的bug。看看有没有没有cover的test case, 看看有没有新的test tool可以尝试,跟别人聊天看看自己component以前test owner的情况,以及分析一下最近发生的一些bug。同一个bug有没有可能出现在其他地方。
http://peking2toronto.spaces.live.com/default.aspx
[ 本帖最后由 cleverman 于 2010-7-29 21:04 编辑 ] 详细的有吗,想看看 需不需要介绍,如何应对有问题的流程、错误的开发计划和自以为是的管理层? 原帖由 liangshi 于 2010-7-17 17:14 发表 http://bbs.51testing.com/images/common/back.gif
需不需要介绍,如何应对有问题的流程、错误的开发计划和自以为是的管理层?
这个东西太大了,涉及到**了。你有什么idea吗? 团队文化、管理流程、发布要求都会对开发与测试的具体实现产生影响。例如,Simple and flexible automation design是很好的理念,在不同的环境中会有不同的实施。在介绍技术方法的时候,可能要讨论:Simple与flexiblie的本质是什么?最终目标是什么?如何做到“因地制宜”? cleverman多写点东西来激励我们做测试的,
对很多人帮助都很大 原帖由 shan108 于 2010-7-23 00:17 发表 http://bbs.51testing.com/images/common/back.gif
cleverman多写点东西来激励我们做测试的,
对很多人帮助都很大
好的。这几个月都非常忙。现在需要测试的东西太多,连开发的都过来帮我测试了。等我有时间整理一下思路。 哎 楼主多加加
这个论坛太冷清,太缺少技术含量的东西啦.. good,希望继续发优秀的文章。 座谈会结束,发一下简单的发言提纲。 说白了还是对被测试系统的业务知识了解和整理框架的理解。
再加上测试设计、用例以及策略
做好测试真是不容易啊:) 能有更加详细的就更好了............ 非常好的内容,学习了。 好精彩啊 期待更多精彩文章 膜拜,学习中 \(^o^)/~ 看来楼主真的太强大了,这会激励我更努力的学习 先顶一下LZ,真的写的很好,学习了。。。。
一看LZ就是在外企工作的,说中文里面加点英文什么的。。不是很习惯。
不过总的来说,受教了。
希望看到更多这样的好东东。 英文好的牛人! 不错~~ :victory:
页:
[1]
2