軟件工程實(shí)踐圖書(shū)管理系統(tǒng)_第1頁(yè)
軟件工程實(shí)踐圖書(shū)管理系統(tǒng)_第2頁(yè)
軟件工程實(shí)踐圖書(shū)管理系統(tǒng)_第3頁(yè)
軟件工程實(shí)踐圖書(shū)管理系統(tǒng)_第4頁(yè)
軟件工程實(shí)踐圖書(shū)管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

軟件工程實(shí)踐報(bào)告姓名:呂偉學(xué)號(hào):08113441專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級(jí):計(jì)算機(jī)科學(xué)與技術(shù)11-4班設(shè)計(jì)題目:軟件工程實(shí)踐成員:皇甫飛波(08113438)劉什(08113440)指導(dǎo)教師:趙瑩2023年12月31日徐州課程設(shè)計(jì)指導(dǎo)教師評(píng)閱書(shū)指導(dǎo)教師評(píng)語(yǔ):座成績(jī):幟患蠶封食話指導(dǎo)教師聲簽字:爽龜卵稼村握刷沿年搬月?lián)舯兹漳夸泟P第一章涂圖書(shū)管理系祖統(tǒng)總體規(guī)劃撫-----恨-----脫-戚-----反-----風(fēng)-----荷-----軋-----右-----臘-----鍋-----更-----揮-----軌-----氏-----憲1級(jí)第二章黨實(shí)驗(yàn)一:利夸用Visi頂o繪制DF叼D圖---得-----組-----床-----貼-----財(cái)-----充-----帆-----蠻-----扛-----奴-----車(chē)-----衫-1璃1雞、頂層及零控層數(shù)據(jù)流圖統(tǒng)(DFD)矮-----描-----傳-----豐-----督-----戶-----溝-----座-----淋-----貍-----狂-----薯-----另----1哲2地、分層數(shù)據(jù)枝流圖(DF機(jī)D)---絞-----得-----膝-----鵲-----旅-----暑-----松-----娃-----火-----譯-----紙-----膜-----參-----調(diào)-----摸2飲第三章企實(shí)驗(yàn)二:U輕ML工具的臨使用爭(zhēng)憐-----渠-----移-----哨-----捉-----扎-----機(jī)-----踢-----刊-----魯-----飼-----娘-----減-----斧4酬1罷、用例圖-迎-----莊-----莊-----穩(wěn)-----奶-----封-----墾-----眉-----烈-----君-----群-----收-----旅-----遍-----泄-----帥-----扮-----陵-----握---4尊2丹、類(lèi)圖感產(chǎn)-----眉-----鄰-----浴-----偽-----溜-----肯-----隊(duì)-----靠-----樂(lè)-----崗-----裂-----拴-----源-----旦-----康-----糕-----尤-----兆-----味7從3對(duì)、序列圖-密-----漸-----維-----展-----匆-----守-----待-----視-----泳-----耗-----論-----究-----嚷-----鉤-----狼-----言-----火-----王-----練---7稻4悲、狀態(tài)圖-暴-----坐-----帽-----描-----靠-----監(jiān)-----杰----附-----霸-----弦-----船-----縫-----聞-----騎-----壇-----生-----卸-----礎(chǔ)-----順----8貪5星、協(xié)作圖-腳-----詳-----宇-----泰-----參-----腐-----棉-----竭-----遼-----幫-----雁-----監(jiān)-----勇-----器-----郊-----敲-----燭-----廟-----塞---9縱6膝、活動(dòng)圖-逼-----筑-----喬-----割-----導(dǎo)-----烈-----叫-----勢(shì)-----跌-----胃-----鎮(zhèn)-----臂-----列-----夏-----后-----皮-----泥-----劃-----背---9杜第四章實(shí)焦驗(yàn)三:軟件還源代碼管理禿-----春-----挽-----規(guī)-----蒼-----疏-----稱-----圣-----剃-----諸-----院-----季-----催-----繁----1竭0錢(qián)1算、SVN介租紹淹閥-----剛-----洗-----石-----勉-----慢-----鉆-----瓦-----欲-----李-----畫(huà)-----聾-----犧-----紐-----墨-----羨-----鉗-----該----1乳0抱2搏、SVN軟嬸件使用說(shuō)明都尤-----寧-----匙-----扁-----炒-----惡-----構(gòu)----晃-----漏-----乓-----胖-----山-----趕-----胳-----奮-----暗---11其第五章哪實(shí)驗(yàn)四:使湊用軟件測(cè)試策工具---查-----倘-----龍-----籠-----漢-----滾-----追-----鍋-----沒(méi)-----殲-----晉-----魚(yú)-----識(shí)--18綠1炭、Nuni駁t軟件測(cè)試蚊工具---婚-----繳-----增-----老-----姓-----和-----德-----渾-----五-----梢-----掃-----啟-----問(wèn)-----講-----哭----1清8簡(jiǎn)徹1.1工TDD的貞簡(jiǎn)介---宰-----傳---曾-----聾-----俯-----薯-----餡-----撕-----篇-----伴-----籌-----滑-----亂-----上-----好-----棄-----兔-19組來(lái)1.2欄.NUni管t的介紹-米-----單-----咸-----漫-----售-----郵-----盾-----搬-----蓬-----代-----越-----激-----顯-----有-----裕-----慘-----批19負(fù)絲攝棋Nunit鄙的介紹--昂-----爛-----莊-----遣-----均-----驅(qū)-----樹(shù)-----句-----就-----矛-----居----銹-----盲-----杏-----礎(chǔ)-----玉19絨襪1.痕2.2一缺些常用屬性件-----歲-----胡-----支-----憲-----址-----虹-----謀-----委-----緒-----濫-----斜-----芬-----仗-----蘭---22娛萬(wàn)1.3泉如何在.N稻ET中應(yīng)用兵NUnit吉-----鉗-----嚇-----紋-----反-----疑-----緒-----褲-----區(qū)-----盡-----夜-----綠-----住-----煙24械枕1.4撇其他的一些背核心概念-災(zāi)-----臺(tái)-----邪-----情-----和----太-----屆-----諷-----堪-----圍-----傾-----石-----液-----賓-----嫁-28駕帆Te嚇stSu宅ite譽(yù)慈-----隆-----孔-----啊-----悔-----宅-----陣-----福-----竭-----世-----行-----唱-----挎-----露-----尺-----梅-----切---32尊沖Ex茶plici幟t屬性--妖-----賓-----編-----凝-----融-----鍋-----倦-----妻-----消-----環(huán)-----歷-----危-----初-----驕-----癢-----誕-----渡35什警Ex怕pecte置dExc返eptio病n屬性--蓬-----恩-----語(yǔ)-----訪-----偏-----耗-----夜-----昂-----目-----吐-----嶄-----慌-----芽-----泛35斥回1.5緩測(cè)試生命數(shù)周期合約設(shè)說(shuō)-----黨-----融-----菠-----然-----緊-----豆-----纏-----目-----腦-----魂-----撈-----編-----別-----俯-36幕2、T岔estM的anage貝r軟件測(cè)試扶工具---奪-----柏-----鞋-----降-----夜-----壞-----刑-----稈---你-----姑-----般-----丘-----釀-----剝-38畢塊2.1T伙estM虛anage稈r介紹--滔-----伴-----車(chē)-----季-----挑-----紡-----大-----捎-----俘-----意-----熟-----延-----革-----露-----饒---38獵執(zhí)2.2T婚estM坑anage瓜r具體使用準(zhǔn)-----糟-----途-----傅-----貿(mào)-----肥-----憤-----更-----跪-----雜-----寒-----梯-----黎-----傭----3配8鍋第一章購(gòu)萌圖書(shū)管理系管統(tǒng)總體規(guī)劃遺對(duì)笑于數(shù)據(jù)庫(kù)系廊統(tǒng),規(guī)劃工徹作是十分必習(xí)要的。規(guī)劃掌的好壞將直押接影響到整寄個(gè)圖書(shū)管理升系統(tǒng)的成功崗與否,數(shù)據(jù)肚庫(kù)設(shè)計(jì)中的機(jī)規(guī)劃階段的網(wǎng)主要任務(wù)是睛建立數(shù)據(jù)庫(kù)胞的必要性及搭可行性分析怠,確定數(shù)據(jù)培庫(kù)系統(tǒng)在整廟個(gè)圖書(shū)管理木系統(tǒng)的地位越。慚根據(jù)圖書(shū)管踢理數(shù)據(jù)庫(kù)對(duì)賓技術(shù)人員和嶄管理人員的抬水平、數(shù)據(jù)項(xiàng)采集和管理戰(zhàn)活動(dòng)以及借為閱者的計(jì)算貪?rùn)C(jī)素質(zhì)的要偶求;數(shù)據(jù)庫(kù)順技術(shù)對(duì)計(jì)算請(qǐng)機(jī)系統(tǒng)的軟唐硬件的要求罪。決定把數(shù)術(shù)據(jù)庫(kù)管理系桑統(tǒng)設(shè)計(jì)成為安一個(gè)綜合的欺數(shù)據(jù)庫(kù)。此答數(shù)據(jù)庫(kù)包括膀所有操作人朱員的所有活糧動(dòng)功能。因滿為,此圖書(shū)批管理系統(tǒng)應(yīng)秋用界面較簡(jiǎn)什單、功能單翠一。所以,吸用一個(gè)綜合銹的數(shù)據(jù)庫(kù)就拿能滿足圖書(shū)什管理要求,淹而且實(shí)現(xiàn)容翁易。萬(wàn)因此,圖書(shū)智管理系統(tǒng)可環(huán)以按照用戶蕩權(quán)限和實(shí)現(xiàn)管功能的不同協(xié)分為兩部分詢:外部學(xué)生測(cè)對(duì)數(shù)據(jù)庫(kù)的輩查閱訪問(wèn)和曲內(nèi)部管理人團(tuán)員對(duì)圖書(shū)記嫩錄的管理維眉護(hù)。但是,森這兩部分都嶄調(diào)用的是同俊一數(shù)據(jù)庫(kù),理只不過(guò)內(nèi)部窯管理人員能吳實(shí)現(xiàn)所有管拍理功能,而呀外部學(xué)生訪德問(wèn)數(shù)據(jù)庫(kù)時(shí)優(yōu),一些功能盜被屏蔽,只案能進(jìn)行查閱速。書(shū)管理系童統(tǒng)的整個(gè)應(yīng)飛用情況作全很面的、詳細(xì)釋的調(diào)查,確簽定圖書(shū)管理昌的目標(biāo),收供集支持系統(tǒng)蔑總的設(shè)計(jì)目悄標(biāo)的基礎(chǔ)數(shù)曾據(jù)和對(duì)這些珠數(shù)據(jù)的要求倚,確定用戶懼的需求,并孔把這些寫(xiě)成昆用戶和數(shù)據(jù)辛庫(kù)設(shè)計(jì)者都軌能夠接受的山文檔。辣第二章拳實(shí)驗(yàn)一合利用太Visio頃繪制DFD真圖實(shí)驗(yàn)要求:嫂門(mén)1.可以采窮用結(jié)構(gòu)化方布法對(duì)所選系鍵統(tǒng)進(jìn)行需求紛分析;躁傅2.采用V中isio繪貝制系傳統(tǒng)的各DFD圖;跨扛3.提交繪書(shū)制的圖形和漂實(shí)驗(yàn)報(bào)告。蓋圖書(shū)管理系扶統(tǒng)頂層和第駕零層DFD嶺圖肅扶宵桶監(jiān)圖書(shū)薪管理系統(tǒng)頂屯層DFD圖桃壩餐朗墨非值詞有燭虹濫圖書(shū)閘管理系統(tǒng)第栽零層DFD少圖武圖書(shū)管理系膚統(tǒng)分層DF修D(zhuǎn)圖彎鮮基別遭圖書(shū)管理系扮統(tǒng)第1層D權(quán)FD圖姓牌鏟圖書(shū)管理系篇統(tǒng)第2層D秘FD圖予注:皇甫飛佳波負(fù)責(zé)實(shí)驗(yàn)走一報(bào)告的整保理和圖書(shū)管原理系統(tǒng)頂層田和零層DF治D圖的繪制州;偶呂偉負(fù)責(zé)圖種書(shū)管理系統(tǒng)塞第1層DF潑D圖的繪制晌;趙劉什負(fù)責(zé)圖占書(shū)管理系統(tǒng)落第2層DF簡(jiǎn)D圖的繪制贈(zèng)。拒實(shí)驗(yàn)二啞UML工憐具的使用實(shí)驗(yàn)要求:凈1.下載、訂安裝Rat掙ional羨Rose宵、Star企UML等工梢具軟件,學(xué)猛習(xí)軟件使用爸;單遺2.繪制用宣例圖、類(lèi)圖頑、序列圖、擊狀態(tài)圖、活犁動(dòng)圖等圖形據(jù)針對(duì)所選系賊統(tǒng)進(jìn)行模型誕分析和設(shè)計(jì)偉。用例圖齊在繪制圖書(shū)受管理系統(tǒng)的摧用例圖之前忙我們要對(duì)其糾中的角色進(jìn)均行識(shí)別,對(duì)爺一個(gè)圖書(shū)管悄理系統(tǒng)來(lái)說(shuō)歌,主要有兩邊種角色:讀通者和圖書(shū)管菌理員。其次泥,在主要角只色的基礎(chǔ)上擾,可以識(shí)別冤出與角色相像應(yīng)的用例,頃從而畫(huà)出用夕例圖。與讀部者相關(guān)的過(guò)洋程包括:借拒書(shū)、還書(shū)、御圖書(shū)信息檢伶索、借閱信屯息查詢、個(gè)催人相關(guān)信息峽查詢及修改亂(如:姓名觀、性別、年萬(wàn)級(jí)、專業(yè)、鍛家庭住址、貧聯(lián)系、憤民族、身份居證號(hào)、出生股日期等),掩與圖書(shū)管理幅員相關(guān)的過(guò)俗程的包括:卸辦理借書(shū)、婦辦理還書(shū)、霞圖書(shū)訂購(gòu)、蓋讀者信息管成理、圖書(shū)信苗息管理以及丟系統(tǒng)管理。額以上分析中隱,與讀者、造圖書(shū)管理員跡相關(guān)的過(guò)程銀構(gòu)成了本系勢(shì)統(tǒng)的基本用共例。位獨(dú)擔(dān)媽女圖書(shū)管理箱系統(tǒng)基本用幼例圖鑒圖書(shū)管理模耳塊的用例圖陳圖書(shū)管理模臨塊包括與圖存書(shū)相關(guān)的一敵些過(guò)程,主貞要有圖書(shū)借興出、圖書(shū)的碼歸還、圖書(shū)紅信息的檢索鍛、圖書(shū)訂購(gòu)狡、圖書(shū)相關(guān)解信息的管理漂。叫客失稍累讀者蟲(chóng)管理模塊的么用例圖蝶讀者管理模鞋塊主要包括伍與讀者有聯(lián)振系的相關(guān)的曲過(guò)程。主要攀有讀者增加描/刪除、修襯改讀者權(quán)限少及密碼、借玻閱信息查詢軟、個(gè)人信息謝查詢及修改插、借閱超期徹/丟失罰款饞南蹦哭森系宿統(tǒng)管理模塊恰的用例圖暗系統(tǒng)管理模聚塊主要有系葛統(tǒng)的登錄、挽退出,系統(tǒng)贈(zèng)的更新、系巨統(tǒng)的維護(hù)類(lèi)圖序列圖蓄莊顏桿魚(yú)驅(qū)借書(shū)一傲般過(guò)程的序它列圖狀態(tài)圖竊圖書(shū)管理員令使用系統(tǒng)的主狀態(tài)圖紡伏圖書(shū)管理員閥的主要時(shí)間捎流可以有圖坐書(shū)管理系統(tǒng)最的狀態(tài)圖分更析而來(lái),與何圖書(shū)管理員付相關(guān)的過(guò)程印包括:辦理形借書(shū)、辦理籮還書(shū)、解除飾預(yù)定,圖書(shū)哄預(yù)定、圖書(shū)歐信息管理(疫增加/刪除贈(zèng)書(shū)目、圖書(shū)仇類(lèi)別管理、瓣流通情況)那、讀者信息宰管理(增加棕/刪除讀者腹、讀者權(quán)限龍修改等)協(xié)作圖掠借書(shū)一般過(guò)概程的協(xié)作圖刷讀者刷卡進(jìn)逢入圖書(shū)館,煉先查詢圖書(shū)變及個(gè)人借閱喉信息,然后活去挑選書(shū),辯挑好書(shū)后進(jìn)游入借車(chē)程序伙,圖書(shū)管理諒員先檢查讀主者的證件是煉否合理,如殲合理則進(jìn)行悔借車(chē),讀者掛借完書(shū)后,冊(cè)圖書(shū)管理員煮要修改讀者許的借閱信息述和庫(kù)存圖書(shū)謎信息?;顒?dòng)圖問(wèn)借書(shū)一般過(guò)命程的活動(dòng)圖妖注:皇甫飛般波負(fù)責(zé)基本酷用例圖以及遣各模塊用例夸圖的繪制;哄呂偉負(fù)責(zé)類(lèi)毫圖和圖書(shū)管陡理員使用系薄統(tǒng)的狀態(tài)圖裝的繪制;滲劉什負(fù)責(zé)借棵書(shū)一般過(guò)程常的協(xié)作圖、連時(shí)序圖以及胞活動(dòng)圖的繪跌制。據(jù)實(shí)驗(yàn)三癢軟件中源代碼吵管理實(shí)驗(yàn)要求:答1.下載、盲安裝SVN印、Trac詢等工具軟件蹲,學(xué)習(xí)軟件球使用;胸2.對(duì)所選機(jī)系統(tǒng)的源代堤碼進(jìn)行版本麻管理。城1、SVN捧介紹道subve粘rsion披(簡(jiǎn)稱販svn異)是近年來(lái)物崛起的版本衡管理軟件,希是港cvs在的接班人。是目前,絕大填多數(shù)開(kāi)源軟奉件都使用s買(mǎi)vn作為代捆碼版本管理陳軟件。拳刃使用情況圍雖然在車(chē)2006搖年時(shí)S幻ubver古sion特的使用族群懼仍然遠(yuǎn)少于田傳統(tǒng)的C軟VS,但已咬經(jīng)有許多開(kāi)惕放原碼團(tuán)體濱決定將C平VS轉(zhuǎn)換可為Sub猛versi塊on。已經(jīng)途轉(zhuǎn)換使用輛Subve該rsion溜的包括了濱聯(lián)FreeB韻SD豎、Apac儉heSo袍ftwar級(jí)eFou易ndati賞on、半KDE錄、歡GNOME瓜、怎GCC芽、禽Pytho查n至、俊Samba營(yíng)、黃Mono慮以及許多這團(tuán)體。把許多開(kāi)代發(fā)團(tuán)隊(duì)換用漂Subv健ersio說(shuō)n是因?yàn)楣萒rac板、Sour稼ceFor朋ge、Co屢llabN毫et、Co歡deBea起mer等專干案協(xié)同作業(yè)撤軟件以及船Eclip循se詠、蟲(chóng)NetBe國(guó)ans華等IDE提伶供Sub潔versi概on的支援秘整合。除玻此之外,一柴些自由軟件顧開(kāi)發(fā)的協(xié)作鉆網(wǎng)如崖Sourc密eForg漫e茶.net除軍了提供C宜VS外,遷現(xiàn)在也提供他專案開(kāi)發(fā)者李使用Su餃bvers喘ion作條為原碼管理雁系統(tǒng),J梢avaFo待rge、惕Googl說(shuō)e蘋(píng)Code布以及Bo執(zhí)untyS巾ource炒則以S近ubver怒sion末作為官方的率原碼管理系涼統(tǒng)。煉2023年放,絕大多數(shù)萄CVS服務(wù)狡已經(jīng)改用S借VN。CV秤S已經(jīng)停止誘維護(hù)。遮2、SVN廉軟件使用說(shuō)胃明途注:皇甫飛紹波負(fù)責(zé)SV融N的下載和簡(jiǎn)安裝;治呂偉負(fù)責(zé)圖朱書(shū)管理系統(tǒng)浸源代碼的整榨理和分析;員劉什負(fù)責(zé)運(yùn)俯用軟件對(duì)系寶統(tǒng)源代碼進(jìn)麥行軟件版本乖的管理。抵實(shí)驗(yàn)四使縫用軟件測(cè)試馳工具實(shí)驗(yàn)要求:總1.下載、渠安裝W透ebstr內(nèi)ess撓、NUni籮t和Tes鐮tMan躲ager等抬工具軟件,每學(xué)習(xí)軟件使粉用;疏岔2.運(yùn)用N難Unit養(yǎng)工具軟件進(jìn)話行白盒測(cè)試勢(shì)用例設(shè)計(jì)及機(jī)自動(dòng)測(cè)試編;振遠(yuǎn)3.運(yùn)用W享ebstr敵ess誕工具軟件進(jìn)枝行性能自動(dòng)震測(cè)試睬;乖哭4.了解T波estM羅anage籮r測(cè)試管理智工具的使用鍵方法。因1、Nun鹽it軟件測(cè)績(jī)?cè)嚬ぞ咦慵m前一段時(shí)間舍,有人問(wèn)我掘在.NET花里如何進(jìn)行壘TDD開(kāi)發(fā)暢.這個(gè)問(wèn)題椒促使我想對(duì)科NUnit敏做一個(gè)詳細(xì)惰的介紹.因紛為我們大家稈都知道內(nèi)NUnit固是在.NE凝T進(jìn)行TD騾D的利器.腹如果你已經(jīng)硬知道很多關(guān)反于間NUnit阿的應(yīng)用,請(qǐng)芝指出我的不旨對(duì)之處和提夕出一些建議廢,使本文更灑加完善.如鎮(zhèn)果你對(duì)寨NUnit與還不是很了吃解的話,我龜建議你還是宿閱讀一下.懇本文分為以依下部分:抵1.怒1臥TDD的鼠簡(jiǎn)介抬哨首先什么是傳TDD呢?獨(dú)Kent艱Beck在終他的<<測(cè)赴試驅(qū)動(dòng)開(kāi)發(fā)蠢>>(A蠶ddiso勾n-Wes受leyP激rofes歌siona令l,200姜3)一書(shū)中舞,使用下面儀2個(gè)原則來(lái)咳定義TDD呀:認(rèn)·除非你有凡一個(gè)失敗的紫自動(dòng)測(cè)試,拘永遠(yuǎn)不要寫(xiě)創(chuàng)一單行代碼醒.捧我想第一個(gè)擊原則是顯而嚼易見(jiàn)的.在懸沒(méi)有失敗的紗自動(dòng)測(cè)試下砌就不要寫(xiě)代焰碼.因?yàn)闇y(cè)鵲試是嵌入在炒代碼必須滿李足的需求中原.如果沒(méi)有穗需求,就沒(méi)篩有必要實(shí)現(xiàn)梅任何東西.是所以這個(gè)原濤則阻止我們刪去實(shí)現(xiàn)那些餃沒(méi)有測(cè)試和離在解決方案哄中不需要的閥功能.禁第二個(gè)原則勉說(shuō)明了在一喜個(gè)程序中,君不應(yīng)該包含訓(xùn)重復(fù)的代碼孫.如果代碼竄重復(fù),我想故這就是不好米的軟件設(shè)計(jì)鑒的象征.隨莫著時(shí)間的流毫逝,它會(huì)對(duì)累程序造成不炒一致的問(wèn)題故,并且使代鳳碼變非?;炀韥y,因?yàn)橹形覀儠r(shí)常不眨會(huì)記得重復(fù)榮代碼的位置露.如果發(fā)現(xiàn)念代碼重復(fù),知我想我們應(yīng)燦該立即刪除雜代碼重復(fù).件其實(shí)這就涉趣及到重構(gòu)了移.在這里我機(jī)就不多講了續(xù).暖一般來(lái)說(shuō),勾測(cè)試分為2慚種類(lèi)型,一暖是程序員自娘己的測(cè)試,挽另外一種是短客戶的測(cè)試峽.關(guān)于客戶佛測(cè)試,我推壤薦一個(gè)FI殿T的框架,個(gè)非常不錯(cuò)。朝在這里,我枯們講的TD物D就是程序緒員測(cè)試.那夾么什么是程繁序員測(cè)試呢參?我認(rèn)為就擇是我們常說(shuō)池的單元測(cè)試蝦.既然是單加元測(cè)試,在栽.NET里舞勢(shì)必會(huì)用到奔某些工具,繩目前最著名依恐怕就是我撒即將介紹的暑NUnit傾了,悔1.命2.聞NUnit蒜的介紹餃匪NUnit咸是一個(gè)單元爛測(cè)試框架,健專門(mén)針對(duì)于影.NET來(lái)俗寫(xiě)的.其實(shí)糠在前面有J裕Unit(蓋Java春),CPP雀Unit(牽C++),禍他們都是x穿Unit的飽一員.最初告,它是從J致Unit而渴來(lái).現(xiàn)在的煉版本是2.啄2.接下來(lái)離我所用的都悟是基于這個(gè)前版本.明NUnit養(yǎng)最初是由J牙ames驢W.Ne玩wkirk朵,Ale違xeiA循.Vor役ontso白v和Ph勺ilip刻A.Cr丙aig,品后來(lái)開(kāi)發(fā)團(tuán)右隊(duì)逐漸龐大箏起來(lái).在開(kāi)唯發(fā)過(guò)程中,李Kent螞Beck錢(qián)和Eri障chGa省mma2位弱牛人也提供罷了許多幫助允.看來(lái)對(duì)于儲(chǔ)NUnit烏還真是下了諒一番力氣了州.J登NUnit左是xUni售t家族種的煙第4個(gè)主打濟(jì)產(chǎn)品,完全己由C#語(yǔ)言界來(lái)編寫(xiě),并手且編寫(xiě)時(shí)充南分利用了許仙多.NET正的特性,比機(jī)如反射,客嬸戶屬性等等蠶.尤最重要的一羽點(diǎn)是它適合殼于所有.N藍(lán)ET語(yǔ)言.稠1.叉2.1榨NUnit廳的介紹罪

Ok樹(shù),下面正式凱講解改NUnit刮.在講解之疫前,看看幾抖張圖片:滲很召圖1

因NUnit捐運(yùn)行的效果計(jì)才岡詠倡圖2

全肯NUnit隔運(yùn)行的另外或一個(gè)效果廚

從中我們獅可以非常容監(jiān)易發(fā)現(xiàn),右壺邊是個(gè)狀態(tài)仙條,圖1是確紅色的,圖桶2是綠色的鉛.為什么會(huì)津這樣呢?因排為如果所有構(gòu)測(cè)試案例運(yùn)鉗行成功,就丈為綠色,反間之如果有一遼個(gè)不成功,增則為紅色,叔但也有黃色顛的.左面的尋工作域內(nèi)則佳是我們寫(xiě)的呼每一個(gè)單元樓測(cè)試.睡通過(guò)上面的丸圖片,我想胞你對(duì)蝴NUnit埋有個(gè)總的了卡解了.伐接下來(lái)還是易分為2個(gè)部童分,一是子NUnit錦的布局,另扇外一部分就泡是它的核心中概念.饅首先熟悉一永下忽NUnit訓(xùn)GUI的嚷布局.相讓我們更進(jìn)肚一步看一下曾測(cè)試運(yùn)行器豎窗口的布局剪。在右邊面納板的中間,涌可以看到測(cè)期試進(jìn)度條。宣進(jìn)度條的顏栽色反映了測(cè)面試執(zhí)行的狀飽態(tài):判綠色占描述目前所襖執(zhí)行的測(cè)試淺都通過(guò)卡黃色杰意味某些測(cè)砍試忽略,但束是這里沒(méi)有跌失敗枕紅色盟表示有失敗業(yè)塌底部的狀態(tài)者條表示下面悉的狀態(tài):序狀態(tài)忘.說(shuō)明了現(xiàn)乘在運(yùn)行測(cè)試承的狀態(tài)。當(dāng)?shù)晁袦y(cè)試完壺成時(shí),狀態(tài)耗變?yōu)槌糃ompl堂eted緣.運(yùn)行測(cè)試闖中,狀態(tài)是屯Runni膽ng:拆<糾test-袍name皆>(<戚test-描name爽>是正在運(yùn)甚行的測(cè)試名次稱)。勞Test唇Cases現(xiàn)說(shuō)明加載的擺程序集中測(cè)搜試案例的總僚個(gè)數(shù)。這也睡是測(cè)試樹(shù)里奸葉子節(jié)點(diǎn)的照個(gè)數(shù)。窮Tests權(quán)Run賭已經(jīng)完成榮的測(cè)試個(gè)數(shù)傲。姓Failu望res

贏到目前為止捏,所有測(cè)試豈中失敗的個(gè)揪數(shù).秧Time

文趁顯示運(yùn)行測(cè)散試時(shí)間(以謀秒計(jì))怨File主趣菜單有以下高內(nèi)容:湊NewP喝rojec稅t梯允許你創(chuàng)建搜一個(gè)新工程銳。工程是一俗個(gè)測(cè)試程序捐集的集合。滿這種機(jī)制讓捎你組織多個(gè)唯測(cè)試程序集尿,并把他們騾作為一個(gè)組識(shí)對(duì)待。限Open賞加載一個(gè)新慌的測(cè)試程序捆集,或一個(gè)乏以前保存的猜NUnit壩工程文件。況細(xì)Close冬關(guān)閉現(xiàn)在加迷載的測(cè)試程鼓序集或現(xiàn)在睬加載的春NUnit臘工程。蛛Save賣(mài)保存現(xiàn)在的腸Nunit償工程到一個(gè)桿文件。如果材正工作單個(gè)淋程序集,本獎(jiǎng)菜單項(xiàng)允許弟你創(chuàng)建一個(gè)證新的帽NUn纏it夸工程,并把環(huán)它保存在文街件里。班Save抵As孩允許你將現(xiàn)保有天NUnit爹工程作為一算個(gè)文件保存窮。棟Reloa繁d去強(qiáng)制重載現(xiàn)冒有測(cè)試程序供集或敏NUnit慌工程。樓NUnit吉-Gui自雹動(dòng)監(jiān)測(cè)現(xiàn)加偶載的測(cè)試程必序集的變化幻。群當(dāng)程序集變酒化時(shí),測(cè)試自運(yùn)行器重新弦加載測(cè)試程只序集。(當(dāng)蜓測(cè)試正運(yùn)行右時(shí),現(xiàn)在加滲載的測(cè)試程倆序集不會(huì)重罪新加載。在鴨測(cè)試運(yùn)行之律間測(cè)試程序芹集僅可以重趟新加載。一劣個(gè)忠告:如無(wú)果測(cè)試程序央集依賴另外施一個(gè)程序集式,測(cè)試運(yùn)行雨器不會(huì)觀察筋任何依賴的霜程序集。對(duì)爽測(cè)試運(yùn)行器蹦來(lái)說(shuō),強(qiáng)制型一個(gè)重載使籍全部依賴的慎程序集變化繪可見(jiàn)。蛇Recen選tFil興es盟

說(shuō)明5碗個(gè)最近在拜NUnit腹中加載的測(cè)停試程序集或外NUnit棕工程(這個(gè)陣列表在Wi糟ndows售注冊(cè)表,由惕每個(gè)用戶維松護(hù),因此如摸果你共享你劍的PC,你橋僅看到你的脆測(cè)試)。最無(wú)近程序集的館數(shù)量可以使礦用Opti旺ons菜單觀項(xiàng)修改,可呆以訪問(wèn)To藍(lán)ol主菜單餅。半Exit鑰退出。痛

View門(mén)菜單有以下蔽內(nèi)容:盟Expan咬d尾一層層擴(kuò)展甲現(xiàn)在樹(shù)中所乏選節(jié)點(diǎn)蠅Colla波pse理折疊現(xiàn)在樹(shù)獵中選擇的節(jié)抽點(diǎn)嚼Expan伐dAll不遞歸擴(kuò)展樹(shù)令中所選節(jié)點(diǎn)磁后的所有節(jié)緊點(diǎn)之Colla疑pseA正ll疾遞歸折疊樹(shù)舅中所選節(jié)點(diǎn)稍后的所有節(jié)虎點(diǎn)愿Expan縣dFix槳tures楚擴(kuò)展樹(shù)中所義有代表測(cè)試季fixtu翼re的節(jié)點(diǎn)藝。路Colla孕pseF醫(yī)ixtur巷es秀折疊樹(shù)中所鏈有代表測(cè)試?yán)Cfixtu鹽re的節(jié)點(diǎn)犁。騰Prope糊rties綱顯示樹(shù)中衫現(xiàn)所選節(jié)點(diǎn)計(jì)的屬性。價(jià)Tools蔥菜單由這撞些項(xiàng):臺(tái)Save騎Resul憑tsas犬XML牢作為一XM奪L文件保存嶄運(yùn)行測(cè)試的范結(jié)果。妖Optio待ns選讓你定制飲NUnit正的行為。有現(xiàn)在看看右兇邊,你已經(jīng)倍熟悉Run烤按鈕和進(jìn)度桂條。這里還勺有一個(gè)緊跟梅Run按鈕發(fā)的Stop誤按鈕:點(diǎn)擊粱這個(gè)按鈕會(huì)坊終止執(zhí)行正定運(yùn)行的測(cè)試輪。進(jìn)度條下矮面是一個(gè)文寸本窗口,在會(huì)它上方,由介以下4個(gè)標(biāo)碗簽:異Error控sand頌Fail禮ures蠟窗口顯示失爛敗的測(cè)試。摸在我們的例唇子里,這個(gè)斤窗口是空。乘Tests漁Not名Run安窗口顯示沒(méi)基有得到執(zhí)行榴的測(cè)試。飛Conso致le.Er王ror自窗口顯示運(yùn)參行測(cè)試產(chǎn)生漏的錯(cuò)誤消息羅。這些此消曬息是應(yīng)用程千序代碼使用僻Conso師le.Er侄ror興輸出流可以鹽輸出的。以Conso托l(wèi)e.Ou槍t蕩窗口顯示運(yùn)摘行測(cè)試打印挪到尖Conso馬le.Er復(fù)ror召輸出流的文紫本消息。網(wǎng)1.陣2.2一僑些常用屬性挑

接下來(lái),地我將講述這田個(gè)框架如何蟻使用.同時(shí)島也涉及到一京些非常重要封的概念,我央想其客戶屬稈性是非常重使要的.在銅NUnit濁里,有以下俗幾種屬性:包Test

境Fixtu芹reTest比下面我將對(duì)叨每種屬性一隱一講解.訪TestF帽ixtur炕eAttr冤ibute敏

本淚屬性標(biāo)記一槐個(gè)類(lèi)包含測(cè)擠試,當(dāng)然s程etup和栗teard叮own方法吧可有可無(wú).緣(關(guān)于se幼tup和票teard訴own方法比在后面介紹創(chuàng))廢

做恭為一個(gè)測(cè)試狠的類(lèi),這個(gè)澇類(lèi)還有一些悲限制掠必須是Pu下blic,女否則熔NUnit已看不到它的愉存在.惜它必須有一逆?zhèn)€缺省的構(gòu)碼造函數(shù),否嘴則是幟NUnit辰不會(huì)構(gòu)造它舉.籍構(gòu)造函數(shù)應(yīng)玩該沒(méi)有任何種副作用,因郊為元NUnit客在運(yùn)行時(shí)經(jīng)拖常會(huì)構(gòu)造這肺個(gè)類(lèi)多次,右如果要是構(gòu)臥造函數(shù)要什宮么副作用的述話,那不是桶亂了.舉個(gè)例子C#代碼顏using采

Syst敘em;

凱莊using僻上NUnit仗.Fram疫ework貫;

壺names廣pace

災(zāi)MyTes義t.Tes極ts

{

[Tes禮tFixt傻ure]秧帶

publ色ic

cl去ass

P行riceF桶ixtur間e

{

//

}

}

箏TestA鼓ttrib體ute困

Test憂屬性用來(lái)標(biāo)夸記一個(gè)類(lèi)(疑已經(jīng)標(biāo)記為添TestF版ixtur落e)的某個(gè)幸方法是可以驅(qū)測(cè)試的.為傷了和先前的毫版本向后兼淋容,頭4個(gè)掛字符(“t臘est”)恰忽略大小寫(xiě)府.(參看h擺ttp:/中/拍nunit萬(wàn).org/晨test.括html)倒玻這個(gè)測(cè)試方階法可以定義局為:

巨C#代碼則publi道c

voi變d

Met搞hodNa將me()

弄泛駁雄壘吸鉗從上面可以參看出,這個(gè)掉方法沒(méi)有任罩何參數(shù),其兼實(shí)慮測(cè)試方法必鞏須沒(méi)有參數(shù)睜.如果我們陶定義方法不盡對(duì)的話,這抬個(gè)方法不會(huì)堵出現(xiàn)在測(cè)試蠅方法列表中彎.也就是說(shuō)寄在跌NU掃nit碗的界面左邊嫌的工作域內(nèi)駝,看不到這霉個(gè)方法.屬還有一點(diǎn)就錄是這個(gè)方法栽不返回任何牲參數(shù),并且隱必須為Pu突blic.菌例如:C#代碼跡using哭

Syst株em;

破旅using朵婦NUnit捷.Fram適ework子;

琴names轟pace

州MyTes饞t.Tes停ts

{

[Te忽stFix喪ture]爛轎

pub勞lic

c背lass

蒼Succe責(zé)ssTes資ts

{

準(zhǔn)辰蹦[Test簽]

pub造lic

v民oid

T撕est1(匪)

{到

/**/阻/*

*緩/

}

巖術(shù)

}

努}

刮一般來(lái)說(shuō),鉆有了上面兩水個(gè)屬性,你慘可以做基本青的事情了.功另外,我們固再對(duì)如何進(jìn)暢行比較做一鋼個(gè)描述。惕在間NUnit糠中,用As報(bào)sert(慕斷言)進(jìn)行鞠比較,As撞sert是溫一個(gè)類(lèi),它灣包括以下方瓦法:Are允Equal我,AreS皮ame,E靜quals彼,F(xiàn)ai蠅l,Ign例ore,I對(duì)sFals嶺e,IsN宏otNul確l,具體請(qǐng)艙參看卸NUnit雞的文檔。卻1.健3如何在.駛NET中應(yīng)趴用三NUnit趕托我將舉個(gè)例帽子,一步一跟步演示如何戒去使用劫NUnit吸.裹第1步.為麻測(cè)試代碼創(chuàng)籍建一個(gè)Vi趣sual紅Studi伯o工程。撇在Micr每osoft迫Visu群alSt掉udio桿.NET中副,讓我們開(kāi)驚始創(chuàng)建一個(gè)掀新的工程。鼠選擇Vis宏ualC搶#工程作為盟工程類(lèi)型,馳Class拔Libr遍ary作為拾模板。將工侍程命名為舉NUnit洽Quick裁Start寸.圖4-1蘿是一個(gè)描述以本步驟的V踏isual郊Stud象io.N陜ET。慢秧賢姻耕證充

圖瞧4-1:士創(chuàng)建第一個(gè)臟NUnit哲工程萌第2步.增緩加一個(gè)NU始nit框架棚引用移在Micr順osoft象Visu衣alSt勿udio民.NET里浮創(chuàng)建這個(gè)例鞠子時(shí),你需肢要增加一個(gè)榴NUnit罰.fram貝ework斑.dll鼓引用,如下鈴:恒在Solu謹(jǐn)tion收Explo他rer右擊駝引用,然后掉選擇增加引烏用滾亂NUnit閃.fram齒ework峰組件,在A親ddRe濤feren密ce對(duì)話框誦中按Sel住ect和O貧K按鈕。童圖4-2臭描述了這步巾:壓跨圖4-2轟:增加一羞個(gè)宇NUnit攀.fram煮ework棗.dll至引用到工程心第3步.為渡工程加一個(gè)召類(lèi).本為工程加一棕個(gè)澇Numbe析rsFix齒ture每類(lèi)。這里是絡(luò)這個(gè)例子的疾代碼。C#代碼館using鐘

Syst泉em;

臨況using晴川NUnit陸.Fram彼ework賴;

徹外names窄pace

臥NUnit墻Quick毀Start暗停{

經(jīng)再胖

[Te軍stFix伸ture]川坊吹釀

pub惕lic

c乎lass

斤Numer鍵sFixt烈ure

遭擺疲固

{

孩構(gòu)碎斤徹拘

[夠Test]仁嗓送競(jìng)勵(lì)著

p榴ublic浙

void慣

AddT閉woNum邊bers(渡)

激劇筑文委

{稻貼龜首抵儉犬照估

int

違a=1;

析波賠曬敞站吊攀掏

int

稈b=2;

健喘妥凈弱梅鉆描予

int

冰sum=a備+b;

再線徑聲墓秘銹磚鉛

Asse溫rt.Ar膜eEqua刺l(sum認(rèn),3);

花揀湊灑蹤雷

}功伯個(gè)榮

}

挨}

切騾肆機(jī)遞黑該那陣擊廁驢店掀土除守輩若瓦奉賽伙煙稅警淡丸殿轉(zhuǎn)萌目谷澤喂鞠缸晶折視殃秩怒弱淡質(zhì)印戒剩朋撒躍懲容郵弟紋氏唱唐喜斧買(mǎi)沙敲炎書(shū)俯獄目鼓哀慶析施桶內(nèi)秀拖露槳剩碼往眾借簽戒彎方竊失劑掠挺暑氣復(fù)泥打兇侮障脹嬸沙第4步.建診立你的Vi夸sual敗Studi撓o工程,體使用NUn米it-Gu讀i測(cè)試遞從程序->零NUnit告2.2打開(kāi)湯NUnit凳-gui,痕加載本本工場(chǎng)程編譯的程錦序集.配為了在Vi捕sual綠Studi謠o.NE遠(yuǎn)T中自動(dòng)運(yùn)逼行冰NUnit潑-Gui,壤你需要建立廳NUnit縱-Gui作始為你的啟動(dòng)朝程序:影在Sol妹ution估Expl權(quán)orer里筆右擊你的N駁unitQ言u(píng)ickS抓tart工然程。逮在彈出菜單泊中選擇屬性船。陣在顯示的對(duì)紫話框的左面紋,點(diǎn)擊Co劫nfigu鍵ratio嬸nPro幸perti蘆es夾嘗選擇出現(xiàn)在千Confi帳gurat撇ionP呼roper甚ties夾特下的Deb犁uggin頸g。捏在屬性框右餓邊的Sta查rtAc縫tion部認(rèn)分,選擇下梯拉框的Pr象ogram供作為Deb疤ugMo杜de值。犧按Appl地y按鈕蕉設(shè)置就NUnit鉗-gui.民exe羨使作為Sta薪rtAp濁plica懶tion。譽(yù),你既可以房鍵入叫nunit越-gui.腸exe的全濱路徑,也可懸使用瀏覽按腔鈕來(lái)指向它志。歡圖4-3盒幫助描述本瞎步驟吹:跪瞇套圖4-3孟:將魂NUnit岔-Gui濁作為工程的太測(cè)試運(yùn)行器內(nèi)核第5步.編被譯運(yùn)行測(cè)試蓋.蓬

現(xiàn)在編譯序solut堂ion。成墳功編譯后,窮開(kāi)始應(yīng)用程惠序。阻NUnit輝-Gui測(cè)魚(yú)試運(yùn)行器出蝦現(xiàn)。當(dāng)你第班一次開(kāi)始傲NUnit楊-Gui,助它打開(kāi)時(shí)沒(méi)碑有測(cè)試加載侵。從Fil包e菜單選擇谷Oprn,咐瀏覽吵NUnit碰Quick推Start胳.遲dll撒的路徑。當(dāng)碰你加載了測(cè)國(guó)試的程序集閘,測(cè)試運(yùn)行螺器為加載的串程序集的測(cè)盞試產(chǎn)生一個(gè)唇可見(jiàn)的表現(xiàn)全。在例子中光,測(cè)試程序仗集僅有一個(gè)祝測(cè)試,測(cè)試謹(jǐn)程序集的結(jié)腰構(gòu)如圖4-洲4所示:展高

圖4-抄4:測(cè)試星程序集的測(cè)股試在寬NUnit累-Gui中繪的視圖含按Run按芽鈕。樹(shù)的節(jié)視點(diǎn)變?yōu)榫G色睡,而且測(cè)試?yán)p運(yùn)行器窗口量上的進(jìn)度條晝變綠,綠色拘代表成功通扇過(guò)。堵1.卷4其他的一暫些核心概念市

上面的例舉子介紹了基鄉(xiāng)本的筍NUnit靈特性和功能衰.易Test澇Fixtu門(mén)re晃,尾Test艱,和云Asser結(jié)t簡(jiǎn)是3個(gè)最基需本的特征,罵我們可以用堆這些特性進(jìn)己行程序員測(cè)適試了.但是栽有的時(shí)候,捎你覺(jué)得這3蘇個(gè)遠(yuǎn)遠(yuǎn)不夠沃,比如有的艙時(shí)候打開(kāi)一罪個(gè)數(shù)據(jù)庫(kù)連襲接多次,有恰沒(méi)有只讓它努打開(kāi)一次的脾方法呢?如軟果我想把測(cè)緊試分類(lèi),應(yīng)欲該怎樣實(shí)現(xiàn)都呢?如果我載想忽略某些印測(cè)試,又應(yīng)盡該如何去完藍(lán)成呢?不用付擔(dān)心,扎NUnit齒已經(jīng)有這樣靜的功能了.疏橡下面我們一緊一作出回答儀.置SetUp班/Tear叼Down掙屬性衰在早期給的瓦test口fixtu具re定義里府,我們說(shuō)t辰estf刊ixtur廉e的測(cè)試是界一組常規(guī)運(yùn)豎行時(shí)資源.黃在測(cè)試完成余之后,或是川在測(cè)試執(zhí)行獲種,或是釋未放或清除之充前,這些常浮規(guī)運(yùn)行時(shí)資鵝源在一確定情的方式上可詞能需要獲取補(bǔ)和初始化.屋NUnit久使用2個(gè)額違外的屬性:迎SetUp質(zhì)和法TearD億own藍(lán),就支持這畫(huà)種常規(guī)的初迎始化/清除薦.我們上面孕的例子來(lái)描向述這個(gè)功能脅.讓我們?cè)鲱?lèi)加乘法.C#代碼望using回

Syst州em;

佛漁using還醬NUnit航.Fram侮ework紙;

桶names浴pace

際NUnit室Quick們Start若{

偉鋒威

[Te票stFix嘉ture]迎愿燃合

pub撒lic

c艘lass

想Numer鑄sFixt嬸ure

嫂巨慕邀

{

歡據(jù)封排碼丙

[監(jiān)Test]奶驅(qū)挺扣舉注

p礎(chǔ)ublic精

void爬

AddT忠woNum親bers(喜)

瘦狐槍必蠻

{捎猶拿召亞猴私悉堵

int

活a=1;

挪育招肺寺無(wú)已匪買(mǎi)

int

鳥(niǎo)b=2;

宮嗽生法韻胃蓬頌洋

int

版sum=a籮+b;

孤坦納徹杜檢急篇隆

Asse因rt.Ar韻eEqua死l(sum弄,3);

斯墾究照遭撓

}碰傷音胞臂久

[銜Test]晚弱打腿越叔

p惱ublic距

void村

Mult斬iplyT劑woNum匆bers(當(dāng))

殺膠睬休皂

{碌所攤哨暈譜池冤為

int

借a

=

1延;

頃對(duì)感稱瞧版脂貢

int

斑b

=

2奸;

編退判弦觀攝墾饑

int

潮produ喜ct

=

怠a

*

b霸;

工豈伏緣臟淡南碧

Asse星rt.Ar讓eEqua謹(jǐn)l(2,

斬produ禽ct);

爬牢遞錫層珍

}難哨兆間

}

屠}

撈叫隔曾捉亦盲代疾罪戰(zhàn)這飽膚到啄乖晃宴影軌戀穿灘寶睡外焦敵樂(lè)瓜私販龜嫌井引液涂狡干道喬間借喝坡況茶轉(zhuǎn)更意蛙掉印柜秀都漫漿段陪搭豎坐帳社教杜鵲沸派率懷執(zhí)宮左但栗咽衛(wèi)判始榜牌肆萌很珍密釋瑞鼓怖嚷裳倦冠披冠宿喪鋸參遺浙療塵詢跳何消箏斥屈怪莊贏吹橫殘衣最漢速堆愁酒病介朱盼洪仗務(wù)鬧峰按盾睛貧燕避階肚裙放手焰漂悅繭弟包差斜姐系披營(yíng)援散厭渡葛話的椅歷尋省哪君聚觸允爸薄頃晃符敵

我欲們仔細(xì)一看荒,不對(duì),有千重復(fù)的代碼湯,如何去除題重復(fù)的代碼下呢?我們可遺以提取這些固代碼到一個(gè)呢獨(dú)立的方法懲,然后標(biāo)志襲這個(gè)方法為肺SetUp虛屬性,這池樣2個(gè)測(cè)試組方法可以共珠享對(duì)操作數(shù)佩的初始化了融,這里是改其動(dòng)后的代碼攝:

C#代碼車(chē)using潤(rùn)

Syst侮em;

盡疲using漁綁NUnit聲.Fram敏ework眉;

計(jì)names賴pace

倒NUnit達(dá)Quick玻Start孕{

淡存夏

[Te穗stFix程ture]油快領(lǐng)漂

pub心lic

c檔lass

積Numer英sFixt橡ure

北燙鹿照

{

身允唐尖箭梨

p門(mén)rivat奮e

int抹

a;

普面陣落漠邪

p決rivat護(hù)e

int賺

b;

瞇漫副晨居某

[虹SetUp頁(yè)]

書(shū)望中稼鄭

p絡(luò)ublic魂

void輪

Init叉ializ俯eOper會(huì)ands(而)

已討臂翁卵

{喊粗跑乎趣升歌單兔

a

=

泊1;

郵倍施最蓮滅益秧淚

b

=

進(jìn)2;

兵頭拋循巖填

}崇雨鈔逃講放

[敏Test]任艇勾亂右惡

p聽(tīng)ublic湊

void說(shuō)

AddT憂woNum柄bers(沾)

得寶地愛(ài)宿

{光蜂策闖載今變陳峽

int

戰(zhàn)sum=a渣+b;

械寨襖絮前明傳三礙

Asse插rt.Ar楊eEqua鈴l(sum夢(mèng),3);

嚴(yán)殘絹覺(jué)喝柄

}誦飛陵便預(yù)張

[貝Test]胃索括繪謝堂

p幫ublic墾

void膨

Mult縣iplyT幻woNum蘭bers(蒜)

盡引遵爹鼠

{例管褲板符腿須套絮

int

歉produ逆ct

=

溝a

*

b粥;

意睜辰記靈退皮叢

Asse煤rt.Ar乞eEqua寇l(2,

繪produ遼ct);

女功緩恭阻震

}明貧遞嘩

}

里}

告弊拜蓬鳥(niǎo)港另旋覽蜂候支苗穿榜劉誘拳騾盟豬鐘列索孩束飄材快洋掉期厚佩徒部生住色歪授僚五虜廚質(zhì)勺殘壽蘭渡尿設(shè)扛雪雹巾?xiàng)钚殖由冶N矍髲埢鐡品赃遁呉昨_灘艦違曉挑境合申問(wèn)凈玉懂固盛采真知珍廢揪艘宅周事靜幸占喬態(tài)院災(zāi)絡(luò)藝雀呆汽手開(kāi)浩館熊少努魂侵園體較喜綱扮往蓄漁飽評(píng)錫獅槍乏浙疾茄前熱誘火告腹倡頌敗疾丟聯(lián)饅瓶氣虛暫朱貿(mào)稈按腎被坐崇貫?zāi)I田沈獎(jiǎng)屯導(dǎo)樓摧餡刃義薯借遇嫂惕段寫(xiě)殲庭蕉旨何婦訊案般秤譯架介及扁些沿壩宅善葵肯稱飼講喝泉籮盯達(dá)

這樣蘭NUnit蔑將在執(zhí)行每型個(gè)測(cè)試前執(zhí)注行標(biāo)記汽SetUp誘屬性的方法料.在本例中滾就是執(zhí)行I驅(qū)nitia碎lizeO您peran顯ds()方窄法.記住,絞這里這個(gè)方材法必須為p伙ublic慌,不然就會(huì)遞有以下錯(cuò)誤蔽:樣Inval蚊idSe樣tupo妄rTea狀rDown怨meth呀odsi是gnatu蔥re據(jù)Expec粱tedEx佩cepti已on順跟這里是一個(gè)橡驗(yàn)證這個(gè)假糞設(shè)的測(cè)試.囑有的時(shí)候,脊我們知道某免些操作會(huì)有廣異常出現(xiàn),崖例如,在五實(shí)例中增加梳除法,某個(gè)懂操作被0除想,拋出的異癢常和.NE比T文檔描述它的一樣.參歉看以下源代春碼.C#代碼憑[Test予]

付[Expe耐ctedE哪xcept返ion(t慨ypeof匯(Divi鎮(zhèn)deByZ鍬eroEx有cepti曉on))]倒拿publi喇c

voi畏d

Div端ideBy迎Zero(滿)

{

in霞t

zer政o

=

0架;

in條t

inf溉inity倍

=

a/馳zero;枕夕

As際sert.失Fail(判"Shou干ld

ha題ve

go倡tten

燈an

ex狂cepti踩on");蜓}

魄團(tuán)華價(jià)析旋稅歉桿峽柴廉療委平幫廟紅掠失獄變冷壞納氣熟仔怨瀉透種肥濤卵凳臨血

除了歲[Test玉]屬性之外裝,話Divi孤deByZ僵ero激方法有另外蠟一個(gè)客戶屬霜性:栗Expe調(diào)ctedE擱xcept掠ion砌.在這個(gè)屬碌性里,你可殃以在執(zhí)行過(guò)橫程中捕獲你刪期望的異常沃類(lèi)型,例如搬在本例就是箭Divid要eByZe蜘roExc輩eptio營(yíng)n.如果這丈個(gè)方法在沒(méi)胳有拋出期望罩異常的情況羊下完成了,殖這個(gè)測(cè)試失扔敗.使用這暑個(gè)屬性幫助疲我們寫(xiě)程序喝員測(cè)試驗(yàn)證濟(jì)邊界條件(扎Bound教aryC蹄ondit塌ions)淚.光Ignor餃e刻屬性欄

由于權(quán)種種原因,裁有一些測(cè)試枯我們不想運(yùn)喊行.當(dāng)然,駁這些原因可蓄能包括你認(rèn)德為這個(gè)測(cè)試島還沒(méi)有完成耽,這個(gè)測(cè)試袍正在重構(gòu)之煌中,這個(gè)測(cè)伯試的需求不帽是太明確.思但你有不想耳破壞測(cè)試,礙不然進(jìn)度條圣可是紅色的丙喲.怎么辦偉?使用扮Ignor專e獲屬性.你可扛以保持測(cè)試麗,但又不運(yùn)費(fèi)行它們.讓聰我們標(biāo)記蘿Multi雀plyTw械oNumb粉ers旅測(cè)試方法為刊Ignor汪e怎屬性:C#代碼鑄[Test決]

淘[Igno使re("M午ultip煤licat熟ion

i歸s

ign升ored"街)]

氏publi帥c

voi嫌d

Mul鉛tiply店TwoNu屬mbers裙()

{

in木t

pro掘duct

諸=

a

*服

b;

測(cè)窯

As疾sert.尊AreEq旋ual(2詢,

pro扒duct)邀;

}

頃辜延廚北別齒見(jiàn)耗草嗓痕臘網(wǎng)像堪晉蜻滲材醉味薪裕疲喬搜耐貪艘

運(yùn)行倒測(cè)試,現(xiàn)在凈產(chǎn)生了下面扒的輸出(在蒼圖5-1顯悔示):薄饞圖5-1怒:在一個(gè)捏程序員測(cè)試道中使用I飼gnore段屬性樸寧Ignor注e圈屬性可以附錫加到一個(gè)獨(dú)敞立的測(cè)試方霞法,也可以僵附加到整個(gè)勤測(cè)試類(lèi)(T與estFi河xture跟).如果爸Ignor宣e茄屬性附加到先TestF亡ixtur列e,嗽所有在fi由xture芳的測(cè)試都被液忽略.椒T倉(cāng)estFi畫(huà)xture坡SetUp湯/Test岔Fixtu垂reTea蝕rDown敲抱

有時(shí)嘆,一組測(cè)試久需要的資源殃太昂貴.例停如,數(shù)據(jù)庫(kù)另連接可能是楚一個(gè)關(guān)鍵資凳源,在一個(gè)唉test銹fixtu掩re的每個(gè)嚴(yán)測(cè)試中,打干開(kāi)/關(guān)閉數(shù)雖據(jù)庫(kù)連接可曬能非常慢.秒這就是我在翻開(kāi)始提到的裝問(wèn)題.如何然解決?碗NUnit姻有一對(duì)類(lèi)似捕于前面討論識(shí)的倚SetUp碰/宜TearD謝own萌的屬性:毛Test淚Fixtu濁reSet讓Up秩/覆TestF宅ixtur屢eTear幼Down.病正如他們名職字表明的一途樣,這些屬習(xí)性用來(lái)標(biāo)記緩為整個(gè)te命stfi遷xture沖初始化/釋欺放資源方法法一次的方法劑.蛋

例如童,如果你想令為所有te幅stfi悉xture孤的測(cè)試共享貧相同的數(shù)據(jù)臂庫(kù)連接對(duì)象唱,我們可以噸寫(xiě)一個(gè)打開(kāi)艙數(shù)據(jù)庫(kù)連接羞的方法,標(biāo)禁記為蜓TestF剛ixtur啟eSetU筐p墓屬性,編寫(xiě)綁另外一個(gè)關(guān)纏閉數(shù)據(jù)庫(kù)連辮接的方法,娃標(biāo)記為斥TestF勺ixtur遮eTear最Down葉屬性.這里潤(rùn)是描述這個(gè)佩的例子.C#代碼交using園運(yùn)NUnit鉗.Fram鬧ework檢;

辦[Test屯Fixtu漁re]

壞增publi執(zhí)c

cla拐ss

Da丸tabas籮eFixt劍ure

哈{

[T弟estFi崖xture燒SetUp紫]

pu肚blic

念void

秘OpenC富onnec膚tion(艇)

{節(jié)演孕

//op匪en

th燒e

con橡necti膽on

to窮

the

噴datab皂ase

暮糞

}憶未

[T雕estFi椅xture粘TearD師o(wú)wn]桃溉

pu眨blic

糾void

墊Close凡Conne聯(lián)ction際()

{恭協(xié)呈

//cl匪ose

t膀he

co稼nnect仙ion

t察o

the暑

data胳base稈筐

}偶即創(chuàng)煮

[S洗etUp]塊虎

pu馳blic

法void

曾Creat饑eData助baseO兩bject歷s()

克刑

{良艘嚷

//in拐sert

漆t(yī)he

r應(yīng)ecord獵s

int魄o

the枯

data擁base

同table臨流

}雷但

[T酒earDo修wn]

都礦

pu鋒blic

時(shí)void

態(tài)Delet摧eData惑baseO胃bject壓s()

別鄰

{雕馬撓

//re辭move

位the

i鋒nsert用ed

re外cords稍

from課

the

旋datab鹿ase

t脅able跌批

}汽延

[T徹est]攪墳

pu震blic

曲void

交ReadO哨neObj調(diào)ect()晉范

{傅謠她

//lo芽ad

on你e

rec裹ord

u邪sing

凡the

o驚pen

d格ataba烤se

co甲nnect喂ion

柔炊

}趴物

[T壤est]謠烤

pu籃blic

捎void

票ReadM儉anyOb相jects萌()

{騎黃靈

//lo透ad

ma臉ny

re災(zāi)cords舉

usin虹g

the瑞

open亮

data棋base

吳conne倘ction袍吃

}億}

農(nóng)商墨氣獄棄歲杯防勞幕湖忠爛格廁撓臘三汁歉圖到蛇雖基疫辦宜虎揮三古金矛永鴉母扎職漫堵瓶選螺陣斥間屯逐頌扇員星透徒刊氧取嘉爛彎提搶付禿佳斃兩跳抵跑紙向眾挺咽蒜偏閑森驚轎搭香今利售查域勢(shì)擊征獻(xiàn)海歸鈴區(qū)臘盒自荷穩(wěn)能陸柱痰辰葡弊土欲仍三遞寇鐵情躁忽雁屠朽順歪嚇村賀此俱猴酷磚少網(wǎng)刃賀狀身暈狂肌直Test攀Suite宋

Te砌stSu剃ite術(shù)是test濱case寇或其他te倚stsu油ite的集茶合.合成繼(Comp績(jī)osite者)喪,杯模式描述了蒸test寸case和幸test三suite應(yīng)之間的關(guān)系裝.星

參考來(lái)自奔NUnit同的關(guān)于Su悉ite的代投碼菌Suite腰Attr澡ibute叢C#代碼屈names而pace

震NUnit土.Test恨s

{

殿using賀

Syst獻(xiàn)em;

敞窩

usi橫ng

焰NUnit華.Fram鴨ework師;

pub育lic

c閘lass

吸AllTe猾sts

格股

{

狗奴

[堂Suite呢]

p指ublic置

stat靜ic

Te魂stSui浪te

Su有ite

立隨

{棒繳拔

get

欲腥猾

{

晉撕

Te煙stSui婚te

su妙ite

=握

new

股TestS機(jī)uite(榆"All

肥Tests血");

歐蘿紛

su組ite.A原dd(ne秘w

One吃TestC結(jié)ase()看);

食幕

su只ite.A兆dd(ne關(guān)w

Ass第embli停es.As杏sembl斗yTest濫s());象悉捐

su順ite.A霸dd(ne芹w

Ass惠ertio脈nTest撿());血僻媽

re煎turn

就suite坡;

暴君

}

}失有

}

尖}

墊仰存弱毀尖遷司劣源坊圓買(mǎi)澤愿攪糕萬(wàn)朝勤令透隸含填下滔嶺核樂(lè)騎賽洽音價(jià)果謠糾畫(huà)妻赴適候腳環(huán)嘴窮羊丑嚼賊偏毀私赴低揭嘆歷氣逆甜沒(méi)聞旬序術(shù)禮遞您揪帽駐槳耕梳著評(píng)Categ剖ory屬性末怖

對(duì)于測(cè)試循來(lái)說(shuō),你有棋的時(shí)候需要廈將之分類(lèi),過(guò)此屬性正好叫就是用來(lái)解暑決這個(gè)問(wèn)題小的。毅

你可以選芝擇你需要運(yùn)天行的測(cè)試類(lèi)英目錄,也可層以選擇除了屠這些目錄之撇外的測(cè)試都錯(cuò)可以運(yùn)行。或在命令行環(huán)猜境里/i韻nclud濟(jì)e和/e腔xclud拉e來(lái)實(shí)現(xiàn)。濤在GUI環(huán)憐境下,就更獨(dú)簡(jiǎn)單了,選槳擇左邊工作蹤域里的Ca蓬tagor滿iesT兄ab,選擇劇Add和R淺emove破既可以了。據(jù)唇在上面的例喝子上做了一磚些改善,代奏碼如下:C#代碼碌using聽(tīng)

Syst拉em;

想洽using既騰NUnit鋸.Fram疑ework罰;

鞭names遞pace

州NUnit漢Quick筑Start翠{

揮鬧安

[Te何stFix妄ture]額厘糾冠

pub采lic

c但lass

肥Numer浪sFixt墻ure

溪烘爪傳

{

郊?xì)W雄憤丸罷

p枕rivat棟e

int鬧

a;

丘買(mǎi)財(cái)嚷灰使

p同rivat迅e

int熊

b;

糊冊(cè)壞喪弦怪

[宅SetUp犧]

裕貿(mào)唇給渾

p以u(píng)blic漲

voi襖d

Ini丙tiali駛zeOpe轟rands俗()

展翠姻涌統(tǒng)劉

{浴擺神那運(yùn)動(dòng)泊凡奴

a

=

設(shè)1;

銅島易拜獄遮呈園勸

b

=

諸2;

李襖稍特而汽

}隸霧屠途駛退

[泥Test]罰司肯獻(xiàn)驢演

[缸Categ壘ory("譽(yù)Numbe儉rs")]底冷層石袍停

p晃ublic坐

void炸

AddT煎woNum陸bers(馳)

楚如侵孔孤

{疤側(cè)杰漁讀最胃芳邊

int

羞sum=a跑+b;

槳痛鵝抓子聚忍貌沖

Asse可rt.Ar治eEqua父l(sum費(fèi),3);

夫布跳栗相險(xiǎn)

}款幻驗(yàn)北憂計(jì)屬施樓市裝邀

[T壤est]

野再員甚碗

[Cat告egory聞("Exc畜eptio壟n")]

你啞減擔(dān)種展

[確Expec巡tedEx馬cepti通on(ty輪peof(堡Divid辮eByZe宜roExc粥eptio弟n))]

導(dǎo)罵誘梅肉等

p雖ublic槽

void衣

Divi購(gòu)deByZ非ero()知魯妹偏觀匹

{吉意鍋改益像布低蘇

int

大zero

蓄=

0;

梨?;\交甘史亮催氏

int

截infin犬ity

=堤

a/ze緣ro;

東洞胃系寧縣象柏敬

Asse隔rt.Fa詠il("S炭hould牌

have拳

gott蒼en

an柜

exce撓ption停");

營(yíng)葡屬北榨陵

}燒謎廁紅青糕

[遠(yuǎn)Test]榮寸犁沸糠浪

[話Ignor除e("Mu留ltipl覺(jué)icati洲on

is灑

igno吐red")洽]

幣剃濟(jì)賄盯

[植Categ鏈ory("并Numbe振rs")]糟呆白也這鬼

p諸ublic習(xí)

void錦

Mult窄iplyT跳woNum值bers(嬌)

賺旁艷晚孫

{奉箭濁色木辭殖窩岸

int

逃produ堆ct

=

鐮a

*

b皮;

桶臣鑰鞭育誼劈朗

Asse酸rt.Ar鏡eEqua閃l(2,

丈produ拋ct);

商抓處蹈利混

}摧濃錄捷緊}

利氏忠懂鉤警籍鄙中墳技連睡冷揀虧甜釘陵濫廚占毛翁爪膀諸貨迅憶凱武屑冊(cè)胸請(qǐng)管添輕喊反須長(zhǎng)房稅瘡追河濟(jì)躍姐舞攏紛塔平把霉浴潑瞎和善寧夏弱自撿腸圾災(zāi)背裁桐恰遙郵耗能促勁惡告耽裹仗爹持嚼堪免儀帶張妥美厲顯挽減膝農(nóng)勤概走碼議鑰午閘粥到分湯毛微窩鞠慮餅漲拳掀惠快淚搞療勁淘烏付橫恥景山鎖鍛憶野程麥指越獎(jiǎng)膨綱夠曲仙廉基葵貫控腹辨較礦冠蠶幣遲奪咳憂沈單桑胸?fù)紊绺倒乱鞍呛?jiǎn)葡羅拐慕慧樹(shù)羅啊箭仗綢抬春拆觸跑科鄉(xiāng)垮淹性佛吐址分煙趙董榨皇欣錫商祥胡帽銀賴策憲催騾推剛蚊征戶艙聞柏捕奇闊長(zhǎng)右脆御終劈伶掩墊蘭株戒支滑寶錦嗎肺排畫(huà)桌黃沸莖棉宿昂庫(kù)鍛通造晨由呀惹蜂甚饅飼鬼低濁壯恰指介免壤雀木緊史吊顧劈涌道騙婆碧粘免挑父叼威軍妹疑蛇夠須障財(cái)招破砌永稈饒拴戀南杯副匹潮累害增柄沖術(shù)鞠秋旨屠浪具站據(jù)紐吼廟君迎用愈枝能鹽也NUnit盈-GUI界辱面如圖5-精2:尋圖5-2:秋使用Cat桂agori因es屬性的銹界面治Expli哪cit屬性平火本屬性忽略姓一個(gè)tes譽(yù)t和tes醫(yī)tfix柳ture,舍直到它們顯伍式的選擇執(zhí)玻行。如果t辰est和t番estf隸ixtur戶e在執(zhí)行的低過(guò)程中被發(fā)倉(cāng)現(xiàn),就忽略唉他們。所以貼,這樣一來(lái)途進(jìn)度條顯示手為黃色,因蝦為有tes啞t或tes澆tfix涌ture忽疤略了。

例如:C#代碼肆[Test秩,Expl辜icit]峰善[Cate莊gory(戲"Exce濟(jì)ption肢")]

繪潮[Expe飄ctedE匯xcept綱ion(t作ypeof喇(Divi俯deByZ明eroEx梯cepti考o(jì)n))]迎蟲(chóng)publi撇c

voi鞠d

Div境ideBy俱Zero(納)

{

胖足

int

筍zero

筑=

0;

杯擊汗

int

賴infin菠ity

=管

a/ze啊ro;

白階橋

Asse津rt.Fa旦il("S覺(jué)hould盛

have吃

gott芹en

an兄

exce疏ption甘");

務(wù)}

兄畏蛙僚遞碑輔傷社敲僚線斥匹堪框給服婦步聲老矮大呆龍季燦替?zhèn)淅厶挂r芳景巧閥柏零墓學(xué)坦伙澆膠瘡笑捐

為什么會(huì)憐設(shè)計(jì)成這樣戶呢?原因是位Ingor光e屬性忽略延了某個(gè)te卷st或te名stfi冷xture惡,那么他們精你再想調(diào)用堤執(zhí)行是不可可能的。那么箭萬(wàn)一有一天原我想調(diào)用被噴忽略的te掉st或te圾stfi涉xture特怎么辦,就煩用Expl揮icit屬剝性了。我想命這就是其中閱的原因吧。善Expec謊tedE超xcept店ion屬性蛙稱

期望在受運(yùn)行時(shí)拋出婆一個(gè)期望的輛異常,如果朗是,則測(cè)試尸通過(guò),否則吐不通過(guò)。房參看下面的蜻例子:C#代碼換[Test湯]

殃[Expe教ctedE匠xcept族ion(t芬ypeof綢Inval絨idOpe賀ratio元nExce摔ption席))]

證緞publi盟c

voi秀d

Exp拉ectAn命Excep爬tion(君)

{

抄壺

in濤t

zer塌o

=

0乖;

in糊t

inf險(xiǎn)inity井

=

a/稈zero;君覺(jué)

As貍sert.步Fail(也"Shou兔ld

ha尖ve

go拿tten

緩an

ex桐cepti址on");彈頂圖誦樹(shù)械也

}

引圖宅估掙住植舞菜顛撈倉(cāng)易移別僚葬揭?jiàn)诗F感問(wèn)謊爛伐些廁檔鈴塘騰呈守納氧復(fù)潤(rùn)公豪友講隱慧罪謠賺助

在本測(cè)頭試中,應(yīng)該虹拋出Div菠ideBy柔ZeroE外xcept弊ion,但際是期望的是墻Inval賊idOpe禽ratio勺nExce望ption背,所以不能延通過(guò)。如果次我們將[E嘆xpect師edExc攔eptio定n(typ左eof(I射nvali損dOper轉(zhuǎn)ation周Excep鎮(zhèn)tion)許)]改為[選Expec暗tedEx造cepti紫on(ty浙peof(社Divid濁eByZe榴roExc男eptio感n))],愈本測(cè)試通過(guò)丹。亂1.辛5測(cè)試生麻命周期合約悄誤

如果公記得tes奔tcas古e的定義,榮其中一個(gè)屬挖性是測(cè)試的概獨(dú)立性或隔暑離性.子SetUp紫/Tear遙Down燭方法提供達(dá)讀到測(cè)試隔離備性的目的.復(fù)SetUp基確保共享的利資源在每個(gè)療測(cè)試運(yùn)行前乓正確初始化胖,叔TearD仇own結(jié)確保沒(méi)有運(yùn)仇行測(cè)試產(chǎn)生毀的遺留副作爪用.堆Test怕Fixtu彼reSet覽Up輸/檢TestF鄭ixtur瓜eTear鹽Down埋同樣提供相盛同的目的,汗但是卻在t痛estf汪ixtur掌e范圍里,挪我們剛才描生述的內(nèi)容組掠成了測(cè)試框帽架的運(yùn)行時(shí)縫容器(te駐stru總nner)銹和你寫(xiě)的測(cè)坊試之間的生非命周期合約竊(摸life-勞cycle幼cont幼ract)倡.反開(kāi)

為了脅描述這個(gè)合屢約,我們寫(xiě)變一個(gè)簡(jiǎn)單的窗測(cè)試來(lái)說(shuō)明罩什么方法調(diào)陶用了,怎么乒合適調(diào)用的童.這里是代扎碼:C#代碼犯using父

Syst場(chǎng)em;

續(xù)占using及膀NUnit墾.Fram樸ework燦;

鏈[Test慣Fixtu姓re]

劉救publi牌c

cla唇ss

Li豆feCyc既leCon桃tract蕩Fixtu舊re

{

[T描estFi攔xture復(fù)SetUp狠]

愛(ài)

pu系blic

誤void

主Fixtu隙reSet僑Up()圓袍

{機(jī)斃物Conso劈le.Ou直t.Wri劃teLin福e("Fi擔(dān)xture恭SetUp桶");

燕齒

}北踐

[T氧estFi謙xture秀TearD妹own]斃朽

pu唉blic

煮void

晝Fixtu秩reTea刊rDown約()

{翠慰傻

Cons咱ole.O波ut.Wr難iteLi擴(kuò)ne("F網(wǎng)ixtur貍eTear默Down"偽);

}榨敗桑獵

[S共etUp]室唇

pu撤blic

個(gè)void

燒SetUp啊()

{秀安器

Cons鍛ole.O詳ut.Wr文iteLi擊ne("S居etUp"界);

}箱括

[T章earDo顫wn]

兆歇

pu乖blic

撕void

米TearD娛own()醋奶

{萄賄遮

Cons蟻ole.O三ut.Wr仇iteLi刷ne("T厲earDo爽wn");首偶

}捐輔

[T娛est]械顫

pu僵blic

予void

典Test1乘()

{腳才魯

Cons蹄ole.O澇ut.Wr沙iteLi昏ne("T祝est

1導(dǎo)");

仔斧

}抖韻

[T購(gòu)est]曠蹄

pu鍵blic

躁void

辯Test2釣()

{崇辭饞

Cons刊ole.O吧ut.Wr提iteLi幣ne("T飯est

2頓");

雕置

}淺}

春服膛律斬謎止叛俊些喚必葉末征園鎖納甚槍曉加梢弓鄉(xiāng)魔撇閘度頃龜躺胡想柱贊療侵傅式憑愿弄航芒按傍指柱逐漂里辰培告灘拆菠蔬墓垃街烈撤眾滑洽炭永鋒變震饑蜘命轟直國(guó)望揉仔暴孔謀茄鎮(zhèn)達(dá)閑抬旁牲即費(fèi)狀婦腰剩秩繡微償差玻外耳屆汁蛇耐侍弊誤株釀塵許斤州綁皇鐮劉裹那當(dāng)編譯和運(yùn)笛行這個(gè)測(cè)試示,可以在臘Syste斜m.Con隸sole扶窗口看到下欠面的輸出:富庫(kù)

Fi治xture除SetUp凱SetUp江Test

亦1扛TearD荷own不SetUp流Test

攤2遮TearD茂own克Fixtu兼reTea嫂rDown僻夸

可以圍看到,鴨SetU蘿p濾/盜TearD題own撤方法調(diào)用在惜每個(gè)測(cè)試方雞法的前后.糧蛙整個(gè)fix尸ture調(diào)催用一次卡TestF桂ixtur摧eSetU扇p瞇/吼TestF奶ixtur教eTear崖Down歐方法.蜘2、Tes峰tMan灑ager軟粥件測(cè)試工具悟2.1Te掠stMa涂nager門(mén)介紹袋使用題IBMR衫ation味alCl與earQu勞est測(cè)兔試管理IB貌MRat煌ional剪Clea務(wù)rQues偷t的V役7.0發(fā)既布版本宣布耐了一個(gè)重大淘的策略轉(zhuǎn)移哥,就是將怨IBMR傅ation注al方法還應(yīng)用到測(cè)試始管理中。在稅這個(gè)版本之授前,測(cè)試管花理的功能是唐由IBM額Rati塘onal滲TestM揀anage澡r提供的劣,它包含為銅質(zhì)量保證(電QA)組織牙進(jìn)行的測(cè)試賢計(jì)劃、測(cè)試貴執(zhí)行和測(cè)試挑結(jié)果分析。個(gè)歌2.2Te逐stMa時(shí)nager礙具體使用后圖1:脅CQTM肆測(cè)試腳本對(duì)例話框橋安裝出Clear需Quest附并創(chuàng)建的馳數(shù)據(jù)庫(kù)館圖2:攤IBMR倆ation窩alCl系earQu寶est嘩測(cè)試項(xiàng)傻目配置舟在創(chuàng)建使的測(cè)試用例崖和計(jì)劃之前蒜,需要完成返一個(gè)安裝和睛配置工作,衰這個(gè)工作只蓋需做一次。牽必須提供奧Clear詢Quest步的核心信僅息,例如存蹦放測(cè)試資產(chǎn)傲的地方。較資產(chǎn)注扭冊(cè)記資產(chǎn)注仍冊(cè)將會(huì)保愚管的所有資針產(chǎn)。包含所浴有測(cè)試計(jì)劃終,以及其中趕的測(cè)試用例陜。它還包含蠟的所有測(cè)試互套件,以及醉的IBM絹Rati既onal吩Manua風(fēng)lTes兩ter、I正BMRa控tiona修lFun勝ction肥alTe邊ster急和IBM玩Rati臟onal交Perfo學(xué)rmanc以e的文件受位置。它還卡會(huì)包含的所痰有測(cè)試結(jié)果走。剖圖滾3倚:配置屬性稅創(chuàng)建配慌置特圖樓4恐:完成配置謎和配置屬性外的創(chuàng)建妨測(cè)試計(jì)討劃依在下一姜個(gè)部分,將激會(huì)創(chuàng)建多層看次測(cè)試。一踩個(gè)測(cè)試計(jì)劃朱是一組測(cè)試獻(xiàn)用例的組合低結(jié)構(gòu)。測(cè)試歌用例是特定陷的測(cè)試或者榴驗(yàn)證,需要拆在的系統(tǒng)上冒執(zhí)行。因此雅,在創(chuàng)建了恭測(cè)試計(jì)劃之侄后,需要把亞測(cè)試用例插些入到這些測(cè)些試計(jì)劃中。繳最后,凳將會(huì)把之前諷章節(jié)創(chuàng)建的您配置和測(cè)試盲用例結(jié)合起厘來(lái)。一個(gè)單滅獨(dú)的測(cè)試用孔例是一個(gè)抽挺象的概念,平在這個(gè)測(cè)試鹽用例中僅定領(lǐng)義了需要測(cè)疏試什么。將功配置和測(cè)試掏用例結(jié)合起陵來(lái)后,就創(chuàng)啟建了一個(gè)已夾配置的測(cè)試告用例,這樣緩就不僅能表?yè)u示要測(cè)試什賄么,還能表喜示在哪里測(cè)與試(在哪個(gè)省平臺(tái)或者配挎置)。默創(chuàng)建測(cè)徑試計(jì)劃懼測(cè)試計(jì)仆劃的第一步摘是創(chuàng)建一個(gè)薦測(cè)試計(jì)劃來(lái)蠟控制的所有乏測(cè)試用例。鍵組織測(cè)試計(jì)真劃和測(cè)試用匠例的方法有寶很多種。與騙其在這里閱辮讀測(cè)試計(jì)劃縣組織結(jié)構(gòu)的犬長(zhǎng)長(zhǎng)的討論析過(guò)程,還不洋如使用非常獵大眾化的功度能分解結(jié)構(gòu)姿,來(lái)為應(yīng)用晉程序的各種壟功能區(qū)域創(chuàng)灣建子測(cè)試計(jì)襪劃。通過(guò)使極用這個(gè)結(jié)構(gòu)枕,的測(cè)試計(jì)較劃體系結(jié)構(gòu)近將會(huì)符合的至應(yīng)用程序體悄系結(jié)構(gòu)。嚼圖致5愚:Clea昨rQues射t支持層裝次化測(cè)試計(jì)筐劃舊創(chuàng)建測(cè)友試用例暴在創(chuàng)建聰了測(cè)試計(jì)劃菊結(jié)構(gòu)之后,書(shū)下一步是將籮測(cè)試計(jì)劃和奮測(cè)試用例結(jié)室合。測(cè)試用蜻例定義了每種一個(gè)計(jì)劃在把系統(tǒng)上執(zhí)行腹的確認(rèn)。(產(chǎn)查看圖溫6歐。)估圖北6竄:關(guān)聯(lián)測(cè)試艘計(jì)劃和測(cè)試存用例躲關(guān)聯(lián)測(cè)屑試腳本和測(cè)扮試用例金測(cè)試計(jì)地劃和測(cè)試用脅例顯示了邏暢輯上的測(cè)試?yán)镉?jì)劃??梢郧蟀褱y(cè)試計(jì)劃已想象成一張競(jìng)需要運(yùn)行的后測(cè)試用例的魔列表。但是枕如何運(yùn)行這慢些測(cè)試呢?搞如何才能知仇道測(cè)試運(yùn)行煌成功還是失謊敗呢?可以活在Exe叼cutio徐n標(biāo)簽獲抽得答案。率可以使瘋用Exe切cutio獨(dú)n標(biāo)簽將鉤的測(cè)試用例鑒連接到一個(gè)槐實(shí)際的測(cè)試引腳本。測(cè)試磨腳本會(huì)顯示瞧出測(cè)試成功寧或者失敗。袖Cle型arQue繼stTe侵stMan汗ager支頸持在IB池MRat鴨ional詳Func臘tiona洪lTes注ter、I鋸BMRa剝tiona不lMan瓶ualT茄ester棵和IB完MRat斥ional霧Perf偶o(jì)rman柴ceTe獵ster測(cè)母試自動(dòng)化工紡具中創(chuàng)建的椅測(cè)試腳本的械執(zhí)行.它還船支持Te霞st和鉤Perfo侮rmanc云eToo率lPla蘿tform鎖,或者TP架TP兼容性饒測(cè)試,例如棟TPTP法JUnit程測(cè)試。發(fā)Rat悠ional雹Func蛙tiona幫lTes辜ter是委一個(gè)基于腳絨本的回歸測(cè)葉試工具,它幟能以腳本形亂式捕獲應(yīng)用三程序中用戶筍的行為,以錘用于之后的饑回歸和系統(tǒng)遞驗(yàn)證。伏Rat烏ional筆Manu共alTe無(wú)ster盆是一個(gè)手動(dòng)鞏測(cè)試和執(zhí)行班工具??梢宰x使用它捕獲遵運(yùn)行在應(yīng)用透程序上的測(cè)搬試腳本步驟鄉(xiāng)和行為。它敬會(huì)在運(yùn)行測(cè)墻試的時(shí)候自衣動(dòng)輸入并驗(yàn)陵證數(shù)據(jù)。粉Rat悔ional超Perf拆orman貿(mào)ceTe瓶ster戰(zhàn)是一個(gè)幫助貓?jiān)u價(jià)系統(tǒng)響俯應(yīng)基于We朋b和企業(yè)資懼源計(jì)劃(E氣RP)應(yīng)用勢(shì)程序時(shí)間的辱工具。它可請(qǐng)以在系統(tǒng)發(fā)魚(yú)布之前,模茄擬的系統(tǒng)上會(huì)并發(fā)用戶的沿活動(dòng),并測(cè)蹦量響應(yīng)時(shí)間孝,顯示性能六和瓶頸。賤創(chuàng)建文最件路徑挽首先要灑告知Cl艱earQu孕est測(cè)疤試的文件路隔徑,才能將須的測(cè)試腳本野和測(cè)試用例彩結(jié)合起來(lái)。浙這個(gè)工作僅淡需要做一次狀。在這個(gè)步猜驟之后,所謎有的測(cè)試用織例都應(yīng)該可心以根據(jù)提供搞的文件路徑厭訪問(wèn)腳本。紹(查看圖槽7聚。)毛根據(jù)下飾列屬性,重撕復(fù)以上步驟畝創(chuàng)建一個(gè)文抓件路徑:沾文件路俗徑名稱:間Manua災(zāi)lTes秩terT質(zhì)ests暖文件路司徑:C:王CQTM閑Test腹Scrip洞tsMan鍋ualT估ester漠Manua攻lTes重terS食cript屈s卸測(cè)試日陶志路徑:梯C:CQT碧MTes位tScr貢iptsM竊anual困Test星erMan山ualT演ester清Logs旦葬圖9:掙文件路徑告磚知Cle儲(chǔ)arQue理st去哪集里尋找測(cè)試著自動(dòng)化腳本技在測(cè)試均腳本和測(cè)試花用例之間建喪立關(guān)聯(lián)瀉現(xiàn)在穿Clear踐Quest慮已經(jīng)知道任了的腳本是講什么,按照踢下列步驟將貝Rati集onal賄Funct封ional社Test奉er和Ra可tiona全lMan孫ualT災(zāi)ester唐腳本和的塑測(cè)試用例關(guān)驅(qū)聯(lián)起來(lái)(查你看圖撤8沈):御圖左8搏:測(cè)試腳本贏和測(cè)試用例庭的關(guān)聯(lián)旱Vie帝wExi陜sting襯Orde逃r測(cè)試腳俗本已經(jīng)和筍View臭Exist坦ingO更rder藏Statu前s測(cè)試用悠例關(guān)聯(lián)。(脫的記錄I閥D是:C攝QTST0活00000范47,也可逝能不同。)閱測(cè)試執(zhí)拒行獄為了更自具一般適用色性,假設(shè)沒(méi)幕有安裝任何秤測(cè)試腳本執(zhí)鴉行工具,例斥如Rat鞭ional見(jiàn)Manu譯alTe糕ster恒或者Ra睛tiona停lFun欠ction完alTe催ster。唯這就是為什擱么下一章節(jié)咸適用于執(zhí)行渾一個(gè)真實(shí)的渴測(cè)試。首先倦,運(yùn)行一個(gè)盼測(cè)試用例,撈然后創(chuàng)建一斤個(gè)測(cè)試用例坦套件。的第淋一步,(忽恒略是如何執(zhí)淘行的測(cè)試)性是將配置和健測(cè)試用例關(guān)巧聯(lián)起來(lái)。(嗎查看圖循9泥。)溜關(guān)聯(lián)配惑置和測(cè)試用膚例累測(cè)試用孕例是抽象的資工件。一個(gè)首測(cè)試用例代凍表了需要測(cè)包試的東西,詠但是一個(gè)測(cè)旺試用例本身拉并不能執(zhí)行剃。一個(gè)測(cè)試惜用例只有當(dāng)艘將它和特定錫的配置關(guān)聯(lián)劇起來(lái)時(shí),它蜂才能執(zhí)行。光在這個(gè)教程為中已經(jīng)創(chuàng)建飲了兩個(gè)配置模,因此的下時(shí)一步工作是辮將測(cè)試用例融邦定到這兩武個(gè)配置。擁圖棟9訴:的測(cè)試計(jì)蛇劃過(guò)程已經(jīng)組完成,配置魂好的測(cè)試用遞例已經(jīng)準(zhǔn)備祝就緒娛安排測(cè)剛試迭代進(jìn)度艇可以把派配置想象成電定義在哪里悠運(yùn)行一個(gè)測(cè)芝試用例。在尼Clea敗rQues話t

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論