出版時(shí)間:2009-9 出版社:清華大學(xué)出版社 作者:姚登峰 主編,韓玉敏 等編著 頁數(shù):396
前言
2007年度教育部-IBM精品課程建設(shè)項(xiàng)目配套教材,得到了教育部和IBM中國(guó)公司的大力支持。本課程教材建設(shè)從實(shí)用角度出發(fā),遵循ACM IEEE-CS計(jì)算機(jī)教學(xué)計(jì)劃2001,注意把握學(xué)生已有的知識(shí)背景和接受能力,通過對(duì)軟件企業(yè)的調(diào)研,了解到用人單位對(duì)測(cè)試人才培養(yǎng)的意見、需求和建議,特別是對(duì)人才知識(shí)結(jié)構(gòu)、能力結(jié)構(gòu)和素質(zhì)等方面的要求,結(jié)合我校“雙證管理型”情況(雙證是指在學(xué)生畢業(yè)時(shí)既有畢業(yè)證,又有IBM課程結(jié)業(yè)證書),我們將軟件測(cè)試的教學(xué)與認(rèn)證考試有機(jī)地結(jié)合起來,將《國(guó)家軟件評(píng)測(cè)師認(rèn)證考試大綱》所要求的考試內(nèi)容有選擇性地納入到教學(xué)計(jì)劃中來。合理地制定了教學(xué)大綱。使學(xué)生完成本課程后,能熟練掌握軟件測(cè)試的基本理論和基本技能,為后續(xù)課程學(xué)習(xí)和以后工作奠定堅(jiān)實(shí)的基礎(chǔ),保證教學(xué)目標(biāo)和人才培養(yǎng)目標(biāo)的雙重實(shí)現(xiàn)。本書以RUP測(cè)試過程為主線,一步步引導(dǎo)學(xué)生思索,探究軟件開發(fā)和測(cè)試實(shí)踐,通過參與項(xiàng)目使用軟件測(cè)試工具對(duì)軟件進(jìn)行測(cè)試,使學(xué)生掌握崗位操作技能,在實(shí)踐中理解并掌握知識(shí)。理論和實(shí)踐教學(xué)在同一個(gè)項(xiàng)目上實(shí)現(xiàn)了統(tǒng)一,有利于學(xué)生自覺地應(yīng)用理論知識(shí)解決實(shí)際問題。突出學(xué)生在教學(xué)過程中的主體地位?,F(xiàn)代工業(yè)心理學(xué)研究表明,高新技術(shù)工作崗位的工作人員所需要的知識(shí),約一半是介于經(jīng)驗(yàn)性知識(shí)和學(xué)科理論知識(shí)之間的一種特殊的知識(shí),即“勞動(dòng)過程知識(shí)”。軟件測(cè)試在規(guī)范的軟件生產(chǎn)中屬于軟件過程工程的重要組成,軟件測(cè)試課程構(gòu)建必須使學(xué)生能在“完整工作過程”中學(xué)習(xí)。同時(shí)注意引入在國(guó)際市場(chǎng)占有率高、有代表性的自動(dòng)測(cè)試工具,如Mercury、IBM的有關(guān)產(chǎn)品,內(nèi)容涵蓋從安裝到使用,并結(jié)合實(shí)際操作案例進(jìn)行分析講解,以此加深對(duì)概念和方法的理解,達(dá)到技術(shù)運(yùn)用舉一反三和知識(shí)傳授與技能培養(yǎng)并重的目的。按照RUP思想,RUP確定了四級(jí)測(cè)試: 單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試。這些測(cè)試級(jí)別可以是并列的,也可以是遞進(jìn)的,這取決于主測(cè)試計(jì)劃(在項(xiàng)目級(jí))和迭代測(cè)試計(jì)劃(在迭代級(jí))。本書還是按照單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試的順序來排列。其中前面又加了基礎(chǔ)部分,為學(xué)習(xí)RUP測(cè)試做準(zhǔn)備。后面加了實(shí)踐案例,運(yùn)用所學(xué)知識(shí)開展實(shí)際測(cè)試。本書在軟件測(cè)試課程內(nèi)容的選取上對(duì)基本知識(shí)的建立、基本技能的培養(yǎng)兩方面有所側(cè)重,為學(xué)生畢業(yè)后從事軟件測(cè)試職業(yè)和專業(yè)持續(xù)發(fā)展奠定基礎(chǔ)??偟膩碚f,基于RUP的軟件測(cè)試實(shí)踐課程的教學(xué)內(nèi)容分為以下幾個(gè)部分:第1部分,軟件測(cè)試基礎(chǔ): 包括緒論、RUP的基礎(chǔ)理論、RUP測(cè)試概論、手工測(cè)試與自動(dòng)化測(cè)試等,即軟件測(cè)試的起源和發(fā)展、測(cè)試行業(yè)的現(xiàn)狀以及優(yōu)秀測(cè)試工程師應(yīng)該具備的素質(zhì)、RUP的測(cè)試?yán)碚?、自?dòng)化測(cè)試?yán)碚摵蛯?shí)踐、軟件測(cè)試開發(fā)流程等。第2部分,單元測(cè)試: 包括測(cè)試管理、單元測(cè)試。主要講解測(cè)試管理的不同的階段:組織、計(jì)劃、創(chuàng)作、執(zhí)行以及報(bào)告;測(cè)試管理所面臨的挑戰(zhàn);IBM公司對(duì)測(cè)試管理所提的建議;實(shí)施測(cè)試管理自動(dòng)化的原因;使用TestManager實(shí)現(xiàn)測(cè)試管理的自動(dòng)化;IBM公司的單元測(cè)試工具Rational PurifyPlus?;赗UP的軟件測(cè)試實(shí)踐前言第3部分,集成測(cè)試: 包括組件測(cè)試和運(yùn)行時(shí)分析解決方案,主要講解組件的定義、組件測(cè)試的概念、進(jìn)行組件測(cè)試的原因、組件測(cè)試方法、運(yùn)行時(shí)分析原理、運(yùn)行時(shí)分析分類、Test RealTime測(cè)試工具的使用。第4部分,系統(tǒng)測(cè)試: 包括功能測(cè)試、性能測(cè)試,主要講解系統(tǒng)功能測(cè)試所面臨的挑戰(zhàn)、正則表達(dá)式、基于IBM Rational Robot的自動(dòng)化功能測(cè)試框架、IBM性能測(cè)試解決方案Rational Performance Tester。第5部分,驗(yàn)收測(cè)試: 包括易用性和無障礙測(cè)試,主要講解易用性和無障礙測(cè)試的基礎(chǔ)理論、軟件易用性和無障礙的一系列標(biāo)準(zhǔn)和規(guī)范、無障礙測(cè)試工具的介紹、易用性和無障礙測(cè)試的方法、無障礙測(cè)試在Web和軟件方面的應(yīng)用。第6部分,案例分析: 主要講解實(shí)際案例,要求學(xué)生在梳理、總結(jié)課程體系中各項(xiàng)知識(shí)點(diǎn)和技能的基礎(chǔ)上,針對(duì)不同的開發(fā)階段,制定相應(yīng)的測(cè)試計(jì)劃,設(shè)計(jì)典型測(cè)試用例,使用軟件測(cè)試技術(shù)和測(cè)試工具,達(dá)到測(cè)試目標(biāo),并進(jìn)行回歸測(cè)試,以實(shí)現(xiàn)軟件測(cè)試各單項(xiàng)專業(yè)與技能整合運(yùn)用的目標(biāo)。RUP理論包含了軟件開發(fā)的所有過程,因此,在學(xué)習(xí)RUP的測(cè)試技術(shù)之前,應(yīng)該先對(duì)RUP的整體理論進(jìn)行了解,包括RUP的特點(diǎn)、原則和概念等,形成對(duì)RUP的整體理論框架的基本認(rèn)識(shí),然后是對(duì)框架中整個(gè)測(cè)試體系的分析和理解。建立框架的目的在于,學(xué)習(xí)完每個(gè)測(cè)試技術(shù)后,能夠?qū)λ鶎W(xué)到的知識(shí)有清晰的定位和明確應(yīng)用的價(jià)值,并且能夠在學(xué)完本教材后,對(duì)RUP的測(cè)試?yán)碚撚型暾目蚣苄屠斫?,為繼續(xù)學(xué)習(xí)RUP的其他知識(shí)打下基礎(chǔ),將所學(xué)到的知識(shí)填充進(jìn)來,最終形成一個(gè)完整的RUP體系。學(xué)習(xí)RUP中的幾個(gè)測(cè)試基礎(chǔ)時(shí),可以按照工業(yè)生產(chǎn)用零件組裝模塊的慣例,由小到大地進(jìn)行學(xué)習(xí),由函數(shù)組裝模塊,再由模塊生成程序,要學(xué)習(xí)的就是其中能保證生產(chǎn)正確進(jìn)行的檢測(cè)方法??梢园验_發(fā)過程中的函數(shù)看作是一個(gè)個(gè)小零件,由這些零件組成具有特定功能的模塊,然后由模塊拼接成具有完整功能的系統(tǒng)。生產(chǎn)零件的時(shí)候,用單元測(cè)試的各種方法來對(duì)零件進(jìn)行檢測(cè);把零件組裝模塊時(shí),用集成測(cè)試的方法來檢測(cè)模塊工作是否正常;再用系統(tǒng)測(cè)試的方法來檢測(cè)由模塊組合起來的系統(tǒng)是否能正常工作,用性能測(cè)試等技術(shù)來檢查系統(tǒng)性能是否達(dá)標(biāo),用無障礙測(cè)試來檢驗(yàn)系統(tǒng)的可用性和關(guān)于輔助工具的易用性。本書適合高等院校相關(guān)專業(yè)的學(xué)生及老師,也適合軟件開發(fā)、軟件測(cè)試人員及希望未來從事軟件開發(fā)和測(cè)試的人員閱讀。本書讀者應(yīng)具備: 具有計(jì)算機(jī)的使用經(jīng)驗(yàn),學(xué)過《軟件工程》或者軟件測(cè)試等基礎(chǔ)知識(shí),具有一門高級(jí)語言如C語言的基本編程基礎(chǔ)。為了幫助讀者學(xué)習(xí)本書,作者除了提供課程網(wǎng)站(www.buu-testing.com)方便讀者學(xué)習(xí)外,還編寫了一本《基于RUP的軟件測(cè)試實(shí)踐題解與上機(jī)指導(dǎo)》,提供本書中各章習(xí)題的參考答案以及上機(jī)實(shí)習(xí)指導(dǎo)。該書電子版已放在課程網(wǎng)站提供下載。關(guān)于怎樣學(xué)習(xí)基于RUP的軟件測(cè)試,特提出以下幾點(diǎn)看法。1. 興趣是最好的老師 如何看待軟件測(cè)試工作,有人說軟件測(cè)試很有趣,麻煩堆里有快樂,也有人說它太枯燥。諸多說法表現(xiàn)一個(gè)人對(duì)這項(xiàng)工作的喜好。但筆者要說的是,如果對(duì)軟件測(cè)試工作沒有興趣和熱情很難做到持久。筆者最近參與了一個(gè)軟件測(cè)試項(xiàng)目,在測(cè)試團(tuán)隊(duì)中,有三位是軟件相關(guān)專業(yè)的本科或研究生在讀學(xué)生,基礎(chǔ)都還不錯(cuò)。但是,只有一位表現(xiàn)最突出,因?yàn)樗麑?duì)軟件測(cè)試抱有濃厚的興趣,很珍惜這份社會(huì)實(shí)踐的工作機(jī)會(huì),做事認(rèn)真,找出了很多高優(yōu)先級(jí)的Bug。另兩位同學(xué),在參加項(xiàng)目不到1個(gè)月后就以各種理由退出了。筆者在與他們的交流中,其中一位同學(xué)說測(cè)試工作太枯燥,沒有挑戰(zhàn)性,他更希望做軟件開發(fā)工作。這位同學(xué)喜歡做挑戰(zhàn)性的工作無可厚非,但他缺乏對(duì)軟件測(cè)試技術(shù)最基本的了解,其實(shí)軟件測(cè)試工作同樣具有挑戰(zhàn)性。這位同學(xué)在7天的測(cè)試工作中,只找到了3個(gè)Bug(正常情況下,一般測(cè)試人員每天能找到5個(gè)Bug) 。因此,在績(jī)效評(píng)比中他的成效最低。另一位同學(xué)雖然愿意做軟件測(cè)試,但是他覺得現(xiàn)在的黑盒測(cè)試太簡(jiǎn)單,學(xué)習(xí)不到測(cè)試技術(shù)的高級(jí)技巧,他更愿意學(xué)習(xí)白盒測(cè)試,能夠自己測(cè)試軟件源代碼。而現(xiàn)在他所做的項(xiàng)目沒有這部分內(nèi)容,所以盡管他工作成績(jī)也不錯(cuò),但是熱情不大。 因此,建議同學(xué)們?cè)趯W(xué)習(xí)或找工作之前,首先需要了解自己對(duì)軟件測(cè)試是否有興趣或培養(yǎng)起興趣,是否熱愛軟件測(cè)試工作。只有熱愛和專注于某項(xiàng)事業(yè)時(shí),才會(huì)做出連自己都感到吃驚的成績(jī)來。2. 鞏固測(cè)試知識(shí)基礎(chǔ) 練武術(shù)需要先練“蹲馬步”,否則直接學(xué)習(xí)刀槍棍棒等十八般武藝,只能學(xué)到幾招皮毛。武林高手都是基礎(chǔ)牢固,內(nèi)功深厚。做軟件測(cè)試也是這個(gè)道理。如果認(rèn)為學(xué)完本書,就可以成為測(cè)試高手,這是錯(cuò)誤的。本書的初衷是為初學(xué)者提供一條學(xué)習(xí)測(cè)試實(shí)踐的捷徑,試圖將軟件測(cè)試實(shí)踐涉及的理論講述清楚,降低軟件測(cè)試實(shí)踐的門檻,引領(lǐng)讀者進(jìn)入基于RUP的軟件測(cè)試實(shí)踐大門。師傅領(lǐng)進(jìn)門,修行在個(gè)人。要想成為測(cè)試高手,還需要個(gè)人的努力。個(gè)人盡可能多地參加軟件測(cè)試項(xiàng)目,在實(shí)踐中學(xué)習(xí)技能,積累經(jīng)驗(yàn),不斷分析和總結(jié)軟件開發(fā)過程中可能出錯(cuò)的環(huán)節(jié)。這樣,一名優(yōu)秀的測(cè)試工程師就從軟件測(cè)試的實(shí)踐中脫穎而出了。學(xué)習(xí)本書需要讀者有良好的測(cè)試知識(shí)基礎(chǔ)。RUP軟件測(cè)試中主要的測(cè)試自動(dòng)化的質(zhì)量完全依賴于測(cè)試案例和測(cè)試數(shù)據(jù)本身的質(zhì)量,如果要設(shè)計(jì)應(yīng)用于自動(dòng)化測(cè)試的數(shù)據(jù),了解劃分等價(jià)類、確定邊界值等測(cè)試基礎(chǔ)知識(shí)是很有必要的。常見一些初學(xué)者還沒有學(xué)會(huì)測(cè)試的基本概念,就盲目地學(xué)習(xí)各種大型商業(yè)自動(dòng)化測(cè)試軟件,結(jié)果花了很多時(shí)間,只學(xué)會(huì)了工具的具體操作,而沒有實(shí)際參與測(cè)試的能力。到了實(shí)際測(cè)試項(xiàng)目中,也無法有效利用工具解決實(shí)際測(cè)試問題。實(shí)際上,測(cè)試新手大部分應(yīng)該從手工功能測(cè)試開始起步,只有成為測(cè)試高手之后才有能力使用大型自動(dòng)化測(cè)試軟件。另外,測(cè)試工具的操作是很簡(jiǎn)單的技術(shù)問題,關(guān)鍵是如何發(fā)揮測(cè)試工具的作用,這需要了解測(cè)試的原理,并通過原理來應(yīng)用測(cè)試工具。 高級(jí)的測(cè)試人員除了需要精通測(cè)試技術(shù),還應(yīng)掌握行業(yè)知識(shí),可以提供行業(yè)軟件的測(cè)試和質(zhì)量保證方案。對(duì)于初學(xué)者,要認(rèn)識(shí)到經(jīng)過不斷努力,才可以成為測(cè)試行業(yè)專家。千里之行,始于足下,目前最重要的是從測(cè)試入門知識(shí)開始。所以,初學(xué)者要老老實(shí)實(shí)地學(xué)習(xí)有關(guān)測(cè)試的基礎(chǔ)知識(shí),學(xué)習(xí)各種測(cè)試術(shù)語、測(cè)試概念、測(cè)試分類、測(cè)試的流程、測(cè)試項(xiàng)目的執(zhí)行過程等。如果連這些都不懂,今后的職業(yè)發(fā)展會(huì)受到限制。學(xué)習(xí)測(cè)試知識(shí)沒有捷徑,需要從一點(diǎn)一滴學(xué)起,日積月累,需要勤奮,需要思考,需要總結(jié)提高。 3. 為什么要學(xué)習(xí)基于RUP的軟件測(cè)試給大家講個(gè)小故事。有個(gè)英國(guó)人學(xué)煮雞蛋,開始,他把雞蛋放到開水里煮時(shí)總會(huì)炸裂。他為此想了各種方法,并找到了一個(gè)解決方案: 在雞蛋上打個(gè)孔。但在雞蛋上打孔帶來了另一個(gè)問題: 孔打小了,雞蛋還會(huì)裂;孔打大了,蛋清會(huì)在它凝固以前流出來。于是,這個(gè)英國(guó)人給一批雞蛋分別打了各種不同孔徑的洞,并記錄下每個(gè)雞蛋孔徑的大小。通過這一方法,他找到了一個(gè)最合適的大小——既避免了炸裂,又保證蛋清不會(huì)流出來。這時(shí),雖然煮雞蛋炸裂的問題解決了,但這個(gè)英國(guó)人仍然不知道煮多長(zhǎng)時(shí)間才能把雞蛋煮熟。為了解決這個(gè)問題,他又開始嘗試煮不同時(shí)間的結(jié)果,并從中找出最佳時(shí)間。最后他終于摸索到煮雞蛋的最佳流程和方法。這個(gè)小故事對(duì)很多中國(guó)人來說,可能只是覺得是件可笑的事例,或許認(rèn)為這個(gè)英國(guó)人過于迂腐,因?yàn)槁斆鞯闹袊?guó)人早就知道把雞蛋放在冷水中與之一起加熱至雞蛋浮起來就可以了。從煮雞蛋這樣一個(gè)小小的事例上,體現(xiàn)了中國(guó)人和英國(guó)人兩種完全不同的思維習(xí)慣——中國(guó)人憑借自己的經(jīng)驗(yàn)和聰明直奔結(jié)果,而英國(guó)人卻把每一個(gè)過程細(xì)化后,框定為任何人任何時(shí)候都可操作的流程,然后大家都可按照這個(gè)流程執(zhí)行?,F(xiàn)代產(chǎn)品的開發(fā)和生產(chǎn)需要制定一個(gè)標(biāo)準(zhǔn)的流程,這個(gè)流程并非憑空臆想,它如同英國(guó)人煮雞蛋一樣,是經(jīng)過無數(shù)次的探究而得來的。只有制定極為詳盡的工業(yè)產(chǎn)品生產(chǎn)過程規(guī)定,每一步如何做,應(yīng)該達(dá)到何種標(biāo)準(zhǔn),才能真正地將流程應(yīng)用于工業(yè)生產(chǎn)。因?yàn)閰⑴c產(chǎn)品生產(chǎn)流程的工人有成百上千,這么多工人只有遵循一套標(biāo)準(zhǔn)的流程,才能生產(chǎn)出許許多多相同的標(biāo)準(zhǔn)產(chǎn)品。工業(yè)產(chǎn)品可以在出廠前設(shè)置質(zhì)量檢測(cè)來保證質(zhì)量,但軟件畢竟不同于工業(yè)產(chǎn)品,它只能在開發(fā)過程中監(jiān)測(cè)產(chǎn)品質(zhì)量。在生產(chǎn)過程中進(jìn)行質(zhì)量檢測(cè)比生產(chǎn)完畢后再進(jìn)行檢測(cè)的方法要先進(jìn)得多,也是保證產(chǎn)品質(zhì)量的需要,它應(yīng)該對(duì)生產(chǎn)全過程進(jìn)行追蹤。這種方法的思想正是軟件過程的質(zhì)量保證的精髓所在,基于RUP的軟件測(cè)試就是這樣的過程質(zhì)量保證思想。在歐美國(guó)家,如果去應(yīng)聘軟件開發(fā)者職位,招聘者就會(huì)問: “你懂RUP嗎?”如果說“不懂”,他就會(huì)讓你回家去學(xué)RUP,然后再來應(yīng)聘。中國(guó)大概還沒到這個(gè)程度,不過筆者相信很快中國(guó)的研發(fā)者和經(jīng)理們也會(huì)看到RUP的重要性的。4. 大學(xué)生能學(xué)好RUP理論嗎國(guó)內(nèi)有一種誤解,認(rèn)為 RUP及其配套軟件工具主要用于大型軟件開發(fā),學(xué)習(xí)難度大,不適合初學(xué)者。其實(shí)RUP并不是高深莫測(cè),只要有學(xué)習(xí)的基本條件,例如具備計(jì)算機(jī)、相關(guān)軟件知識(shí),還要有學(xué)習(xí)的耐心和毅力,是可以學(xué)好RUP的。而且想要進(jìn)入軟件開發(fā)這個(gè)行業(yè),也應(yīng)該從RUP開始學(xué)起。從RUP中可以學(xué)到管理的基本常識(shí)、分析設(shè)計(jì)、體系結(jié)構(gòu)設(shè)計(jì)、測(cè)試,在.NET、J2EE、C++或其他平臺(tái)上的實(shí)現(xiàn),還可以學(xué)到進(jìn)度管理、版本控制、分布式運(yùn)算等。因?yàn)閁ML是軟件開發(fā)的通用語言,而RUP則蘊(yùn)涵著許多軟件開發(fā)者應(yīng)該知道的知識(shí)。并且RUP是一個(gè)穩(wěn)固的基礎(chǔ),在這個(gè)基礎(chǔ)之上,可以開發(fā)各種各樣的軟件系統(tǒng),既可開發(fā)小型項(xiàng)目,也可以開發(fā)像國(guó)防系統(tǒng)、大型銀行系統(tǒng)這樣龐大的項(xiàng)目。所以,建議有志于從事軟件開發(fā)和軟件測(cè)試的,都應(yīng)該學(xué)習(xí)RUP。有一個(gè)學(xué)生問筆者,國(guó)內(nèi)最流行是XP (Extreme Programming,極限編程)方法,RUP不適合中國(guó)國(guó)情,為什么不學(xué)XP反而要學(xué)RUP呢?其實(shí)這個(gè)問題就跟討論C++和Java誰好的性質(zhì)是一樣,不能籠統(tǒng)地說哪個(gè)好,而且RUP不適合的,XP也未必會(huì)適合??讨矍髣@個(gè)成語故事大家知道,如果把RUP或XP的一整套東西生搬硬套,最后會(huì)導(dǎo)致項(xiàng)目失敗。正所謂只有最適合的方法,沒有最好的方法。筆者認(rèn)為XP其實(shí)就是小型的RUP。如果要開發(fā)一個(gè)小型項(xiàng)目,只有很少的團(tuán)隊(duì)成員,并且要在比較短的時(shí)間內(nèi)完成,就可以并且應(yīng)該使用XP這種輕量級(jí)的方法。這種方法更加靈活,迭代周期更短,但這并不意味著它與RUP相對(duì)立。實(shí)際上隨著項(xiàng)目的增大,團(tuán)隊(duì)的成長(zhǎng),XP也可以轉(zhuǎn)變成為RUP。兩者的確有差異,但這種差異也是因?yàn)椴煌?xiàng)目的需要而造成的。筆者認(rèn)為建模是非常重要的,但XP卻不這么認(rèn)為。當(dāng)我們覺得應(yīng)該建模的時(shí)候,XPer們就已經(jīng)開始編碼了。當(dāng)然,這是符合XP的要求的,的確也獲得了很大的成功。不過,這也把XP限制在小型項(xiàng)目的范圍內(nèi)。如果在大型項(xiàng)目中這么做,系統(tǒng)很快就會(huì)陷入混亂的。當(dāng)然,這并不是XP的錯(cuò),因?yàn)閄P本來就只是用于小型項(xiàng)目的。目前,RUP應(yīng)用于小型軟件企業(yè)有一定的難度,而關(guān)鍵在于如何根據(jù)項(xiàng)目需要來進(jìn)行裁減。而且使用RUP需要掌握一定的技巧,正如一個(gè)高明的鐵匠用鐵錘可以打出一把好兵器,如果是普通人搞不好還會(huì)砸到自己的腳。5. 加強(qiáng)學(xué)習(xí)行業(yè)知識(shí) 建議大家利用一切可以利用的時(shí)間學(xué)習(xí),多閱讀測(cè)試書籍,關(guān)注和游覽測(cè)試網(wǎng)站和論壇。要根據(jù)自己的知識(shí)基礎(chǔ),有選擇性地閱讀測(cè)試書籍。對(duì)于初學(xué)者應(yīng)先從基礎(chǔ)知識(shí)學(xué)起。正式出版的書在質(zhì)量和內(nèi)容上都有保證,而有些測(cè)試網(wǎng)站和論壇的文章良莠不齊,有的只有只言片語,有的還存在一些錯(cuò)誤。因此,需要有一定的鑒別能力,否則會(huì)被誤導(dǎo),浪費(fèi)時(shí)間。 對(duì)于新進(jìn)入公司的員工,公司一般都要經(jīng)過短暫的培訓(xùn),發(fā)一些培訓(xùn)材料,這是今后從事工作的最好的第一手材料,針對(duì)性和實(shí)用性都很強(qiáng)。它是公司測(cè)試工作經(jīng)驗(yàn)的總結(jié),也是今后要用到工作中的一些基本的測(cè)試知識(shí)和技術(shù)的介紹。另外還可以借助測(cè)試項(xiàng)目的測(cè)試文檔學(xué)習(xí),包括測(cè)試計(jì)劃、測(cè)試用例、測(cè)試缺陷數(shù)據(jù)庫,可以先看看以前發(fā)現(xiàn)了哪些Bug,這些Bug是怎么被發(fā)現(xiàn)的,有什么規(guī)律和特征,學(xué)習(xí)別人怎么寫測(cè)試缺陷報(bào)告。 測(cè)試人員除了學(xué)習(xí)和掌握測(cè)試技術(shù)外,還需要不斷學(xué)習(xí)行業(yè)知識(shí),這是普通測(cè)試技術(shù)人員與測(cè)試行業(yè)專家的區(qū)別之一。學(xué)習(xí)什么行業(yè)知識(shí)呢?根據(jù)測(cè)試的軟件的應(yīng)用領(lǐng)域決定。例如,如果正在測(cè)試的是電信行業(yè)的應(yīng)用軟件,那么需要學(xué)習(xí)電信行業(yè)知識(shí),包括術(shù)語、業(yè)務(wù)和行業(yè)技術(shù)。怎么學(xué)習(xí)呢?可以與客戶交流,與開發(fā)人員交流,看專業(yè)書和文章。 學(xué)習(xí)行業(yè)知識(shí)是個(gè)不斷進(jìn)步的過程,每個(gè)行業(yè)都有很系統(tǒng)的知識(shí)架構(gòu)。6. 測(cè)試人員要學(xué)會(huì)思考 測(cè)試是個(gè)技術(shù)工作,要學(xué)會(huì)主動(dòng)思考。測(cè)試問題錯(cuò)綜復(fù)雜,需要自己分析問題的性質(zhì),嘗試各種解決方法,搜索網(wǎng)上的資料,如果實(shí)在解決不了才向測(cè)試主管求助。 測(cè)試人員如何思考?要根據(jù)碰到的問題現(xiàn)象來思考,是屬于測(cè)試專業(yè)知識(shí)不足引起的,還是測(cè)試用例等測(cè)試文檔模糊、錯(cuò)誤引起的;是個(gè)別現(xiàn)象,還是測(cè)試項(xiàng)目的其他內(nèi)容都存在的普遍現(xiàn)象。測(cè)試要從模擬用戶使用的角度來看,因此要從最終用戶的角度來查找問題,分析問題可能導(dǎo)致的嚴(yán)重程度。 在詢問最終的解決方法前,必須根據(jù)自己的經(jīng)驗(yàn)嘗試了各種解決方法,并且盡量把發(fā)現(xiàn)的問題和想法告訴測(cè)試主管,證明自己已經(jīng)主動(dòng)思考了,只是沒有找到更好的解決方法,或者不能確定自己的方法是否可行。 最后我想借用RUP理論創(chuàng)始人之一Ivar Jacobson大師的一句話來送給讀者: “我從心底里真誠(chéng)地告訴中國(guó)的開發(fā)者: 盡快去學(xué)習(xí)RUP!因?yàn)檫@將是大勢(shì)所趨。從RUP中,你將可以學(xué)到很多很多非常有用的知識(shí)。在晚上、在周末、在等女朋友的時(shí)候、在喝茶的時(shí)候,總之,抽出一切時(shí)間來學(xué)習(xí)RUP。這樣的努力必將得到回報(bào)。這就是我能給中國(guó)的朋友們最好的建議”。在此,由衷地感謝多年來關(guān)心支持本書作者的各位朋友。北京大學(xué)杭誠(chéng)方教授、北京聯(lián)合大學(xué)李啟隆教授和毛世春教授等前輩給予了有力的支持和指導(dǎo),并抽出寶貴的時(shí)間審閱此書。郝増茹、崔桓祥、劉文紅、蔣雪峰、張鵬、李妍、李明等老師也給予了極大的關(guān)心和支持。感謝IBM大學(xué)合作部程郁佳、王立女士,IBM信息無障礙研究中心覃玉梅經(jīng)理等多年來全力支持和幫助作者在計(jì)算機(jī)教育和計(jì)算機(jī)普及領(lǐng)域所從事的工作。感謝試用本教材的一些院校,感謝他們提出了一些寶貴的意見。本書由姚登峰主編,韓玉敏、邱云峰、黃海瑞、李娟參與了部分章節(jié)的編寫,邱云峰還負(fù)責(zé)外文校譯。另外,黃海瑞和陳林波參與了程序調(diào)試工作。由于作者水平和時(shí)間有限,難免有缺點(diǎn)和不足,熱切期望得到專家和讀者的批評(píng)指正。希望本書能促進(jìn)測(cè)試人員基礎(chǔ)水平的提高,也為更多的人群加入測(cè)試隊(duì)伍提供輔助向?qū)?。如果讀者在學(xué)習(xí)中遇到了難以理解和解決的問題,可以訪問本課程網(wǎng)站,也可以直接和作者進(jìn)行聯(lián)系。 本書屬于原創(chuàng),但作者的學(xué)習(xí)成長(zhǎng)離不開網(wǎng)絡(luò)和書籍。在編寫此書過程中,作者更是置身于現(xiàn)實(shí)的學(xué)術(shù)氛圍,無疑要吸納和借鑒專家和同行們先進(jìn)的學(xué)術(shù)思想、方法,在此深深地感謝他們給予作者的啟迪和幫助。
內(nèi)容概要
本書介紹了RUP的特點(diǎn)、原則和概念及RUP的四級(jí)測(cè)試(單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試)。在內(nèi)容的選取上對(duì)基本知識(shí)的建立、基本技能的培養(yǎng)兩方面有所側(cè)重,讓學(xué)生形成對(duì)RUP的整體理論框架的基本認(rèn)識(shí),為學(xué)生畢業(yè)后從事軟件測(cè)試職業(yè)和在專業(yè)上的持續(xù)發(fā)展奠定基礎(chǔ)。 本書適合作為高等學(xué)校計(jì)算機(jī)及相關(guān)專業(yè)的本??粕滩?/pre>書籍目錄
第1部分 軟件測(cè)試基礎(chǔ) 第1章 緒論 1.1 引言 1.2 錯(cuò)誤是不可避免的 1.3 軟件測(cè)試歷史 1.4 軟件測(cè)試模型的演變 1.5 軟件測(cè)試類型 1.6 軟件測(cè)試工具的發(fā)展 1.7 當(dāng)今測(cè)試行業(yè)狀況 1.8 測(cè)試角色 1.9 職業(yè)規(guī)劃 習(xí)題與思考 第2章 RUP基礎(chǔ) 2.1 RUP的發(fā)展史 2.2 什么是RUP 2.3 RUP的特點(diǎn) 2.4 RUP軟件開發(fā)生命周期 2.5 RUP過程的靜態(tài)結(jié)構(gòu) 2.6 RUP中的最佳軟件實(shí)踐 2.7 RUP中的關(guān)鍵原則 2.8 RUP4+1視圖 2.9 RUP裁剪 2.10 實(shí)踐經(jīng)驗(yàn) 2.11 小結(jié) 習(xí)題與思考 第3章 RUP測(cè)試概論 3.1 軟件測(cè)試 3.2 RUP軟件測(cè)試流程 3.3 質(zhì)量保證 3.4 測(cè)試團(tuán)隊(duì)與角色 3.5 RUP四級(jí)測(cè)試 3.6 RUP測(cè)試解決方案 3.7 RUP使用技巧 3.8 小結(jié) 習(xí)題與思考 第4章 手工測(cè)試與自動(dòng)化測(cè)試 4.1 手工測(cè)試基礎(chǔ) 4.2 自動(dòng)化測(cè)試基礎(chǔ) 4.3 測(cè)試自動(dòng)化技術(shù) 4.4 測(cè)試腳本技術(shù) 4.5 自動(dòng)化測(cè)試實(shí)踐 4.6 自動(dòng)化測(cè)試的優(yōu)缺點(diǎn) 4.7 小結(jié) 習(xí)題與思考第2部分 單元測(cè)試 第5章 測(cè)試管理 5.1 什么是測(cè)試管理 5.2 測(cè)試管理的內(nèi)容 5.3 開展測(cè)試管理 5.4 傳統(tǒng)測(cè)試管理的挑戰(zhàn) 5.5 基于RUP的測(cè)試管理經(jīng)驗(yàn) 5.6 測(cè)試管理的自動(dòng)化 5.7 TM的使用 5.8 小結(jié) 習(xí)題與思考 第6章 單元測(cè)試 6.1 單元測(cè)試基礎(chǔ) 6.2 單元測(cè)試策略 6.3 單元測(cè)試工具實(shí)踐 6.4 小結(jié) 習(xí)題與思考第3部分 集 成 測(cè) 試 第7章 組件測(cè)試與運(yùn)行時(shí)分析第4部分 系統(tǒng)測(cè)試 第8章 系統(tǒng)功能測(cè)試 第9章 性能測(cè)試第5部分 驗(yàn)收測(cè)試 第10章 易用性測(cè)試 第11章 無障礙測(cè)試第6部分 案例分析 第12章 測(cè)試案例附錄A UML基礎(chǔ): 統(tǒng)一建模語言簡(jiǎn)介附錄B 測(cè)試評(píng)估摘要附錄C WCAG 1.0的14條指導(dǎo)原則參考文獻(xiàn)章節(jié)摘錄
插圖:好處:團(tuán)隊(duì)生產(chǎn)力,更好地結(jié)合商業(yè)需求與軟件系統(tǒng)的開發(fā)和運(yùn)作。模式:激勵(lì)團(tuán)隊(duì)成員做得最好。分析師、開發(fā)人員和測(cè)試人員的跨職能合作。管理不斷演進(jìn)的工件和任務(wù),通過集成環(huán)境來加強(qiáng)對(duì)協(xié)作、進(jìn)度和質(zhì)量的了解。確保業(yè)務(wù)、開發(fā)和運(yùn)作團(tuán)隊(duì)作為一個(gè)集成的整體高效地工作。反模式:培養(yǎng)英雄個(gè)體并為他們配備強(qiáng)大的工具。軟件是由才華橫溢、積極上進(jìn)的人員通過緊密協(xié)作創(chuàng)造出的。許多復(fù)雜的系統(tǒng)要求一些具有不同技能的項(xiàng)目涉眾進(jìn)行協(xié)作,而大型項(xiàng)目通常會(huì)跨越地理和時(shí)間的界限,從而進(jìn)一步增加了開發(fā)流程的復(fù)雜性。這就是為什么人員問題和協(xié)作(一些人稱之為軟件開發(fā)的“軟”元素)會(huì)成為靈活開發(fā)團(tuán)隊(duì)的主要側(cè)重點(diǎn)。遵循此原則要求回答以下問題,包括:·如何激勵(lì)人們做得最好?·如何在同處一地與分散的軟件團(tuán)隊(duì)中進(jìn)行協(xié)作?·如何在負(fù)責(zé)業(yè)務(wù)、軟件開發(fā)和IT操作的團(tuán)隊(duì)之間進(jìn)行協(xié)作?有效協(xié)作的第一步是激勵(lì)團(tuán)隊(duì)中的個(gè)人做得最好。自我管理團(tuán)隊(duì)的概念已在項(xiàng)目團(tuán)體中得到普及,它的基礎(chǔ)是使團(tuán)隊(duì)承諾負(fù)責(zé)應(yīng)交付的成果,然后由團(tuán)隊(duì)決定和判斷影響交付成果的所有問題。當(dāng)人們意識(shí)到需要真正負(fù)責(zé)最終結(jié)果時(shí),會(huì)更主動(dòng)地去保質(zhì)完成工作。如RUP的靈活性聲明所陳述的:“為受到激勵(lì)的人員構(gòu)建項(xiàng)目。為他們創(chuàng)造環(huán)境,支持他們的需要并相信他們能完成工作?!钡诙绞枪膭?lì)跨職能協(xié)作。如walkerRoyce所說的“軟件開發(fā)是一項(xiàng)團(tuán)隊(duì)工作?!钡椒ǜ枰獔F(tuán)隊(duì)密切配合工作。我們要拆除分析人員、開發(fā)人員和測(cè)試員之間通常存在的壁壘,圖2-9拓寬這些角色的職責(zé)以確保在快速變化的環(huán)境中進(jìn)行有效協(xié)作。每個(gè)成員都需要了解任務(wù)和項(xiàng)目遠(yuǎn)景。在團(tuán)隊(duì)發(fā)展到一定規(guī)模時(shí),要提供有效的協(xié)作環(huán)境。這些環(huán)境使度量值收集和狀態(tài)報(bào)告變得更為方便和自動(dòng)化,并使圍繞著配置管理的構(gòu)建管理和日志自動(dòng)化。這種效率可減少會(huì)議次數(shù),使團(tuán)隊(duì)成員將更多時(shí)間用在具有更高生產(chǎn)率和創(chuàng)造性的活動(dòng)上。這些環(huán)境還應(yīng)通過簡(jiǎn)化交流、使處于不同地區(qū)和時(shí)區(qū)的團(tuán)隊(duì)成員能夠溝通,以此達(dá)到更有效的協(xié)作。這些環(huán)境的示例包括從共享項(xiàng)目房間到聯(lián)網(wǎng)或基于web的解決方案,例如集成開發(fā)環(huán)境、配置和變更管理環(huán)境。編輯推薦
《基于RUP的軟件測(cè)試實(shí)踐》:教育部IBM高校合作項(xiàng)目精品課程系列教材圖書封面
評(píng)論、評(píng)分、閱讀與下載
- 還沒讀過(65)
- 勉強(qiáng)可看(472)
- 一般般(805)
- 內(nèi)容豐富(3338)
- 強(qiáng)力推薦(273)