联系我:新浪微博@架构师Jack 或 dongjietest#163.com联系.(#换为@)

Jack点评转载的《我的测试秘密和技术》

上一篇 / 下一篇  2010-08-10 21:52:35 / 个人分类:正确的测试思想

L|9OU/_u%[(cJ0 51Testing软件测试网$R6C4\g:t\N*U

51Testing软件测试网 h t9B"u y

今天在51testing看到一篇转载的文章,很有共鸣。为此结合我的经历和体会,对文中的一些观点点评一把,给大家分享:

H#yH y%i/c0

\S(dhr Rwb ]S };S0“最近受邀请要给微软的一个团队讲解我个人的一些测试小秘密和常用的测试技术。其实,测试没有什么太多的秘密可言。如果说如何能发现更多的bug的话,那么我认为最最重要的是passion和experience. 但是,由于他们期望听到的是测试的techniques,我就列了一个我认为最重要的几个方面。现在发出来和大家共享一下吧。

)t;XtD]`051Testing软件测试网yei;u)~ x\ u{

——Jack点评:我也认为激情和经验最重要。同样的测试思想和方法好比不同的武器,给不同经验和心态的工程师绝对效果是不一样的。测试管理者们不要指望用工厂生产管理的方式用机器代替人,所有工作都通过工具把对人的依赖弱化掉。测试工程师怎么说也还是知识工作者,不是富士康的操作工。从未听说过设计工作被自动化,实现工作被自动化倒是可行的。类比现在有工具可以自动生成代码,自动生成自动化测试脚本,测试用例,但是这些工具的输入还是由设计者经过人脑分析设计而产生的。

%|9^|AD.G1B(h Y0

ML)g8n ZV0  ·         Passion, Experience

:]\$DvU?"s,y;YQ0

.y W$F so0  我觉得experience和passion最重要。有一个周六的半夜我突然有种想法应该给我测试的feature去做code review,就去了office一直工作到5:00am, 结果就发现了两个security bug. 之所以能有这个idea就是因为经验的积累造成,而能在周末凌晨工作几个小时则是因为passion. 我现在完全地享受能发现各种各样bug的生活了,已经对开发没有什么兴趣了。破坏软件真的是很有趣。51Testing软件测试网8ddo F$LuK

51Testing软件测试网@3OcDCIZ

  ·         Understand features deeply51Testing软件测试网5G?"h(X3LY vty

51Testing软件测试网"_-L#[$Z;i D|

  o   Design

'Y0b;e{6`:]9O\A0

L bvS2}@b&]4I:{L0  o   Architecture51Testing软件测试网,A;L:] zg[#U gE

51Testing软件测试网%i%QE[/F2m&IQIo

  o   Implementation

E7xZy |[5U9Rx9o051Testing软件测试网 w4A;J3B i,PP7q

  o   Customer requirements51Testing软件测试网J:sR1zX{2d

51Testing软件测试网 M3p,}[N)iv

  理解这些非常的重要。你理解的越深,你就可能发现更多,更好的bug。51Testing软件测试网.N{a)? S*r

-C5k1?;FQ b({0——Jack点评:我所做过的每一个项目都会深入学习和理解该项目的design、Architecture、Customer requirement,这是我这么多年来做测试的习惯。所以说完全黑盒的测试是不存在的,做好系统测试可以不看代码(时间成本很高,老板不高兴),但一定要和开发人员一样了解design、Architecture、Customer requirement。并且只有你能在这3类文档中发现了其中的缺陷,才能说明你真正的看懂了,并可基于这些资料开始测试用例的系统分析和设计。我甚至认为做一个合格的测试分析和设计人员是必须具备快速学习和理解项目design、Architecture、Customer requirement的能力的。51Testing软件测试网5] RV E/kQ

51Testing软件测试网-X%b$g*q#zsH$tX

  ·         Tools

o`3^$pb0

Pyc!I6F+F0  o   App verifier

kYXk~oao0

\ RN].v&y^/k s0  o   Driver verifier51Testing软件测试网Pm2?#y,s0|

T*n){P-E e5JY {u5kf0  o   Fuzzing tools

\-`4A z"R051Testing软件测试网 IZtwzk"G

  o   Etc.51Testing软件测试网 _ O_VY*a;hG4Q

E]:BS.@'A7_0  Some tools are extremely useful. Some tools are very helpful. 很多人不理解我为什么每天都能发现一两个蓝屏的bug,其实90%的应该归功于这些tools。但是,虽然几乎微软每个人都知道这些tools,但真正经常使用的并不多。我发现一个有趣的问题,绝大多数我发现的bug并不需要特别的技术,而决定于态度。是一个你有没有去测的问题,只要去测,细心去测都能发现他们。

$d3S:ZW s;i BXl0

3R%R)lG"GqU'z1@o0——Jack点评:对测试工程师来说用好工具胜过自行开发工具(这是在做开发,而非测试),开发工具是有很大的成本的。当你是一个有丰富测试经验的工程师时,我更希望你能发挥测试的特长,而不是放弃特有的测试经历转向开发重新开始。当然如果你认为你的测试用例集已足够完善和完美,有无事可做那么你可以去写写工具玩,否则的话应将测试工具的开发交由专门的开发人员来实现。

.Z ~9jU r#u(fEJI051Testing软件测试网ts#I#j)e]#}

  ·         Code review+Debugging

.r!G7G%d,g daC'y)Z0

n+t2w%@p4I:kn0  o   Security audit: buffer overflow, memory leak, AV51Testing软件测试网/f:` P1{ ^ZrOd

51Testing软件测试网!r-Kf|"_

  o   Logic review

[/]m:l6~.Jr1G_0

U&w9OLe/?a8U0  Debugging 的技术非常非常重要,这是开发和测试的一个主要技术交集。就在我做完这个经验介绍以后,其他的feature里发现一个bug,他们怀疑是我们的 feature造成的。我出面跟他们的开发和开发组长进行交涉,最后给他们指出他们的代码里问题的所在。Code review和debugging是相辅相成的,不可分割。我一般进行两种code review。一种叫code audit, 不关心代码的逻辑,功能,只是检查有没有buffer overflow, memory leak, AV 等等。一种是logic review, 专门检查代码的逻辑是否合理。Code review是个bug farm, 熟悉之后你能发现大量的bug在里面。51Testing软件测试网{3E;Qb7SB` Y/lg

ZE#D.Z:kS+s0——Jack点评:非常高兴最近我正在实践的代码检视方法与文中的一样:如果时间资源少,先只做code audit(关注内存泄漏,资源泄漏,错误的指针内存使用,字符串缓冲区溢出,数组应用错误等);只有时间资源多时,才考虑logic review(一直没有时间来开展。) code review可以在测试设计开始之前做,能帮助你对系统实现了解更多,有更多可编写测试用例的场景输入;也可以在所有用例测试完成后来做,对基于场景的测试分析进行补充,毕竟无人能100%的覆盖所有的可能问题场景,通过code review也是一种补充方法。不过,需要强调的是:code review能发现代码编写的错误,却很难发现设计流程的错误(因为你已陷到细节的纠缠中去了,很难再从全局考虑设计了)

O9y k;BG ^ d*qO7R0

-JHD6hS3~\0  ·         Tenet tests:

oO5m5r-_"^,n3Pn0

F0C%j{ Q)iS0  o   Reliability: tools, stress

K2s"RA'{$NH9?4K3g!y T0

SPa:z&UaD6Y$E i0  o   Security: fuzzing, code audit

*}9K&X4J"I7p\t`0

a5YR+@T @,~WRI/l6G0  o   Performance: Xperf51Testing软件测试网R s nN/r,b

`Z@!Y4U3y0  大家一般更多的关注与functionaltest。其实Reliability, Security和Performance测试都非常重要。每一个测试人员都应该具备进行这几方面测试的能力,从而给自己负责的feature经常性的,或者通过Lab进行这些测试,肯定能发现很多bug,这些一般都是非常好的bug。

RVu Jy/DjK!R:`051Testing软件测试网-o[f|0R0yG6F

——Jack点评:压力测试和可靠性测试做的不充分,不精耕细作的项目,绝对质量是不过关的,无论测试报告能多么匹配你公司内部的质量出口标准,只要产品大规模上市应用后,你就会吃到这个苦头的。我甚至认为压力测试和可靠性测试是充分暴露产品bug的重型武器,功能测试用例只是步兵的随身武器。一直以来我每一年都会帮某些项目设计压力测试方案(用例)或可靠性测试用例,每做一个项目,我都能在这些专项测试的测试分析和设计质量上更进一步。

2`6oAV pfa051Testing软件测试网WPhFKS2pS

  ·         Integration test51Testing软件测试网x}l#fq"{G4h6s

r\9?8s@/hN%Gh[0  大多数人只关心自己的component。其实很多bug发生在集成测试上。你需要学习其他相关的component, 从而能够想象很多cross feature的scenario进行测试,也能发现很多bug。51Testing软件测试网"Lu&TKLHsU

51Testing软件测试网 \'d_8D w5r B

——Jack点评:通常我在给项目组补充测试用例设计时,很多都是补充的这类用例。因为经验稍少的人难免会对被测系统内部的对象理解的过于孤立,即使有时进行了正交穷举法也未必能考虑齐全。要做好集成测试的设计,需要测试分析设计人员具备快速进行宽度知识学习和深度知识学习的合理平衡。不过于钻牛角尖,又不过泛导致只能搞穷举正交。51Testing软件测试网9I"^?\/}x

6U/J~VVg*R%VeH0  ·         Looking for test holes

)cfS}'QV.l"kx0

F$HD"x-F0  o   Test cases

c*{9nr T.S_0

$O.q?mm`(f/|h0  o   Test tools

ep ^)]M2{1z051Testing软件测试网Y\$@x y3q,Xl&H&I/E

  o   Test owner history51Testing软件测试网xRX:X#A-XCq

p"L1B+h$ya*Uk1N0  o   Old bugs analysis51Testing软件测试网:p}-X0{.k Da Z6V2Z

51Testing软件测试网p)?5H4o J7I8f

  我在有时间的时候我会通过这几方面去寻找更多的bug。看看有没有没有cover的test case, 看看有没有新的test tool可以尝试,跟别人聊天看看自己component以前test owner的情况,以及分析一下最近发生的一些bug。同一个bug有没有可能出现在其他地方。

|T8zc'~*s0

zs}uV%JGLw4`4Y0版权声明:本文出自flysky19的51Testing软件测试博客,欢迎转载……”51Testing软件测试网&E;m_:Qu3i


TAG:

scott1012的个人空间 引用 删除 scott1012   /   2011-10-29 09:27:13
5
我的测试空间 引用 删除 zhifei.xie   /   2011-08-24 16:51:03
一群傻逼!
莫忘莫失 引用 删除 hzc2007   /   2011-03-16 18:09:56
5
ctina的个人空间 引用 删除 ctina   /   2010-09-01 18:14:32
转了
ctina的个人空间 引用 删除 ctina   /   2010-09-01 18:14:24
5
look心 引用 删除 look心   /   2010-08-26 21:55:01
5
双双 引用 删除 zssuestc   /   2010-08-18 18:44:51
谢谢您的分享!
受益匪浅!
jenny_land的个人空间 引用 删除 jenny_land   /   2010-08-15 17:41:09
越测越开心 引用 删除 51_51testing   /   2010-08-12 10:43:37
有见地,长知识了
sweetxmy的个人空间(喜欢兔子的藏羚羊!) 引用 删除 sweetxmy   /   2010-08-11 15:56:35
http://peking2toronto.spaces.live.com/default.aspx
这是原作者的地址,大家有空可以去看看,
里边的博文相当多。
Jackc的个人空间 引用 删除 Jackc   /   2010-08-11 14:44:04
确实很强,在实际测试中已经调用我所能想到的所有测试资源:相关文档、代码、工具、故障库、用例库。
确实,这5方面任一方面都能带来更高的缺陷发现率。

不过,我弱弱的问一句:1个测试,8小时工作时,能做完这些事情?

所以,在选取测试资源时,首先要做一个资源排序。

一点拙,欢迎指点。
引用 删除 showshow   /   2010-08-11 12:45:55
两个sb
愚人也有梦想 引用 删除 愚人   /   2010-08-11 10:11:55
高手论剑,精彩!
 

评分:0

我来说两句

Open Toolbar