測試自動(dòng)化
自動(dòng)化的測試是了解當(dāng)前系統(tǒng)是否達(dá)到準(zhǔn)備發(fā)布狀態(tài)的第一步。自動(dòng)化測試應(yīng)伴隨系統(tǒng)中的全部新代碼。除此之外,當(dāng)老的、未測試的代碼被改變的時(shí)候,程序員應(yīng)為代碼編寫新的測試。最后,當(dāng)在驗(yàn)收測試或產(chǎn)品中發(fā)現(xiàn)缺陷時(shí),應(yīng)記錄這一測試以證明缺陷,并且這一新測試應(yīng)加入到全部測試集合中以避免今后發(fā)生相同的問題。當(dāng)系統(tǒng)中所有的單元測試全部通過后,程序員應(yīng)當(dāng)對(duì)其代碼有信心,相信不會(huì)影響系統(tǒng)的其他部分。
從敏捷的觀點(diǎn)來看,自動(dòng)化的單元級(jí)測試是構(gòu)建流程的擴(kuò)展。程序員每次運(yùn)行構(gòu)建流程并成功編譯代碼時(shí),應(yīng)遵循所有的應(yīng)用單元測試。在敏捷配置管理環(huán)境中,損壞的單元測試與損壞的構(gòu)建嚴(yán)重程度是一樣的。這樣小問題就不會(huì)擴(kuò)展為大問題了。大問題(諸如全部程序停止工作)不會(huì)隱藏在后臺(tái)。取而代之的是,團(tuán)隊(duì)可以在問題發(fā)生時(shí)定位,不斷增長的單元測試集增加了準(zhǔn)確監(jiān)測錯(cuò)誤的可能性。
我要補(bǔ)充一點(diǎn)關(guān)于單元級(jí)和系統(tǒng)級(jí)測試的內(nèi)容:明智的項(xiàng)目和企業(yè)會(huì)進(jìn)行 測試數(shù)據(jù)管理。這樣就使得測試數(shù)據(jù)很容易的創(chuàng)建、修改、維護(hù)(當(dāng)系統(tǒng)數(shù)據(jù)結(jié)構(gòu)發(fā)展變化時(shí))、存儲(chǔ)(在每次測試前)。當(dāng)數(shù)據(jù)模型發(fā)生大的變化時(shí),甚至是在某些情況下,當(dāng)開發(fā)數(shù)據(jù)庫被清理掉時(shí),依賴于脆弱的以及被隨意修改的數(shù)據(jù)結(jié)構(gòu)的大量自動(dòng)化測試集就可以得到迅速的調(diào)整。
持續(xù)集成
持續(xù)集成與源代碼控制、自動(dòng)化構(gòu)建流程、值得信賴的自動(dòng)化測試集共同保證了開發(fā)過程中系統(tǒng)的穩(wěn)定性和系統(tǒng)性能。在持續(xù)集成的環(huán)境中,程序員需要編寫代碼,在工作站上運(yùn)行構(gòu)建和測試,一天內(nèi)多次進(jìn)行檢入。同時(shí),有一臺(tái)構(gòu)建機(jī)(或一組機(jī)器)用以編譯整個(gè)系統(tǒng),在類似于產(chǎn)品配置的干凈的環(huán)境中運(yùn)行所有測試。這種行為可通過手動(dòng)或者自動(dòng)的方式啟動(dòng) -- 或者間隔固定的時(shí)間或者由程序員檢查代碼。當(dāng)代碼沒有在干凈的環(huán)境中通過構(gòu)建和測試時(shí),無論什么原因,都會(huì)在檢查后提醒全體成員。大部分情況下,敏捷團(tuán)隊(duì)都不會(huì)允許任何人檢入額外的代碼,直到解決了問題。
持續(xù)集成帶來的好處是,它灌輸了一種開發(fā)原則,不鼓勵(lì)檢入低質(zhì)量的代碼,且當(dāng)問題發(fā)生時(shí)需要立刻解決。由于每天要進(jìn)行多次代碼檢入 ,處于集成環(huán)境中的程序員很少或從不改變引起不穩(wěn)定構(gòu)建的代碼。除此之外,如果遇到未完成的代碼,團(tuán)隊(duì)的構(gòu)建機(jī)制能夠在幾小時(shí)內(nèi)記錄它,而不是幾天或幾周。因此,程序員在中斷代碼前,不得不仔細(xì)考慮整體設(shè)計(jì),甚至需要進(jìn)行一些測試。這意味著處于持續(xù)集成環(huán)境中的程序員很少會(huì)在系統(tǒng)代碼中直接進(jìn)行試驗(yàn),很少出現(xiàn)寫了一半?yún)s忘記完成的函數(shù),或是將系統(tǒng)組件遺忘在某處。當(dāng)編寫代碼后立即監(jiān)測出錯(cuò)誤,解決問題所花費(fèi)的時(shí)間往往少于幾天或幾周后才發(fā)現(xiàn)時(shí)所花費(fèi)的時(shí)間。 這樣,就保證了高質(zhì)量的代碼和更加迅速的發(fā)行周期。
對(duì)于大系統(tǒng)的可擴(kuò)展的敏捷配置管理 大型企業(yè)經(jīng)歷過許多類似中小型項(xiàng)目遇到過的 CM 問題,還有部分附加的多系統(tǒng)、多項(xiàng)目、多初始屬性的問題。例如,當(dāng)小項(xiàng)目未監(jiān)測出一個(gè)缺陷或者遇到了需要花費(fèi)幾個(gè)小時(shí)甚至幾天才能解決的集成問題時(shí),對(duì)于大型企業(yè)來說也許會(huì)花費(fèi)幾周的時(shí)間才能解決。相似的還有,對(duì)于小項(xiàng)目的源代碼控制和版本的問題相比較于大型企業(yè)沒有可依賴的配置管理系統(tǒng)時(shí)所遇到的系統(tǒng)回滾或多應(yīng)用重新部署問題來說,簡直是微不足道的。依據(jù)其規(guī)模與復(fù)雜度來說,適當(dāng)?shù)?a href=http://m.opto-elec.com.cn/knowledge/more.asp?type=1020137&art_type=配置管理 target=_blank>配置管理實(shí)踐對(duì)于大企業(yè)是十分必要的。
此文章共有8頁 上一頁 1 2 3 4 5 6 7 8 下一頁
文章來源:中國項(xiàng)目管理資源網(wǎng)
|