SCMLife.com

 找回密码
 加入SCMLife
楼主: aries_duan

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

[复制链接]

2

主题

0

好友

17

积分

幼稚园

发表于 2008-6-24 14:06:03 |显示全部楼层
写的不错,很有意思,也很容易理解。
回复

使用道具 举报

2

主题

0

好友

411

积分

版主

Rank: 15Rank: 15Rank: 15

发表于 2008-6-25 18:02:15 |显示全部楼层

第三章:昔有佳人公孙氏,一舞剑器动四方

第三天令狐冲就早早的来到了实验室,希望能快点学到一些软件测试的知识。令狐冲对任何新鲜事物都是有着极强的好奇心,但是往往在经过一段时间的狂热之后就将其束之高阁。这次是不是也会出现这种情况呢,熟知自己特点的令狐冲心里实在是没底。
; f) v* i* C1 [        进了实验室的门,听里面的工作人员说,师叔和古龙师兄今天上午去参加学校的会议去了,但是给令狐冲留了一个任务,测试一个小软件。工作人员帮他安排到一台电脑前,简单介绍了一下软件的功能,就自顾自的走开了。
+ d- a& q' o5 ~& m4 C9 ^, C        虽然是第一次从事测试工作,但是经过前两天的学习,令狐冲已经基本知道软件测试是做什么的了,再加上自己的专业基础,上手很快。不一会,令狐冲就发现了好几个严重的缺陷。当他想把缺陷告诉工作人员时,工作人员不冷不淡的说:“这个软件是古龙开发的,等他来了你和他说吧”。这种态度,让令狐冲的好心情一下子就没有了,看看表,才10:30,还有好几个钟头才到下午,软件又很简单,几个功能来来回回都弄了好几遍了,真的有点烦了。令狐冲四下看了看,好像没人注意他,就点开游戏,玩起了挖雷打发时间。
* I; W* {- Q: o1 D8 C! j        不知不觉,令狐冲发现风师叔和古龙站在了他的身后。令狐冲有点尴尬,冲两位前辈吐了吐舌头,“我早就测试完了,发现了很多问题,但是你们不在,我就。。。”风清扬倒没有丝毫不高兴的样子,说:“你把这些缺陷和古龙说说吧,他是负责修改这个软件的人”。这半天挖雷挖下来,脑子好像有些胀胀的,但是还好,令狐冲已经把缺陷记录下来了,对着缺陷记录,还是能把大部分的缺陷还原出来了。可是有几个问题,令狐冲再进行操作的时候,却怎么也无法出现原来他看到的现象了。这个时候,古龙开始发话了。“如果我是一个程序员,对于这样无法重现的缺陷,你觉得我会怎么作?”令狐冲想也没有多想,“当然是和我一起把缺陷试着重现出来,仔细检查代码了。”
' F% w6 {8 E* |# X        “那你是站在测试的角度看问题了,程序员本身有他的职责,手头永远都有做不完的事情,编不完的程序。就算比较闲,他也宁可去研究一下新的技术、新的工具,也不会花太多时间在去求证一个可能会出现的缺陷上面。程序员将这件事情戏称为炒冷饭,没有几个程序员喜欢炒冷饭的。”1 A* V5 {- {' S/ q$ ]) \1 y
        “那难道就让这些缺陷流到客户那里去?”令狐冲觉得有点不可理喻。
* a, U5 |) C* n9 P        “我刚才只是从程序员自身的出发点来谈的。其实所谓合作也就是将各个处在不同位置的人的各种想法和立场都弄清楚,并从中找到一种都能接受的方式让大家想着同一个目标去努力。我们现在知道,程序员不喜欢炒冷饭,测试人员希望在遇到这些难以重现的缺陷的时候获得研发的帮助,这是双方的立场。那么平衡点在哪里呢?”古龙在这一刻,仿佛一位洞察世事的大师。
- J9 B$ H# H; }; f& H. W/ W        看看似乎没有什么想法的令狐冲,古龙继续他的高谈阔论,“信息!有足够多的信息,程序员才不会漫无目的的去寻找缺陷,这样程序员会相对比较乐于做这件事情。而测试人员通过提供信息,也许能自行发现缺陷之所在。”+ E% p  p* C, l1 k+ R0 g
        “那怎么才能提供缺陷的相关信息呢?缺陷的记录还不够吗?”令狐冲好像有点明白了。
3 f! Z3 A! w) j: D6 U, q        “单单凭缺陷报告是不够的,缺陷报告只是缺陷现象的一种描述,并不能展现缺陷产生的步骤,所以我们需要。。。”古龙故意顿了顿,好像在期待令狐冲的答案。
  O, E* m. y% @2 {* j8 {7 p( Z8 c        “测试用例,这就是为什么我们要写测试用例的原因。”好像有点不好意思,令狐冲搔搔头,“我刚才测得时候,早就把测试用例这件事情忘得一干二净了。”
' P& @4 i6 x& v        “呵呵”古龙似乎心情不错,对这个小师弟还是挺耐心的。“前朝乔峰的故事,你听说过没有?”0 ?& m$ J+ J* a8 }1 y
        “是的”令狐冲虽然学习的兴趣不足,但是对于前朝高手的成功故事却是非常熟悉,“乔峰是丐帮集团的CEO,丐帮集团在他的带领下,成功跻身世界五百强,成为中国十大IT企业之一。” 5 \2 o, M; A8 p. b
        “我今天要和你讲的就是—前丐帮集团CEO乔峰的故事。
回复

使用道具 举报

1

主题

0

好友

4

积分

幼稚园

发表于 2008-6-25 21:47:50 |显示全部楼层

经典好贴啊

经典好贴啊。谢谢分享。
回复

使用道具 举报

2

主题

0

好友

411

积分

版主

Rank: 15Rank: 15Rank: 15

发表于 2008-6-26 15:29:29 |显示全部楼层
乔总是个混血儿,在基因上比大部分的人都优异,所以很小就崭露头角,被认为是一个编程的天才,在小学的时候就拿过国家的各种编程大赛的金牌。乔总的义父汪剑通汪总也认为此子可堪造就,于是就将丐帮集团的无上编程秘籍《软件开发的十八种设计模式》传给了他。但是你知道吗?汪总虽然对他十分器重,但是当时汪总对乔峰的职业生涯规划却并非是日后的CEO人选。”古龙又摆出了一副高深莫测的样子。# t8 Q: A6 z; h, `! ]
        “如果古师兄去说书或者去写武侠小说,肯定会红遍武林的,这么会卖关子。”令狐冲在心里咕哝着,但是不敢打断师兄的话头,因为他也对这段往事非常的有兴趣。还好,古大师没有继续卖关子,又开始讲了起来。$ R% B. ~7 R' g
        “汪总当时对副总马大元评价乔峰为’程序界的天纵奇才’,以后可能成为一代宗师,但是缺乏市场和经营意识,并不是个能托付管理重任的接班人的人选。所以乔峰在丐帮集团的发展路线一直是技术路线。如果没有聚贤庄ERP项目的话,可能今天我们所谈到的乔峰就是一个出色的CTO,而不是叱咤江湖的一代大侠,著名企业家。”  q3 n& c$ J0 k+ E0 G
        “聚贤庄是当时一个著名的家族民营企业,也是江南民营企业家协会的秘书长单位,如果成功获得它的ERP项目,将会在江南市场的开拓上势如破竹,自然这个项目便成为了各方豪杰争夺的焦点。参与竞标的单位既有一众草莽豪杰,也不乏少林武当这样的跨国集团,但就是在这么激烈的竞争下,却被当时初出茅庐的乔峰一举中标,拿下了这个对丐帮集团发展非常有利的项目。”: o$ P1 i- R: I
        “嗯。以乔总的技术功底,他一定是用了非常新潮的开发技术,写了非常先进的技术方案,才会战胜诸多竞争对手的吧?”令狐冲有点恨自己晚生了几十年,不能一睹前辈风采。8 _; q, a7 `9 Y( \9 p0 n
        “说出来,你可能都不会相信。乔总战胜竞争对手的,正是那人人都会,但当时人人都不太重视的一门技术,测试用例设计。”古龙一脸的得意,看着惊讶得嘴都合不拢的令狐冲。“一个软件项目之所以能够成功是靠得什么?靠得是先进的技术工具,娴熟的编程技巧?这些都是在软件个人英雄主义时代大家形成的观念。简单的说,就是作坊思维和小农思维。在农业社会,生产是以手工和个人劳动为主的,产品的质量的确是和工匠的技巧有密切的关系。但是随着生产的产品越来越复杂,参与生产的人越来越多,个人在产品中体现的价值就被稀释。换言之,如果当初一个工匠的产品是100分,他的工作占整个工作内容的100%,那该产品就是100分,如果现在开始有十个工匠做了,每个工匠工作只占10%,那现在该工匠只能决定该产品的十分之一的品质了。”
, @3 q, ?8 T6 F* Q8 r/ p        “那岂不是拥有越多高水平工匠的组织,做出好产品的几率就越大喽!”
3 e( h3 s3 f- J; E        “当然是这样的。二十一世纪最贵的是什么?人才!为什么各个企业争相聘用高级人才,为什么华山大学每年那么多企业专场招聘会,还不都是为了网罗人才和准人才嘛。”. }, M, k9 M7 G$ A6 \/ w9 D
        “等等。那么乔总的丐帮为什么能战胜少林武当呢?这两大跨国公司人才辈出,可以说是武林中的顶尖人才最密集的地方呀。丐帮实力再强,恐怕。。。。”令狐冲有点疑惑了。3 M7 l  Y; C; [
        “我还没说完呢。虽然人才的数量和质量决定了企业的开发实力,但是既然是团体作战,其中的管理和组织也是起了非常重要的作用的。软件开发是一种需要高智商的脑力劳动,可不是靠人多就能行的。”2 v1 R1 E/ ?. c( M- ^
        “好像是这样的。据说全真大学有几位师兄,合作多年,关系非常密切。虽然他们每一个的技术都达不到一流水平,但是凭着他们默契的配合所做出的高质量软件,硬是在白驼山集团手中抢了好几个大单呢。”
  K2 d7 R) n) g9 ?. D0 O$ M        “嗯。全真大学的软件工程学科的确算得上是独步武林了,全真七子也算是深得其中精髓,将天罡北斗管理过程应用的炉火纯青了。乔总就是展示出了丐帮在软件研发上的管理特色,才让竞争对手俯首称臣的。”
  t. B8 B, o% t3 B        “你不是说凭借测试用例嘛?怎么又扯到管理特色上去了?”令狐冲有点越听越糊涂了。
$ h" x* _: `; ^) }! c          “软件的研发管理有很多方面,庞杂之极。但是和软件产品质量,关系最密切的有三个领域,被称为软件质量三要素,那就是—软件质量保证,软件配置管理和软件测试。其中又以软件测试最为重要,最能直接的对软件的质量进行改善。所谓行家伸伸手,便知有没有,一个软件工程领域的行家,往往只要看看其软件测试部门的工作,就能了解整个软件企业的开发能力。这也就是为什么乔总大力展示其团队的软件测试功力的原因。要是到当时评标小组的组长是人称软件过程神医的华人软件工程大师薛慕华呀。”
2 ^6 T% T/ P! E* K* Z2 B1 I        “那乔总是怎么通过测试用例来展示团队的测试功力的呢?测试用例到底是什么?为什么凭借测试用例就能技压群雄呢?”8 y8 o: n5 C, y; R+ A  X9 p$ D  a

5 a6 R8 Z) k) w1 `4 M; g[ 本帖最后由 aries_duan 于 2008-6-28 10:53 编辑 ]
回复

使用道具 举报

2

主题

0

好友

411

积分

版主

Rank: 15Rank: 15Rank: 15

发表于 2008-6-28 11:01:17 |显示全部楼层
“测试用例的概念是什么?”古龙先丢了一个问题给令狐冲。4 P$ A" n% R$ j4 X& |; b. b2 L3 e

* d- Y3 u' G) {' O2 t% j看来令狐冲把那本《独孤九剑》的确是看了挺多遍的,概念脱口而出。
* P* \' P+ @- {, ^% r        “我们回过头来看看今天上午你所做的工作,应该算是测试的核心活动了对不对?你也有了不少的工作成果,是吧。”. z2 h: P# M3 E' h4 w: e3 U
        令狐冲使劲的点点头。
% j- u  O& {4 _3 T        “那好吧,你来说说你今天都测试了软件的哪些功能?你觉得你的测试已经很全面了吗?你测试时都使用了哪些数据,每一个步骤都是怎么操作的?”一连串的问题,让令狐冲难以招架。
! ^+ d! T" X6 C# A        “你现在的测试水平还处在‘乱拳打死老师傅’的阶段。之所以你今天发现了许多的问题,和你的敏锐聪慧有关,和你的善于联想有关,和你的运气甚至也有关,但是和你的测试水平无关。”古龙毫不客气的批评道。“相信你在学校对编程也学过相当多的课程了,你能想象编程不做设计吗?做测试不写用例和编程不做设计是一样的,应付一个简单的程序,可能不进行设计尚可,但是一旦代码量增加、业务逻辑复杂起来,不做设计将很难能把控程序的开发方向和预想的不产生偏差。而且设计能帮助我们建立一种很好的思维方式----‘系统化思维’。”" v& K/ K4 B) F7 Z) ^% x
        “那什么是系统化思维呢?”2 H8 q2 S8 z7 h' o% K8 Y
        “简单点说,系统化思维就是在思考问题的时候,不仅考虑其实体本身,也充分考虑其相关实体及其变化的一种思考方式。这种思维被充分用在软件开发,管理,科学研究等一系列学科中。呵呵,有时经常有人说,某某有大局观,有整体观,这其实就是一种系统化思维的体现。”看看令狐冲还是一副不明白的样子,古龙又开始了他的故事会。“我家曾经请过两个清洁工,做的工作基本都一样,可是一个要做4个小时,一个人却2个小时就完成了。”  N6 U/ m5 O9 j6 g1 }+ e4 @/ Q
        “肯定是其中一个在磨洋工,工作效率低下。”
0 l* L9 _* r) H( t" `4 A  T        “我仔细观察过,两人的工作效率是差不多的。我家的清洁工作其实并不多,大概算一下,可分为如下几类:清洁厨房,清洁地板,清洁家具。我家的两个清洁工,她们完成这几项工作的时间为:”
/ ~8 S" W% w  I/ c7 m" C4 L. Y: ?; v3 H( R. ^! X
“A清洁工使用的时间是四个小时。她的做法是这样的,先把地板全部拖干净了,花费1个小时,然后开始清洁厨房,花费0.5个小时,但是在清洁厨房的时候,又把地板弄脏了,又花了一个小时重新清洁地板,然后开始清洁家具,花了0.5小时,在清洁家具的时候又把地板弄脏了,又花了一个小时清洁地板。算起来,整整花了4个小时。”
$ A! i7 j4 X# u) e& d. R        “哈哈。这个清洁工也太不会安排工作了。她要是先做其他工作,最后清洁地板的话,不就只用两个小时就完成了吗?”令狐冲对这位清洁工的工作能力表示出了不满。% m5 a: L( ]5 k8 m
        “来,我给你看样东西吧。”古龙走到了另外一台计算机旁,操作了几下,屏幕上立刻显示出上午令狐冲做软件测试的过程。
$ e1 x3 U; k  W: Z$ [- k2 J+ S7 w2 l- ]        “我专门用了抓屏软件,让计算机记录了你的测试过程。我们来看看你是不是像你想象的那么有效的做测试。”屏幕中,令狐冲首先做的测试就是程序中首先要操作的登录功能。令狐冲凭借自己的想象,试验了很多中登录的方式,单从登录的功能测试来看,的确做的比较详细。但是在测试完登录程序之后,由于后面的功能测试需要频繁关闭程序,导致令狐冲又使用的登录功能很多次。令狐冲的脸色有点发红了,似乎他也看出了自己的一些问题。
6 ~. `; [$ L5 W* r' r( X        古龙拿出一张纸,为令狐冲算了一下他的工作时间:
4 ^$ j! S; U7 J6 h# C. b! G! q$ h* B  b, m4 K$ R
其中令狐冲登录做了5次测试(每次不同数据),功能1做了3次,功能2做了2次,退出做了5次。共计花了5*1+(1+2+1)*3+(1+1+1)*2=23分钟。可是如果做出良好的规划,可以将时间减少5分钟,时间节约了20%以上。古龙看到令狐冲若有所思的样子,于是便拍拍令狐冲的肩膀,继续讲了起来:, e; Y6 J- w) D9 s1 _: c
        “刚才我们分析的场景就是测试用例的其中一个优点。可以通过合理的规划,降低重复工作,提高测试执行的效率。当然,也能通过这种组合式的执行,找到更多的潜在问题。我们还是继续回到故事中,看看乔总当时是怎样凭借测试用例中标的。”

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入SCMLife

回复

使用道具 举报

1

主题

0

好友

312

积分

小学二年级

Rank: 2Rank: 2

发表于 2008-6-30 11:49:13 |显示全部楼层
"本文并非是一个专业性非常强的学术性文章,而是当初为了吸引越来越多的人能对软件测试感兴趣而做的游戏文章,力图轻松,希望能为大家在研读学术经典的同时,能得到些阅读的快乐。"' U: u: p' [$ D7 U7 ~/ l0 I
; Y% a: B6 q( n* o
看到上面这句,以为是个已经写完了的完整的故事,后面看到,好象还在写?是原来就写好了,再修饰一下?
回复

使用道具 举报

1

主题

0

好友

312

积分

小学二年级

Rank: 2Rank: 2

发表于 2008-6-30 11:58:30 |显示全部楼层
故事不错。
7 n" z; `: N  Q, o3 e
, g6 }) z+ S/ c7 ~风清扬和古龙两个角色说话太象了。看着没有区别,让情节性削弱不少。
回复

使用道具 举报

9

主题

0

好友

692

积分

小学三年级

Rank: 3

发表于 2008-7-1 21:41:10 |显示全部楼层
很精彩。支持下一篇,,
回复

使用道具 举报

2

主题

0

好友

411

积分

版主

Rank: 15Rank: 15Rank: 15

发表于 2008-7-2 08:47:04 |显示全部楼层
的确是两个人有点类似,下面我会注重角色的塑造。谢谢上面朋友的建议。
9 |: s  U( B: h故事是连载的,但是大纲已经写好了,我会慢慢写下去的。
回复

使用道具 举报

1

主题

0

好友

312

积分

小学二年级

Rank: 2Rank: 2

发表于 2008-7-2 11:49:52 |显示全部楼层
很高兴看到“大纲已经写好了”。这样基本上就可以期待它的完成了。
+ F; e0 ~$ [" L5 z9 Z7 S. X9 L能不能列个计划,大概几天能出一期?这样也好时常来查看一下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入SCMLife


关闭

SCMLife推荐上一条 /4 下一条

手机版|Archiver|SCMLife.com

GMT+8, 2012-5-19 19:43 , Processed in 0.044133 second(s), 9 queries , Gzip On, Memcache On.

Powered by JoyShare Licensed

回顶部