|
软件测试的独孤九剑
前言
华山大学是个国内知名的大学,特别是以计算机系称雄于学术界。系主任岳不群以中科院和工程院两院院士身份,统领华山大学兼任计算机系主任,从教几十年来,培养出一大批的IT精英,在江湖上已经隐隐成为中国IT界的泰山北斗。令狐冲的老爸和岳不群有点交情,就死拉活拽的将令狐冲弄进了计算机系,也打算让他儿子以后从事IT行业。
性格飞扬跳脱的令狐冲其实对规规矩矩的编程并不太感兴趣,但是在老爸的威压之下,只得乖乖入学。令狐冲就在这样的一个情况下,成为华山大学的一个大一新生。
校园篇
第一章:不识庐山真面目,只缘身在此山中
转眼两年过去了,令狐冲已经摆脱华山菜鸟的名号,开始懂得哪个食堂的伙食不错,什么时候图书馆里有最多最靓的美眉,也慢慢知道系里的哪位老师是四大名捕,哪位老师是佛手仁心。但是让令狐冲最头疼的还是专业课,枯燥的数学像个紧箍咒一样箍的他喘不过气来,至于编程语言,还不算那么没趣,但是和喜欢天马行空般胡思乱想的快乐比起来,在键盘上敲代码却让人怎么都提不起兴趣。
对课程失去了兴趣,直接导致令狐冲的精神状态不佳。整天混混噩噩的,也不知道每天做了点什么,应该做些什么,就只是在学校里面漫无目的的游来荡去,要不就是和几个狐朋狗友上上网,打打游戏聊聊天。偶尔想起老爸,也会觉得非常的愧疚,但是毕竟没有改变现状的能力,也就只好这样混下去,过得一天就是一天了。这天,令狐冲正在宿舍打机,忽然接到老爸电话,谈其大学生活日渐颓废,恐其荒废学业,特帮其在校外寻一实习机会,并千叮万嘱,务必把握这次机会云云。
第二天,令狐冲就打起精神,按着老爸给的地址,找到了位于华山大学后门的“思过软件测试研究实验室”。面前是一个看起来并不起眼的建筑,令狐冲推门进去,发现里面却别有洞天,各种各样的电脑设备齐全,甚至还有学校中很难得一见的苹果机。一个身穿实验室服装的老人从旁边迎了出来:“你就是令狐冲吧,我是实验室的负责人,我姓风,叫风清扬,和你爸爸是老同学,你就叫我风师叔吧”。说着,就把令狐冲让到他的办公室里,给了他一些资料,说让他先了解一下,等下再和他具体介绍工作的内容。令狐冲在学校虽然学习成绩一般,但是怎么说也是华山大学的高材生,觉得阅读这些资料自然不在话下。但是读下去,资料里的内容却好像在学校中,从来没有人提过,都是什么白盒黑盒,让人无法理解的名词。
令狐冲只好一边看看资料,一边不时的瞟瞟外面,看风师叔什么时候忙完,好来帮他讲解。
终于风师叔忙完了,令狐冲忙凑上前去:“风师叔,这些资料里的东西,什么软件测试,白盒测试什么的,我怎么在学校里从来没有听过?这些真的是计算机相关的资料吗?”风清扬笑了笑,说:“你家校长岳不群,向来走的是开发的路数,江湖上出了名的唯技术论者,从不肯在软件工程上下功夫,怎么会让你们去接触这些在他看来不值一提的雕虫小技呢?其实,软件测试乃是软件工程里面非常重要的一个环节,和软件开发可以说是同等重要的一个工作。想当年,我华山大学当年也曾经有过软件工程专业,还有一个国家重点实验室,不过在你家校长掌权之后,就逐渐式微了。”
“哪这个软件测试到底是个什么东西呢?”令狐冲被勾起了好奇心,赶忙追问下去。
“说到这个,可就要从几十年前的那场被称为软件工程危机的江湖浩劫谈起了“。风清扬沏上杯清茶,坐在了令狐冲面前。
“软件可不是国学,你可知软件是从哪个国家传来的?“
“番邦美利坚“令狐冲对这点历史还是了解的。
“在美利坚,软件技术已经发展到了顶峰,江湖中也有越来越多的门派会使用软件提高他们的管理水平。软件公司的掌门们也常年霸占着武林榜的前几名,可谓英雄辈出。可正是在这英雄辈出的年代,软件行业盛极而衰,这还要从号称软件业的滑铁卢的哈佛机场事件说起。“风清扬品了一口香茶,像是在品味茶香,又像是在品味这段往事。
“哈佛机场是全美利坚当时最先进的机场,希望在新机场扩建的时候,增加全套的IT系统进行管理。行李处理系统是这套系统的重中之重,它控制着所有起落的飞机的货舱货物的装卸。但是恰恰在这个最重要的系统上,由于没有进行完整的软件测试,在最终上线的时候,出现故障,导致上万名乘客驻留机场,还险些造成飞机相撞的事故。这一机场事件当时在全美掀起轩然大波,波及整个软件业。江湖上甚至传闻,很多客户对软件失去了信心,甚至考虑中止软件项目的推进。“风清扬的表情凝重,仿佛亲历了那场浩劫。
“莫非风师叔曾经经历过那场浩劫?“令狐冲看到风清扬的表情忙追问。
“那年我正好在美利坚留学,赶上软件行业大萧条,当时工作不好找,差点沿街乞讨。还好,很快,软件行业开始了复兴,软件测试就是在那次复兴中,当作一个核心的技术领域成为了最大的受益者。我也就从那时候开始,正式从事了软件测试这个行业。“
“那究竟什么是软件测试呢?到底有什么魔力,能将当时的软件工程危机轻松化解呢?“令狐冲显然对这事情非常感兴趣,在学校中的颓懒,现在已经完全看不到了。
“谈到化解危机,哪有那么轻松呀。只不过软件测试为避免软件出现更多的缺陷提出了一套系统的解决方案,真正做到了改善软件质量,软件测试成为软件工程中不可或缺的一部分,还是经过了很多人很长时间艰苦的努力的。“风清扬好像胸有成竹,故意避不回答令狐冲关于什么是软件测试的问题。
“风师叔,到底软件测试是什么呢?您就别卖关子了。“
“其实,软件测试说的简单一点,你每天都在做的。只不过你没有感觉到罢了。“风清扬笑了笑。
“。。。。。。“令狐冲更加摸不到头脑了。
“我们每天都在使用软件,每天都可能发现软件运行过程中的问题,这些从结果上都和软件测试一样,所以可以说软件测试非常简单,也非常普及。”风清扬清清嗓子,继续说道:
“软件测试是一种看似简单,其实内涵很丰富的技术。它涉及到计算机、工程、管理、心理学等多方面的知识,可以说是一个综合姓很强的学科。一开始,可能平淡无奇,甚至还会觉得有点无聊,但是一旦有了经验,将会发挥出惊人的威力。”
“真的?“令狐冲有点将信将疑。
“这样吧,你听没听说过黑客这一职业?你对这种职业的技术水准有怎么样的一个评价?“风清扬问。
“黑客呀,“令狐冲脑海里立刻浮现出黑客熟练敲打键盘的手和一个个被侵入的计算机系统”那可是一群技术高手呀,入侵银行,各种政府机关,如探囊取物一般。。。。“
“看来你是好莱坞大片看多了“风清扬笑笑,打断了令狐冲的幻想”其实计算机黑客的确实是技术高手,但是也并非像你想像和电影中所描绘的一样,三下五除二就搞定一台机器。其实黑客入侵是个系统而复杂的过程,持续时间也相对比较长。“
“那这和软件测试有什么关系?“令狐冲纳闷为什么话题忽然转到了黑客身上。
“黑客所做得工作其实也是软件测试,不过他的目的不是为了帮助软件公司完善软件,而是为了自己的利益。但是方法上和软件测试没有什么两样。“
“那么说,我学会软件测试,就能作黑客了?这岂不是和软件测试的力求软件完美背道而驰?“令狐冲好像不是很认同。
“你入门时,师傅教了你华山剑法,你现在练得怎么样了?“风清扬又问了一个好似和当前话题并无关联的话题。
“马马虎虎吧!“听到师叔考量功课,令狐冲没了底气。
“你觉得华山剑法是教人成为行侠仗义的大侠呢,还是杀人放火的劫匪?“
“剑法就是剑法,并无善恶之分。区别在于使用的人“
“呵呵,软件测试也是一样。你可以凭借你的测试技术,成为一个优秀的测试工程师,软件完美的缔造者,当然你也可以通过学到的技术,成为一个软件的破坏者。而正如你所想的,有很多黑客,现在已经改邪归正,被网络安全厂商所收服,成为一名网络安全测试工程师。“风清扬对令狐冲的领悟能力还算比较满意。”天也不早了,你今天先回去吧,明天早晨,准时来这里报道,这里有本书《软件测试之独孤九剑》是我多年经验之作,你拿回去看看吧“
令狐冲兴冲冲的回到了宿舍,翻开了风师叔给他的独孤九剑。
第一式:不识庐山真面目,只缘身在此山中
软件测试的定义:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例运行软件,以发现软件错误的过程。这个定义看起来很难懂,其实可以通俗的理解为,软件测试就是运行软件,通过各种专业的方法设计测试用例,来运行软件,以图发现错误的一项工作。
越是大型的软件企业,对软件测试工作越重视。拿软件业巨擘微软公司来说,开发win2000的编程和测试人员比为1:1.7,动用了几千名的测试人员。除此之外,每年微软还会花几十亿来进行外包测试和面向公众的测试,可以说是为测试不遗余力。难怪bill gates在一次会议中说,我们微软是个软件测试公司了。国外软件测试行业的红红火火,正是国外大型软件公司能越来越壮大,小型软件公司能不断蓬勃发展的重要原因。
软件测试需要专业的技术和培养。并非一个合格的程序员就能成为一个合格的软件测试工程师。一个优秀的测试工程师需要多年的理论浸淫和实践锤炼。目前,我国软件行业还处于起步阶段,缺乏大量软件测试工程师的人才,更缺乏的是培养人才的教育体制,实现我们国家的软件发展和拥有一大批的合格软件测试工程师的目标,还有很长的一段路要走。
。。。。。
风清扬送走了令狐冲,旁边的大弟子古龙忍不住问老师“风教授,这个学生看起来没有什么经验,学习成绩也不突出,对编程也不是特别爱好,能做好测试吗?您为什么要为他花费这么大的功夫?“风清扬笑了笑:”能不能做好测试,其实和编程学的好不好,没有太大的关系。要是只选编程好的,我干脆去选程序员好了。在我开来,测试人员的良材美质反而和优秀程序员需要的素质有所不同。“说着,风清扬给古龙在白纸上画了一张图。
“作为一个软件测试工程师,需要的知识面非常丰富,因为他所将要面对的问题将会非常的复杂和多样。他可能会接触到很多不同类型的软件,这些软件有着不同的程序实现方式,不同的业务背景,不同的软件架构,甚至不同的界面语言。这其中的每一个不同,都会要求可能是截然不同的测试思路。一个好的测试工程师,需要能适应这种变化的考验。另外,广泛的兴趣也能够让测试工程师在测试的时候,能有更多的思路和测试灵感。所以,一个出色的软件测试工程师是需要有广博的知识的。开发则不然,一个优秀的开发者,必定不会受到各种语言的诱惑,只会关注一个语言,一个领域,穷其一生,皓首穷经,才能成为一个编程大师。前朝有两名武侠前辈,一个由博学而成为测试高手,一个因精深而成为编程大家,你可知是哪两位高人?“风清扬明显带有考校的问道。
“莫非是当年号称南慕容,北乔峰的两位前辈。姑苏慕容,向以涉猎广泛闻名,号称能精通少林七十二绝技,丐帮乔峰,只一招降龙十八掌就威震江湖。这两位都是前朝大大有名的高人,一个由博入道,一个由简闻名,端地是让人佩服。“古龙好像若有所悟。
“这个令狐冲,天性飞扬跳脱,并不适合作编程,但是他的广泛兴趣和聪明才智,却让他是个测试界难以多得的良材美质。我相信,不久的将来,他将一定会在这个工作中找到自己的价值,也不枉我一番心血。早点休息吧,明天你还要给他介绍一下软件测试的具体工作内容和不同技术之间的关系呢。“风清扬拍了拍古龙的肩膀,让他回宿舍去了。 |
|