SCMLife.com

 

 

搜索
SCMLife.com 社区 测试方法论 软件测试之独孤九剑
查看: 50344|回复: 227
go

[原创] 软件测试之独孤九剑

Rank: 10Rank: 10

发表于 2008-6-22 23:57 |显示全部帖子
本文并非是一个专业性非常强的学术性文章,而是当初为了吸引越来越多的人能对软件测试感兴趣而做的游戏文章,力图轻松,希望能为大家在研读学术经典的同时,能得到些阅读的快乐。/ P- V! b; k3 V! i' b2 `6 ?! O

* z8 G, F3 F1 d: G. w1 v8 {: _4 r/ S# |- v6 I6 p  s* s
5 s" v' F0 f. E

  j! k. H7 O6 P- L4 a. `软件测试之独孤九剑7 H0 W3 K/ E8 Y( T& P  b: j: d
; b$ q% p1 P* }4 p. Y
前言
* }3 c0 g, j5 _& M' X( s: G, L
! r1 L) W$ j# E        华山大学是个国内知名的大学,特别是以计算机系称雄于学术界。系主任岳不群以中科院和工程院两院院士身份,统领华山大学兼任计算机系主任,从教几十年来,培养出一大批的IT精英,在江湖上已经隐隐成为中国IT界的泰山北斗。令狐冲的老爸和岳不群有点交情,就死拉活拽的将令狐冲弄进了计算机系,也打算让他儿子以后从事IT行业。
1 v% j& w8 ?. k        性格飞扬跳脱的令狐冲其实对规规矩矩的编程并不太感兴趣,但是在老爸的威压之下,只得乖乖入学。令狐冲就在这样的一个情况下,成为华山大学的一个大一新生。
) K1 {! _- ^5 e& c7 a  s- t$ \! T: h7 u
[ 本帖最后由 aries_duan 于 2008-6-23 11:27 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?加入SCMLife

Rank: 10Rank: 10

发表于 2008-6-23 00:08 |显示全部帖子
校园篇+ z0 d, J1 O, x9 X* A+ `2 E5 z+ U

- |/ e2 b4 u& m第一章:不识庐山真面目,只缘身在此山中
. t' t  v2 J( u1 ?6 `
7 P$ d8 p7 I8 A" ?+ Q! J. Q2 E        转眼两年过去了,令狐冲已经摆脱华山菜鸟的名号,开始懂得哪个食堂的伙食不错,什么时候图书馆里有最多最靓的美眉,也慢慢知道系里的哪位老师是四大名捕,哪位老师是佛手仁心。但是让令狐冲最头疼的还是专业课,枯燥的数学像个紧箍咒一样箍的他喘不过气来,至于编程语言,还不算那么没趣,但是和喜欢天马行空般胡思乱想的快乐比起来,在键盘上敲代码却让人怎么都提不起兴趣。
. T8 o, k0 [$ Y        对课程失去了兴趣,直接导致令狐冲的精神状态不佳。整天混混噩噩的,也不知道每天做了点什么,应该做些什么,就只是在学校里面漫无目的的游来荡去,要不就是和几个狐朋狗友上上网,打打游戏聊聊天。偶尔想起老爸,也会觉得非常的愧疚,但是毕竟没有改变现状的能力,也就只好这样混下去,过得一天就是一天了。这天,令狐冲正在宿舍打机,忽然接到老爸电话,谈其大学生活日渐颓废,恐其荒废学业,特帮其在校外寻一实习机会,并千叮万嘱,务必把握这次机会云云。
  `* n9 M4 e* H        第二天,令狐冲就打起精神,按着老爸给的地址,找到了位于华山大学后门的“思过软件测试研究实验室”。面前是一个看起来并不起眼的建筑,令狐冲推门进去,发现里面却别有洞天,各种各样的电脑设备齐全,甚至还有学校中很难得一见的苹果机。一个身穿实验室服装的老人从旁边迎了出来:“你就是令狐冲吧,我是实验室的负责人,我姓风,叫风清扬,和你爸爸是老同学,你就叫我风师叔吧”。说着,就把令狐冲让到他的办公室里,给了他一些资料,说让他先了解一下,等下再和他具体介绍工作的内容。令狐冲在学校虽然学习成绩一般,但是怎么说也是华山大学的高材生,觉得阅读这些资料自然不在话下。但是读下去,资料里的内容却好像在学校中,从来没有人提过,都是什么白盒黑盒,让人无法理解的名词。
% p) V2 G+ v4 |+ @7 s: T+ P# d3 f令狐冲只好一边看看资料,一边不时的瞟瞟外面,看风师叔什么时候忙完,好来帮他讲解。/ R2 u( v% C7 g* z( ~- y# @1 G
        终于风师叔忙完了,令狐冲忙凑上前去:“风师叔,这些资料里的东西,什么软件测试,白盒测试什么的,我怎么在学校里从来没有听过?这些真的是计算机相关的资料吗?”风清扬笑了笑,说:“你家校长岳不群,向来走的是开发的路数,江湖上出了名的唯技术论者,从不肯在软件工程上下功夫,怎么会让你们去接触这些在他看来不值一提的雕虫小技呢?其实,软件测试乃是软件工程里面非常重要的一个环节,和软件开发可以说是同等重要的一个工作。想当年,我华山大学当年也曾经有过软件工程专业,还有一个国家重点实验室,不过在你家校长掌权之后,就逐渐式微了。”
* ~3 G9 E" M; _: j/ O( w* s        “哪这个软件测试到底是个什么东西呢?”令狐冲被勾起了好奇心,赶忙追问下去。9 T5 K$ D1 L0 f4 C/ z  x
        “说到这个,可就要从几十年前的那场被称为软件工程危机的江湖浩劫谈起了”。风清扬沏上杯清茶,坐在了令狐冲面前。% n! F& A% C# u
        “软件可不是国学,你可知软件是从哪个国家传来的?”, t7 }/ L% x4 V
        “番邦美利坚”令狐冲对这点历史还是了解的。
" U& N% U" n7 S        “在美利坚,软件技术已经发展到了顶峰,江湖中也有越来越多的门派会使用软件提高他们的管理水平。软件公司的掌门们也常年霸占着武林榜的前几名,可谓英雄辈出。可正是在这英雄辈出的年代,软件行业盛极而衰,这还要从号称软件业的滑铁卢的哈佛机场事件说起。”风清扬品了一口香茶,像是在品味茶香,又像是在品味这段往事。
' V! m  E- K2 w9 [        “哈佛机场是全美利坚当时最先进的机场,希望在新机场扩建的时候,增加全套的IT系统进行管理。行李处理系统是这套系统的重中之重,它控制着所有起落的飞机的货舱货物的装卸。但是恰恰在这个最重要的系统上,由于没有进行完整的软件测试,在最终上线的时候,出现故障,导致上万名乘客驻留机场,还险些造成飞机相撞的事故。这一机场事件当时在全美掀起轩然大波,波及整个软件业。江湖上甚至传闻,很多客户对软件失去了信心,甚至考虑中止软件项目的推进。”风清扬的表情凝重,仿佛亲历了那场浩劫。
8 h2 X! ?0 c/ V6 }# t        “莫非风师叔曾经经历过那场浩劫?”令狐冲看到风清扬的表情忙追问。
7 E; _. S, i# k4 v2 N. x" B7 o        “那年我正好在美利坚留学,赶上软件行业大萧条,当时工作不好找,差点沿街乞讨。还好,很快,软件行业开始了复兴,软件测试就是在那次复兴中,当作一个核心的技术领域成为了最大的受益者。我也就从那时候开始,正式从事了软件测试这个行业。”
! c, J' `; g6 Q9 J7 n9 y# Z        “那究竟什么是软件测试呢?到底有什么魔力,能将当时的软件工程危机轻松化解呢?”令狐冲显然对这事情非常感兴趣,在学校中的颓懒,现在已经完全看不到了。; D9 ^8 W4 ]% ~8 C" k6 E
        “谈到化解危机,哪有那么轻松呀。只不过软件测试为避免软件出现更多的缺陷提出了一套系统的解决方案,真正做到了改善软件质量,软件测试成为软件工程中不可或缺的一部分,还是经过了很多人很长时间艰苦的努力的。”风清扬好像胸有成竹,故意避不回答令狐冲关于什么是软件测试的问题。
, G- k* M% S& h) p- g        “风师叔,到底软件测试是什么呢?您就别卖关子了。”
6 B0 u7 U% g- G. w, d, j, x        “其实,软件测试说的简单一点,你每天都在做的。只不过你没有感觉到罢了。”风清扬笑了笑。' D2 I& n6 U# b
        “。。。。。。”令狐冲更加摸不到头脑了。* g9 n. q8 @% D; j
        “我们每天都在使用软件,每天都可能发现软件运行过程中的问题,这些从结果上都和软件测试一样,所以可以说软件测试非常简单,也非常普及。”风清扬清清嗓子,继续说道:  c$ I: D8 t" `0 A- V, t
“软件测试是一种看似简单,其实内涵很丰富的技术。它涉及到计算机、工程、管理、心理学等多方面的知识,可以说是一个综合姓很强的学科。一开始,可能平淡无奇,甚至还会觉得有点无聊,但是一旦有了经验,将会发挥出惊人的威力。”
. r7 w$ H& f7 Y3 g" h) a( e        “真的?”令狐冲有点将信将疑。
3 ]; \6 r, a8 {- v# Q$ Z: y        “这样吧,你听没听说过黑客这一职业?你对这种职业的技术水准有怎么样的一个评价?”风清扬问。
& r' f3 W, W8 e0 D# E  c        “黑客呀,”令狐冲脑海里立刻浮现出黑客熟练敲打键盘的手和一个个被侵入的计算机系统”那可是一群技术高手呀,入侵银行,各种政府机关,如探囊取物一般。。。。”
- Y5 v! ~" D. c9 j        “看来你是好莱坞大片看多了”风清扬笑笑,打断了令狐冲的幻想“其实计算机黑客的确实是技术高手,但是也并非像你想像和电影中所描绘的一样,三下五除二就搞定一台机器。其实黑客入侵是个系统而复杂的过程,持续时间也相对比较长。”$ w& Z% a. g; i( f
       “那这和软件测试有什么关系?”令狐冲纳闷为什么话题忽然转到了黑客身上。
. ?/ s' ~; _: p( T  A, N       “黑客所做得工作其实也是软件测试,不过他的目的不是为了帮助软件公司完善软件,而是为了自己的利益。但是方法上和软件测试没有什么两样。”. [# s9 M+ z% v+ V; K4 ?" ?# e
       “那么说,我学会软件测试,就能作黑客了?这岂不是和软件测试的力求软件完美背道而驰?”令狐冲好像不是很认同。2 @$ @$ ^; X" L7 [6 l
      “你入门时,师傅教了你华山剑法,你现在练得怎么样了?”风清扬又问了一个好似和当前话题并无关联的话题。2 W# Z- b) G* T+ Z
      “马马虎虎吧!”听到师叔考量功课,令狐冲没了底气。
6 Y  x, [0 `7 U7 f1 V2 X/ a      “你觉得华山剑法是教人成为行侠仗义的大侠呢,还是杀人放火的劫匪?”
& l% L0 g- n* w1 Z8 A8 z& m/ N# F      “剑法就是剑法,并无善恶之分。区别在于使用的人”* m' X+ K0 l$ S5 M
      “呵呵,软件测试也是一样。你可以凭借你的测试技术,成为一个优秀的测试工程师,软件完美的缔造者,当然你也可以通过学到的技术,成为一个软件的破坏者。而正如你所想的,有很多黑客,现在已经改邪归正,被网络安全厂商所收服,成为一名网络安全测试工程师。“风清扬对令狐冲的领悟能力还算比较满意。”天也不早了,你今天先回去吧,明天早晨,准时来这里报道,这里有本书《软件测试之独孤九剑》是我多年经验之作,你拿回去看看吧”/ v# @7 \, {' V5 c' f+ H
        令狐冲兴冲冲的回到了宿舍,翻开了风师叔给他的独孤九剑。        - u, P% s& _( N3 n
        第一式:不识庐山真面目,只缘身在此山中
5 T' V: J2 |) F1 }$ s软件测试的定义:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例运行软件,以发现软件错误的过程。这个定义看起来很难懂,其实可以通俗的理解为,软件测试就是运行软件,通过各种专业的方法设计测试用例,来运行软件,以图发现错误的一项工作。( D9 K0 m. O- I3 G
       越是大型的软件企业,对软件测试工作越重视。拿软件业巨擘微软公司来说,开发win2000的编程和测试人员比为1:1.7,动用了几千名的测试人员。除此之外,每年微软还会花几十亿来进行外包测试和面向公众的测试,可以说是为测试不遗余力。难怪bill gates在一次会议中说,我们微软是个软件测试公司了。国外软件测试行业的红红火火,正是国外大型软件公司能越来越壮大,小型软件公司能不断蓬勃发展的重要原因。" V4 o' b, K+ m8 }1 l
       软件测试需要专业的技术和培养。并非一个合格的程序员就能成为一个合格的软件测试工程师。一个优秀的测试工程师需要多年的理论浸淫和实践锤炼。目前,我国软件行业还处于起步阶段,缺乏大量软件测试工程师的人才,更缺乏的是培养人才的教育体制,实现我们国家的软件发展和拥有一大批的合格软件测试工程师的目标,还有很长的一段路要走。
4 q& b& |9 x2 z+ }1 k* K! ]       。。。。。
+ O' s: f* g% O, ?6 ?5 ?       风清扬送走了令狐冲,旁边的大弟子古龙忍不住问老师“风教授,这个学生看起来没有什么经验,学习成绩也不突出,对编程也不是特别爱好,能做好测试吗?您为什么要为他花费这么大的功夫?”风清扬笑了笑:“能不能做好测试,其实和编程学的好不好,没有太大的关系。要是只选编程好的,我干脆去选程序员好了。在我开来,测试人员的良材美质反而和优秀程序员需要的素质有所不同。”说着,风清扬给古龙在白纸上画了一张图。9 y3 j" c) j1 w4 k

; L8 S/ Z; J2 K' c; K5 N       “作为一个软件测试工程师,需要的知识面非常丰富,因为他所将要面对的问题将会非常的复杂和多样。他可能会接触到很多不同类型的软件,这些软件有着不同的程序实现方式,不同的业务背景,不同的软件架构,甚至不同的界面语言。这其中的每一个不同,都会要求可能是截然不同的测试思路。一个好的测试工程师,需要能适应这种变化的考验。另外,广泛的兴趣也能够让测试工程师在测试的时候,能有更多的思路和测试灵感。所以,一个出色的软件测试工程师是需要有广博的知识的。开发则不然,一个优秀的开发者,必定不会受到各种语言的诱惑,只会关注一个语言,一个领域,穷其一生,皓首穷经,才能成为一个编程大师。前朝有两名武侠前辈,一个由博学而成为测试高手,一个因精深而成为编程大家,你可知是哪两位高人?”风清扬明显带有考校的问道。" L; h) y4 j3 H4 i
       “莫非是当年号称南慕容,北乔峰的两位前辈。姑苏慕容,向以涉猎广泛闻名,号称能精通少林七十二绝技,丐帮乔峰,只一招降龙十八掌就威震江湖。这两位都是前朝大大有名的高人,一个由博入道,一个由简闻名,端地是让人佩服。”古龙好像若有所悟。
& t, ?! B; v1 B; O5 W       “这个令狐冲,天性飞扬跳脱,并不适合作编程,但是他的广泛兴趣和聪明才智,却让他是个测试界难以多得的良材美质。我相信,不久的将来,他将一定会在这个工作中找到自己的价值,也不枉我一番心血。早点休息吧,明天你还要给他介绍一下软件测试的具体工作内容和不同技术之间的关系呢。”风清扬拍了拍古龙的肩膀,让他回宿舍去了。* M9 D- j! u" W/ _4 ^7 D& q

% o2 x0 s' N, }$ ?. C[ 本帖最后由 aries_duan 于 2008-6-25 13:36 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?加入SCMLife

Rank: 5Rank: 5Rank: 5

发表于 2008-6-23 09:53 |显示全部帖子

填写您的邮件地址:

下文那????????????
子曰:唯变更乃不变也
子曰:唯进度与美女难追也
子在川上曰:BUG如斯乎,不舍昼夜
老子曰:天之道,损进度而补质量。人之道,则不然,损质量以奉进度。孰能以进度霸天下?唯有质者。

Rank: 10Rank: 10

发表于 2008-6-23 09:56 |显示全部帖子
大家如果感兴趣,下面我会继续贴

Rank: 15Rank: 15Rank: 15

SCMLife专家 百元爱心捐助

发表于 2008-6-23 09:59 |显示全部帖子
原帖由 aries_duan 于 2008-6-23 09:56 发表 , m0 T* [- \5 L: b9 S
大家如果感兴趣,下面我会继续贴

: b3 o+ \" i. z非常感兴趣;
4 X$ E" }$ ?; i" z; W5 `非常棒;$ U. L9 B$ h: t: a! S
楼主继续啊;大家都期待呢...% Y- q, W, w3 S; _$ k

8 h4 q3 h3 v0 n

Rank: 10Rank: 10

发表于 2008-6-23 10:17 |显示全部帖子

第二章:春来遍是桃花水,不辩仙源何处寻

古龙是华山大学研二的学生,主修软件工程,其主要研究方向是软件测试工作任务和不同测试的功用。最近也有一本专著《软件测试之七种武器》问世,可以说是测试领域里一个后起之秀。风清扬今天让他来指导令狐冲第一天的实习工作。8 \: ~& Q2 N/ ?) I
    令狐冲看着这位头有点大的师兄,说实话他还不是很习惯这位师兄身上浓厚的古龙水的味道,也觉得这位师兄有点其貌不扬,好像不是很有料的样子。但是很快他就被古师兄的生动的讲解吸引,全然忘记了他面前的胖子的黄斑牙和带有点闽南腔的普通话。4 E( `/ B6 [( Q1 a- R
    “谈到软件测试的具体工作内容,你知道软件测试是做什么吗?”一上来,古龙就开始考量起令狐冲的功课了。$ s4 `& ]% D& W* u& y
    “软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例运行软件,以发现软件错误的过程。”令狐冲昨天看来还是用了一番功夫,对软件测试的定义还是背的挺熟的。
# O! i9 ^" `" _- I% G    “那我们就先来讲一下软件测试的最重要的工作内容,设计测试用例好了。设计测试用例说起来也非常的简单,通俗点说,就是把要如何作测试的步骤,都在测试之前提前考虑好,并以一种规定好的格式,在纸面上或系统上记录下来,为测试人员提供运行软件时的指导。这种测试用例设计的工作,可以说是测试工作中最常用的一种工作,就和我们江湖中最常用的兵器――剑一样。测试用例设计所持续的时间也非常的长,甚至在产品版本更新多次以后,都可能还存在对原来某一测试用例的使用和修改,所以我们都喜欢把这一测试技术称为长生剑”; q: y  u. g2 W9 i+ l$ n3 R- o; p
    “可是测试不就是运行软件吗?运行后发现错误,记录错误不就好了吗?为什么还要记录测试的每一个步骤,而且还是在测试之前,这不是多费一次劲嘛!”令狐冲不解。: ]; g& p: o: c+ h+ l6 i
    “软件测试的目的是发现缺陷,但是最终目的是需要将缺陷能够让程序员意识到,并将其修改,所以软件测试缺陷的可重现就显得尤为重要。我查过你的履历,听说你曾经在某一个网络游戏的公测过程中发现了一个非常严重的缺陷,还获得了该网络游戏公司的500元的奖励?”) l+ o7 r) `* ^: L' y2 O
    “是呀是呀,这你都知道呀?”令狐冲掩饰不住自己的兴奋。谈到自己的得意往事,他还是蛮期望得到古师兄的夸奖的。
6 |9 g- ~1 a0 s/ @    “这个缺陷你应该记忆深刻了,那你能给我描述一下当时你是怎么发现的缺陷吗?你的操作步骤是怎么样的?”古龙好像丝毫没有想夸奖令狐冲的意思。
; n1 c: ~2 u3 w$ O/ b' n6 i$ u$ Y    “时间有点长了,但大概我还能回忆起来。。。。”令狐冲如数家珍般说起了他当时的步骤。+ n9 O6 y. C+ E. r6 }
    “具体一点,到底是几步?当时你操作时,你控制的人物到底走了几步?”古龙不停的追问。
( w) E& E: W" [! v    “记不清楚了,时间太长了。”令狐冲有点不好意思的挠挠头。“莫非?这就是编写测试用例的作用?能够把缺陷重现的步骤纪录下来,以便以后重现?”令狐冲忽然醒悟过来了。
/ A( T6 k" A0 t6 M0 ]    “不错,但是这只是测试用例的其中一个作用。”古龙的确有点满意这个小师弟的反应了。“你还记得当年我们华山大学是怎么中兴的吗?”古龙不愧是风清扬得意门生,打岔的功夫也学的似模似样,又是一个与当前议题无关的内容。
/ ?* I5 b: n; r    “记得。当年岳校长在学生时代,就在现在这个思过实验室的位置,发现了以前华山前辈留下的一本剑谱,苦心研习,从而开始名噪江湖。历经几十年,将我们学校发展成国家21世纪的100所大学之一了。”令狐冲对校史还算是比较熟悉的。, v8 \5 d' }# E& Q% v% T$ p
    “测试用例在开发人员看来,只是重现缺陷的步骤,而对测试人员来说,则是测试思路和测试方法的结合。很多优秀的测试工程师,都是从研究前辈的测试用例开始的。所以把测试用例当作是测试人员的剑谱也并不为过。”
& t' s+ B) {+ O, {, o% L9 ^    “那到底应该怎么编写测试用例,给我看看你写的测试用例好不好?”令狐冲的兴致又来了。
! M2 p+ m4 d4 R! C# w1 |; Q    “别急,今天的任务不是学习如何编写测试用例,我们还是继续了解软件测试的另外一个主要的技术。”古龙制止了令狐冲。“下面我们来看看第二个测试技术,在我的书里,我把它比喻成碧玉刀。”
% C$ X' J1 f5 e    “碧玉刀的故事你听过没有?”古龙似乎没有理会令狐冲的回答,自顾自的说了起来,“当年碧玉刀被称为武林中最珍贵的神兵利刃,整个刀身由碧玉雕成,可却在实战中起不到和价值相匹配的作用。”
3 D2 X! x& N1 D8 N2 E8 {    “所以碧玉刀就被武林中人当作价值与收获不相符的代名词了。”令狐冲很高兴能插上一句话。
& O' i1 V3 S/ A2 m, e    “那是一些星斗市民的想法,在真正武林高手的手中,当其内力和刀法均已臻化境的时候,碧玉刀的确是能发挥出其价值的能力,但是能配的起这刀的武林高手却寥寥无几,才会让碧玉刀落得如此一个名声。”古龙的话里充满了惋惜。“在测试领域里面,有一门技术曾经也遭遇碧玉刀一样的境遇,那就是自动化测试技术。”
" M1 p" i! ?; z    提起自动化测试技术,古龙好像精神了很多:“自动化测试的本意是希望能借助工具自动的帮助测试工程师完成测试,如果真能达到这一目标,将会大量减少测试工作时间和提高软件质量。但是以目前的状况来看,革命尚未成功,同志仍须努力呀,呵呵。”3 r5 ]" w. S# w- X9 m/ G" S4 G
    “自动化测试是以测试用例设计为基础,也就是说需要有良好的测试用例设计功底和完善的测试用例之后,才能较好的实施自动化测试。”
. I$ N+ o1 ]% G    “为什么呢?”令狐冲有种打破沙锅问到底的执著。1 G3 F( ?' n( `" C
    “等你真正做了一段时间,我再和你详细的讲解。现在和你说了,你也是会将信将疑的。”可是谁也没想到,不久令狐冲就不得不依靠这将信将疑的理论,来挽救某一个险些失败的测试项目。
! I' L9 f: f! U( M    “下面我们再来看看我把它叫做多情环的一种测试技术。”古龙很快又开始了下一个测试技术的讲解。! d/ @$ O) \% _, K
    “哇,这么浪漫的名字。”令狐冲没敢大声的说。9 h( G+ |" m$ m  O0 |2 O/ X0 i
    “这个名字的由来是源于某个设计大师的话――像呵护情人一样照顾你的客户的感受。客户对于我们来讲,非常的重要,所有成功的软件都是最大程度上,符合了用户的喜好。所以易用性测试就被灌上多情环这样一个浪漫的名字,也成为了一个非常重要的测试步骤。”
1 x6 `- z5 E. W% ^    “易用性测试就是检查程序是不是容易使用的测试?如果是那样的话,我觉得倒是没有什么技术含量的呀。”
9 K. X8 F  U0 ]! I! y3 B    “呵呵。易用性测试看起来很简单,但是实际上却不是这样的。很多人认为软件测试工程师只是根据自己的感觉来评价软件是否好用就可以了,但是有些时候,软件测试工程师就需要实际考虑用户本身的思维方式和使用软件时的状态。曾经有这样一个例子,微软为了了解普通人对他们的软件的看法,专门雇佣了一个家庭妇女来为其新开发的软件作测试。”古龙喝了一口水,又慢慢说道:"给你举一个实际的例子吧。我曾经做过这样一个软件的测试。测试一个护士用的注射器剂量调整的控制器。当时,我们的设计是像计算器一样的一个输入剂量的装置。你觉得它的易用性如何?”说着,古龙把一张图给了令狐冲。/ x" l: ^6 f) ?
- p2 j% T# j  [, I& V4 {8 a# u1 O
    “我觉得还不错呀,应该也挺方便的,用户应该能够接受。”令狐冲说。
) Y: M6 F6 m1 e4 a3 P2 ^/ `    “我当时也得出和你一样的结论。可是当我们把产品提交给客户的时候,客户却说不好用。她们说,在实际工作的时候,有时会对某一位剂量微调,而很少修改全部的剂量。所以她们希望做成第二种样子。”3 v: g8 s0 E) z( @4 L
    “看来不深入了解护士的工作状况,还真的不能很好的把握客户的需求呀。”令狐冲开始有点后悔刚才对易用性测试的轻视了。“越是大型的公司,对易用性测试越是重视,甚至有的公司为了测试网页对人们的吸引程度,专门配备了人眼视线跟踪仪器来研究人们的浏览习惯呢。特别是现在关注即是生命的网络时代,网站对用户喜好的把握就更加的重要了。”
. f5 m! T7 ^# j, c% X% b3 L“的确,我也有因为网站上某些操作不方便,放弃网站的经历。”令狐冲越来越认同易用性测试的重要性了。
& }0 t. g- G4 [3 w* x; H
$ a1 m# I) S! }* g[ 本帖最后由 aries_duan 于 2008-6-23 12:56 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?加入SCMLife

Rank: 10Rank: 10

发表于 2008-6-23 10:19 |显示全部帖子
“我们已经说了长生剑、碧玉刀、多情环三件兵器了,需不需要休息一下?”古龙担心小师弟一时接受不了这么多新知识。
7 f( ?; r( h& q- A    “没事没事,你讲得挺精彩,我一点都不累。”令狐冲一幅精力充沛的样子。6 A9 B  P8 I% X$ g7 Z+ v
    “好,那我们就继续。下一个技术,我们谈谈软件漏洞。”  n2 w& [/ G2 E7 Y# e8 S% O$ K
    “软件漏洞?就是黑客和病毒用来攻击我们的软件的缺陷吧。”令狐冲对昨天风师叔讲的内容还记忆犹新。' n8 y+ @5 f& u. C
    “是的。现在的软件由于和生活越来越密切,其装载的数据就越来越诱人。所以软件的安全性就越来越重要了。很多通用软件都开始注重其安全性,避免由于软件漏洞导致客户的各种损失。甚至前一阵还听说出现了专门为软件公司寻找漏洞,并收取费用的公司,而且企业大都乐意花钱购买呢。安全性测试就是这样一个工作。所以我们希望用它来和软件漏洞彻底告别,我们把安全性测试就叫做离别钩。”古龙依然是不紧不慢的说着。8 Z6 F! q& n: \) I
    令狐冲识趣的没有追问怎么作安全性测试,而是等着古龙讲下一个测试技术。
4 \# ^+ p& ~2 B* e; H% n4 z1 f    “第五个测试技术是白盒测试技术。白盒测试技术作为一个和编程密切相关的技术,一直占据了高端测试技术的位置。很多程序员也都深谙白盒测试的门道,所以有人把白盒测试工程师称为最接近程序员的测试工程师。”
# ^) ^: r5 S0 O/ X8 y  m+ T' L     “白盒测试?”
$ V" t& g. C& R1 k0 [: j    “我们还是看看这两张图片好了。黑盒测试就是在不了解程序内部结构的情况下,对软件的输入和输出结果进行跟进,从而确定程序是否正确的测试方法。相反白盒测试就是对程序内部结构了解的情况下进行测试的方法。”
5 B" I2 t' v/ ]* ]/ H1 F
: M; t; e  k# x' G" z" E  P    “我知道了,这也就是为什么风师叔说测试工程师也要懂得编程的原因了。因为不懂编程,就算看到代码,也无法看懂,当然进行不了白盒测试了。是不是白盒测试就是最有效,最常用的测试方法了?”令狐冲还是按捺不住接了话。' J$ e2 t. u8 X. I# @% @8 T& i  G  T
    “部分正确。”古龙也很是喜欢这个小师弟一点就透的聪明劲,“的确白盒测试有时会找到一些黑盒无法发现的错误,但是由于测试过程非常复杂,要涉及到大量代码的编写工作,所以一般白盒测试无法做到全面覆盖,只能对一些重点模块进行。但是由于它的高技术含量和发现错误的能力,测试人员都把它叫做霸王枪。”
/ B+ @7 H& _2 }9 Q& S1 B    “古师兄,我原来听说某公司招聘性能测试工程师,月薪高的吓人。这个性能测试是不是也是软件测试技术里面比较高深的一个呀?”令狐冲问。
  W. P$ S, f* N) m  n* b# v# L    “性能测试的确是测试技术中又一个以技术要求高,薪水待遇好著称的一个领域。但是正是因为其高端性和复杂性,江湖上几近失传。这个和失传已久的暗器之王――孔雀翎很类似,我们就以这个名字命名了。但是性能测试并不是对每一个软件都适用的,这也和孔雀翎的缺点一样。”古龙说。7 R) E9 _3 D8 U) W9 d; h) o. G
    “什么样的软件不需要性能测试呢?”' F# I, N3 X) n% O. f3 K$ Z
    “一般来讲,单机版的软件作性能测试就意义不是很大,网络版软件,特别是WEB应用系统,就需要作性能测试。因为单机版只要满足了硬件的基本配置要求,一般性能都不会有太大问题,但是网络版软件和WEB应用程序,性能会随着用户的增多而降低的,为了满足用户数的增多,程序会在实现上做优化。性能测试就是找到软件该优化的地方,在不增加硬件成本的基础上,提升软件的性能。因为涉及到和硬件网络等很多的知识,所以性能测试工程师需要很宽的知识面。很多专业数据库提供商,也有很多专门负责帮助用户作系统优化的,这些人大部分都是数据库性能测试工程师。听说oracle公司的一个性能调优工程师,外部聘请的话每天的费用是1000美金,这也是为什么性能测试被我们和江湖上最华美的暗器――孔雀翎相提并论的原因了。”
, j! z. }: D$ z6 Z* q5 B$ A    “看来,软件测试还真的是有很多东西可做呀。”令狐冲真的有点惊讶于软件测试的博大精深了。0 `8 H2 q: ~* z$ _+ Z: V' _
    “最厉害的技术还没说呢。”古龙举起了他自己的手,“你看,这是什么?”
* Q/ P! n) r! Z$ O1 i    “手呀?怎么了?”
4 M/ o, X  Y2 q3 c  n2 h; G) I    “这才是世界上最可怕的武器,尤其是当它这样的时候。”古龙把手合成了拳头。“当一个部门的员工都像攥拳头一样向一个方向用力的时候,测试才能真正成功。如何让大家有一个明确的目标,并向这个方向一起努力,这就是软件测试管理的工作。测试管理也是测试部门生存最重要的一个技术手段,和我们的拳头一样,最基础,但是也可能最高效。所以,这最后一种武器就是拳头。”古龙用力握了一下自己的拳头。$ k9 S( [: p6 j6 o
    “好了,今天我们就说到这了,明天我们就可以开始真正的测试工作了,晚上回去好好休息吧。”# |: S/ l5 w$ Z# k: b
    回到宿舍后,令狐冲又回想了一下软件测试的七种武器:
$ u, O5 J1 x2 H! A( D( `+ E* N        软件测试用例设计――长生剑,最常用的武器6 L& Q- O7 L/ E1 M4 O
        自动化测试技术――碧玉刀,需要使用者有很高深功力的昂贵武器
! U6 S  j! ?1 s& ?* {. A* {        易用性测试技术――多情环,像揣测情人心理一样揣测用户的需求
8 |2 W$ n8 `! @" `% K        安全性测试技术――离别钩,和安全漏洞彻底离别
% J3 p7 A5 ?- N7 _4 t        白盒测试技术――霸王枪,最接近开发的测试技术
0 w+ F8 b$ F. R. j- O) I  U2 A+ A        性能测试技术――孔雀翎,华丽的几近绝迹的测试技术# k3 y9 e& ?! }# x$ h2 {6 x7 d
        测试管理技术――拳头,合则有力,分则无功
0 o5 F9 W! M1 f% N* V% |+ c0 K
+ b* y4 g3 c  k1 ]0 n$ d    “我一定好好研究一下这神秘的软件测试。”令狐冲在心里暗暗下决心。: r# f, A* ?1 J2 \3 N% B
5 f+ s0 b! S3 q# {! g2 I
[ 本帖最后由 aries_duan 于 2008-6-23 12:59 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?加入SCMLife

Rank: 10Rank: 10

发表于 2008-6-23 10:20 |显示全部帖子
第三章创作中。。。我会加快速度的。

Rank: 15Rank: 15Rank: 15

SCMLife专家 百元爱心捐助

发表于 2008-6-23 21:41 |显示全部帖子
软件测试用例设计――长生剑,最常用的武器
% c) t4 V4 ^) }0 [+ C6 e; d5 I        自动化测试技术――碧玉刀,需要使用者有很高深功力的昂贵武器+ j' G" e0 P: L/ R0 w  k
        易用性测试技术――多情环,像揣测情人心理一样揣测用户的需求
7 m& k. W2 Q. r" }) M* p1 |        安全性测试技术――离别钩,和安全漏洞彻底离别
& I8 M9 m+ ?* [& P% r        白盒测试技术――霸王枪,最接近开发的测试技术
9 v8 M: B$ @8 D        性能测试技术――孔雀翎,华丽的几近绝迹的测试技术
3 F1 A+ S/ V& d) t) H# m: |* Z        测试管理技术――拳头,合则有力,分则无功
0 A3 [7 K0 f- W* M1 \8 }; g...
# `2 H8 h/ p# o! ?# o5 ?
aries_duan真的很有才;
0 G) {0 I% `' @: w& BMS熟读武侠小说;% H& v9 E9 s' g+ v) ~# m: c% a" `$ o
更精通软件测试;
2 l2 b+ [6 n0 _佩服!
+ R: z# C" G9 F1 Y1 w- }& V期待着更精彩的后文……

Rank: 4Rank: 4

发表于 2008-6-24 08:52 |显示全部帖子
不错,不错! 期待!
你需要登录后才可以回帖 登录 | 加入SCMLife

SCMLife推荐 关闭


企业好帮手-SCMLife企业VIP服务

SCMLife整合在线资源,携国内各大企业技术专家,倾力推出企业VIP在线服务。为企业在软件工程领域的探索保驾护航。 了解更多....


查看

Archiver|SCMLife.com

GMT+8, 2012-2-8 02:05 , Processed in 0.033812 second(s), 9 queries , Gzip On, Memcache On.

Powered by JoyShare