監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購買價(jià)格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

軟件企業(yè)如何“捉蟲”?

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

來源:泛普軟件

軟件缺陷(也稱Bug,俗稱臭蟲)是長(zhǎng)期困擾軟件企業(yè)的一個(gè)問題,為了盡量減少“臭蟲”的侵襲,軟件企業(yè)也是煞費(fèi)苦心。近來,美國(guó)的一些軟件公司開始采用應(yīng)用軟件生命周期管理,試圖消除軟件錯(cuò)誤,以減少因此帶來的損失。

下述糟糕的經(jīng)歷屢見不鮮:

● 4月,一個(gè)軟件故障導(dǎo)致美國(guó)航空集團(tuán)公司損失數(shù)千美元,因?yàn)橛行C(jī)票的價(jià)格被誤定為1.86美元;

● 在最近的一次美國(guó)總統(tǒng)選舉中,使用新型計(jì)算機(jī)化投票系統(tǒng)的幾個(gè)選區(qū)傳出計(jì)票不正確的說法;

● 2003年8月導(dǎo)致北美東北部大規(guī)模停電事故的罪魁禍?zhǔn)滓彩且粋€(gè)軟件錯(cuò)誤,數(shù)百萬人因此而陷入一片黑暗當(dāng)中。

類似的事例還有很多。目前看來,軟件問題似乎正變得越來越糟。美國(guó)技術(shù)標(biāo)準(zhǔn)研究所經(jīng)常引用的一個(gè)數(shù)字表明,2002年存在缺陷的軟件讓美國(guó)經(jīng)濟(jì)虧損600億美元。如今這個(gè)數(shù)額更高,這點(diǎn)沒有人懷疑。

低劣的軟件幾乎困擾著每一個(gè)使用計(jì)算機(jī)的組織:導(dǎo)致計(jì)算機(jī)停用期間工作時(shí)間減少、錯(cuò)失銷售機(jī)會(huì)、IT支持和維護(hù)成本居高不下、客戶滿意度低下。人們沮喪之余開始認(rèn)真分析錯(cuò)誤是如何進(jìn)入應(yīng)用軟件開發(fā)流程的,為什么預(yù)防錯(cuò)誤似乎那么困難。

關(guān)注軟件應(yīng)用生命周期

大量的調(diào)查研究表明:低劣的軟件質(zhì)量不是由于某個(gè)具體的失誤所致,而是由于參與規(guī)劃、開發(fā)、測(cè)試及維護(hù)每個(gè)應(yīng)用軟件的IT專家彼此缺少溝通和聯(lián)系。

從事軟件研究的人士說,問題在于沒有對(duì)軟件的整個(gè)生命周期進(jìn)行管理,也沒有認(rèn)識(shí)到:提高軟件質(zhì)量的任何工作都必須涵蓋應(yīng)用軟件生命周期的每個(gè)階段,從初期規(guī)劃、部署到維護(hù)。

美國(guó)伯克希爾人壽保險(xiǎn)公司是設(shè)在紐約的美國(guó)嘉定人壽保險(xiǎn)公司的子公司,它一直在想方設(shè)法探究在應(yīng)用軟件生命周期的各個(gè)階段提高質(zhì)量。

Sorin Fiscu是伯克希爾人壽保險(xiǎn)公司的項(xiàng)目經(jīng)理,他解釋道:“這是我們?cè)谶^去的一年里,分析了自己的開發(fā)流程、需求的征集方法以及監(jiān)控系統(tǒng)的方式后總結(jié)出來的經(jīng)驗(yàn)?!?

Fiscu對(duì)開發(fā)團(tuán)隊(duì)做了一些調(diào)整,譬如請(qǐng)質(zhì)量保證(QA)人員參與早期規(guī)劃、征求業(yè)務(wù)分析員的意見、提高測(cè)試階段的自動(dòng)化。這些變化讓這家公司能夠達(dá)到或超出軟件部署后的兩個(gè)目標(biāo): 保證應(yīng)用軟件的可用性和用戶對(duì)應(yīng)用軟件的整體滿意度。

在伯克希爾人壽保險(xiǎn)公司,應(yīng)用軟件開發(fā)最初的一個(gè)步驟就是,把業(yè)務(wù)人員和IT人員召集起來,就應(yīng)用軟件的功能規(guī)格達(dá)成一致,列出業(yè)務(wù)人員需要的從屏幕流程到數(shù)據(jù)字段名稱的每項(xiàng)特性和功能。

Fiscu說:“在整個(gè)過程中,人們非常詳細(xì)地描述了應(yīng)用軟件以及它在將來如何使用。這個(gè)過程中的關(guān)鍵在于事先讓每個(gè)人進(jìn)行交流,測(cè)試員、分析員和開發(fā)員都需要盡量充分地交流,而軟件應(yīng)用生命周期管理有助于實(shí)現(xiàn)這一過程?!?

應(yīng)用軟件生命周期管理(ALM)的基本目的相當(dāng)簡(jiǎn)單,包括: 確保負(fù)責(zé)每個(gè)階段的隊(duì)伍進(jìn)行了充分溝通; 防止錯(cuò)誤進(jìn)入以后的階段,因?yàn)樵陂_發(fā)流程的后期階段解決錯(cuò)誤其成本要明顯高于開始階段。

Gartner的分析師Theresa Lanowitz堅(jiān)稱: “實(shí)行生命周期管理很必要,但大多數(shù)組織(近90%左右)并不知道如何有效地管理生命周期。如果生命周期真正被合適的人員、流程和技術(shù)所運(yùn)用,我們就會(huì)看到質(zhì)量較高的軟件、效率較高的IT組織。實(shí)際上,大多數(shù)IT組織浪費(fèi)了相當(dāng)多的預(yù)算,就因?yàn)樗鼈兊纳虡I(yè)實(shí)踐沒有滿足需求,也沒有管理項(xiàng)目以達(dá)到進(jìn)度、成本和質(zhì)量方面的目標(biāo)?!?

質(zhì)量控制始于需求定義

開發(fā)人員、測(cè)試人員和業(yè)務(wù)人員之間建立清晰的溝通渠道對(duì)生命周期管理的成功至關(guān)重要。因此,需要在規(guī)劃階段把這一步作為流程的一部分。

斯特普爾斯公司(Staples Inc.)強(qiáng)調(diào)的重點(diǎn)就是,參與應(yīng)用軟件開發(fā)、測(cè)試和使用的每個(gè)人都要加強(qiáng)協(xié)作。Kathy Murray是這家總部設(shè)在馬薩諸塞州弗雷明漢的辦公用品零售公司負(fù)責(zé)質(zhì)量管理的高級(jí)經(jīng)理。她說:“我們與業(yè)務(wù)合作伙伴一起開會(huì),討論業(yè)務(wù)需求,QA人員也到場(chǎng),這樣他們也能明白需求。我們?cè)谛枨蠖x階段投入的時(shí)間越多,以后階段的狀況就越好。有調(diào)查表明,60%到70%的錯(cuò)誤是在需求定義階段引入的,我們的實(shí)踐證明也的確如此。”

Arthur Povlot是提供質(zhì)量保證服務(wù)的Tescom軟件系統(tǒng)測(cè)試公司派駐亞特蘭大的企業(yè)發(fā)展經(jīng)理,他說,不正確的需求是造成大多軟件質(zhì)量問題的根源,“很少有公司在需求定義階段嚴(yán)把‘質(zhì)量關(guān)’。事實(shí)上,你應(yīng)當(dāng)讓參與各方:業(yè)務(wù)分析員、營(yíng)銷經(jīng)理和專題專家審查需求,并得到他們的認(rèn)可?!?

編程人員往往喜歡按自己的方式行事。雖然利用一套規(guī)矩捆住開發(fā)人員的手腳可能達(dá)不到目的,但針對(duì)一致性和質(zhì)量控制實(shí)施一些流程和程序卻是個(gè)好辦法。

Fiscu強(qiáng)烈建議: 開發(fā)人員把自己編寫的代碼(連同錯(cuò)誤)交給質(zhì)量控制人員進(jìn)行測(cè)試之前,先要對(duì)代碼進(jìn)行特定的測(cè)試。他說:“我們的開發(fā)隊(duì)伍會(huì)收到一組單元測(cè)試腳本,就像是一份高級(jí)檢查表。惟有核對(duì)完畢后,開發(fā)才算完成。這樣,我們可以確保不會(huì)把缺陷從開發(fā)階段帶入到測(cè)試環(huán)境?!?

開發(fā)當(dāng)中導(dǎo)致軟件錯(cuò)誤的另一個(gè)常見問題就是,難以跟蹤軟件變更和版本。配置管理和變更管理策略及工具有助于為編寫及測(cè)試代碼執(zhí)行標(biāo)準(zhǔn)流程。

譬如說,設(shè)在克里夫蘭的美國(guó)賀卡公司就依靠冠群公司(CA)的AllFusion變更管理器,跟蹤代碼在整個(gè)開發(fā)過程中的變更情況,并且執(zhí)行公司的開發(fā)標(biāo)準(zhǔn)。

美國(guó)賀卡公司的軟件經(jīng)理Tom Brown說:“比如,誰也不能決定使用不同的編譯器,或者略過測(cè)試,因?yàn)檫@完全被融入流程當(dāng)中。管理生命周期意味著,對(duì)我們使用的流程和編譯器的類型而言,需要確保源代碼內(nèi)容最新、保持一致?!?

測(cè)試、測(cè)試、再測(cè)試

雖然開發(fā)人員自己應(yīng)當(dāng)進(jìn)行一些早期測(cè)試,但成熟的測(cè)試流程和部門對(duì)查找及解決錯(cuò)誤至關(guān)重要。開發(fā)人員編完代碼后,應(yīng)當(dāng)對(duì)代碼進(jìn)行全面的檢查,包括功能測(cè)試(評(píng)估程序的流程和功能正確與否)、集成測(cè)試、性能測(cè)試、安全測(cè)試以及對(duì)程序更新和變更進(jìn)行的回歸測(cè)試(Regression Testing)。

芝加哥交易所平時(shí)對(duì)應(yīng)用軟件進(jìn)行許多人工和自動(dòng)測(cè)試,包括開發(fā)人員進(jìn)行的單元測(cè)試、使用Compuware公司的QACenter進(jìn)行的性能測(cè)試、用戶驗(yàn)收測(cè)試,以及由將來使用該軟件的交易人和經(jīng)紀(jì)人進(jìn)行的功能測(cè)試。芝加哥交易所在進(jìn)行測(cè)試時(shí)還關(guān)注將來的發(fā)展以及更繁重的流量。

芝加哥交易所質(zhì)量保證主管David Burkhart說: “我們應(yīng)積極主動(dòng),而不是消極應(yīng)對(duì),我們針對(duì)系統(tǒng)將來可能遇到的負(fù)荷進(jìn)行測(cè)試?!?

由于時(shí)間、技術(shù)和人員能力所限,連最敏感的關(guān)鍵任務(wù)系統(tǒng)經(jīng)測(cè)試后也不能保證100%的正確性。于是問題出來了:要進(jìn)行多少測(cè)試?需要測(cè)試多長(zhǎng)時(shí)間?Povlot建議為應(yīng)用軟件最重要的需求全部建立測(cè)試用例(test case)。測(cè)試用例具體列出了測(cè)試特定的一項(xiàng)特性所需的用戶意見和預(yù)期響應(yīng)。他說,總的來講,你至少應(yīng)當(dāng)對(duì)全部需求的90%進(jìn)行測(cè)試。

自動(dòng)化工具有助于加快測(cè)試規(guī)劃和執(zhí)行,尤其是回歸測(cè)試?!拔覀儼褱y(cè)試周期所需的工時(shí)縮減了50%,從而把測(cè)試對(duì)象擴(kuò)大了300%。”Murray說,他把這種改進(jìn)歸功于斯特普爾斯公司使用Segue軟件公司的SilkTest和Star Quality公司的StarTest。

伯克希爾人壽保險(xiǎn)公司使用Empirix公司的e-Test Suite來管理測(cè)試流程,并加快回歸測(cè)試。Fiscu說:“我們所做的改進(jìn)越多,測(cè)試的回歸階段用時(shí)就越長(zhǎng)?,F(xiàn)在,自動(dòng)化工具節(jié)省了資源,還確保了一致性。”

將軟件開發(fā)過程變成閉環(huán)

一旦應(yīng)用軟件部署完畢,就要加以監(jiān)控及維護(hù)。軟件更新后,很快就會(huì)開始新一輪的應(yīng)用軟件生命周期,所以實(shí)際使用期間收集的信息必須反饋到下一個(gè)版本的需求規(guī)劃當(dāng)中。

這正是密歇根州米德蘭的陶氏化學(xué)公司所采用的策略。陶氏公司的IT人員使用Mercury Interactive公司的LoadRunner,對(duì)新的應(yīng)用軟件運(yùn)行各種測(cè)試腳本。部署后,這些腳本有許多還要再次運(yùn)行,不過為了比較結(jié)果,這回用的是Mercury公司的監(jiān)控軟件包之一:Topaz或者SiteScope。如果發(fā)現(xiàn)應(yīng)用軟件存在問題,陶氏公司的操作人員就會(huì)進(jìn)行事故分析流程,以查明原因。

陶氏化學(xué)公司信息系統(tǒng)部門的首席架構(gòu)專家Rich Guidotti說: “隨后,我們把這些信息反饋給開發(fā)隊(duì)伍,或者是基礎(chǔ)設(shè)施或服務(wù)隊(duì)伍,以便進(jìn)行適當(dāng)?shù)淖兏??!?

芝加哥交易所也使用Compuware監(jiān)控軟件來發(fā)現(xiàn)問題。Burkhart說:“在應(yīng)用軟件投入實(shí)際使用后,我們還會(huì)進(jìn)行跟蹤。要是投入實(shí)際使用后出現(xiàn)問題,我們會(huì)開會(huì)討論,獲得的反饋信息會(huì)直接轉(zhuǎn)給質(zhì)量控制人員?!?

眾多IT廠商提供軟件應(yīng)用生命周期的一個(gè)或多個(gè)階段的工具。幾家廠商正開始組合面向生命周期全面管理系統(tǒng)的套件。IBM的Rational部門就提供全面的產(chǎn)品線,從用于收集需求的RequisitePro、建模工具和測(cè)試工具,到IBM的Tivoli軟件中的部署后進(jìn)行監(jiān)控及維護(hù)工具,應(yīng)有盡有。Borland也有類似的比較全面的工具。

同樣,Mercury、Compuware、冠群和Segue軟件公司都聲稱或者計(jì)劃擴(kuò)大產(chǎn)品范圍,覆蓋應(yīng)用生命周期的各個(gè)重要階段。

雖然綜合平臺(tái)是很理想,但更普遍的情況是,一家組織必須從不同廠商選擇不同產(chǎn)品,以便對(duì)生命周期的某部分實(shí)現(xiàn)自動(dòng)化,譬如需求管理、自動(dòng)化功能測(cè)試和部署后監(jiān)控。有些廠商還提供與互補(bǔ)產(chǎn)品間的接口。但許多廠商不提供,或者至少不是為客戶擁有的每個(gè)互補(bǔ)產(chǎn)品都提供接口。

不過對(duì)生命周期管理而言,流程與用來支持生命周期管理的自動(dòng)化技術(shù)工具同樣重要。所以,專家們說,無論是不是綜合平臺(tái),ALM的目的就是盡量減少錯(cuò)誤和疏忽,提高產(chǎn)品質(zhì)量?;蛘撸缰ゼ痈缃灰姿腂urkhart所言,這是個(gè)吸取以往經(jīng)驗(yàn)、不讓過去的錯(cuò)誤在應(yīng)用軟件的新周期中重演的問題。他說:“我的基本目標(biāo)之一就是絕不讓錯(cuò)誤重演。誰都會(huì)犯錯(cuò)誤,要是大家不犯錯(cuò),我們也就用不著測(cè)試什么了。不過我們竭力落實(shí)質(zhì)量流程,就是為了防止我們?cè)俜稿e(cuò)誤?!保ㄉ蚪缱g自《Computerworld》)

鏈接

軟件開發(fā)方法之ABC

軟件開發(fā)界有幾種廣為人知的方法。一種常用方法就是IBM Rational公司的Rational統(tǒng)一過程,即RUP。這個(gè)框架包括了最佳實(shí)踐和技術(shù)工具,并且明確了應(yīng)用軟件開發(fā)的四個(gè)階段:起始階段、細(xì)化階段、構(gòu)造階段和移交階段。RUP的擴(kuò)展方案—企業(yè)統(tǒng)一流程(Enterprise Unified Process)由Ronin國(guó)際公司的Scott Ambler創(chuàng)建,他在RUP的基礎(chǔ)上增加了兩個(gè)階段:生產(chǎn)階段和停用階段。

另一個(gè)標(biāo)準(zhǔn)是軟件工程協(xié)會(huì)(SEI)的能力成熟度模型集成(CMMI),這是SEI早期的能力成熟度模型(CMM)的升級(jí)版。CMMI認(rèn)為,周期性反饋和改進(jìn)這個(gè)概念是品質(zhì)一流的IT組織的一個(gè)特點(diǎn)。CMMI定義了軟件流程成熟度的五個(gè)級(jí)別:從第一級(jí)(初始階段,特點(diǎn)是采用臨時(shí)方法,結(jié)果不可預(yù)測(cè))到第五級(jí)(優(yōu)化階段,組織對(duì)流程不斷改進(jìn),改進(jìn)效果可以衡量)。另一種知名的方法是極限編程即XP,它也強(qiáng)調(diào)迭代開發(fā)、不斷測(cè)試及合作開發(fā)。

設(shè)在佛羅里達(dá)州杰克遜維爾的Ajilon LLC的顧問Joshua Barnes說,迭代開發(fā)是一個(gè)關(guān)鍵問題。 它不像“瀑布法”,項(xiàng)目順序地從一個(gè)階段進(jìn)入到下一個(gè)階段,而迭代開發(fā)是讓項(xiàng)目的每次遞進(jìn)都要經(jīng)歷一個(gè)循環(huán)周期,以便不斷獲得反饋和糾正。Barnes說: “在我看來,使用瀑布法根本沒有幫助。但迭代方法是一種文化上的變化,人們要采用它往往難度很大。”

來源:CCW


 

發(fā)布:2007-04-22 10:46    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:

泛普長(zhǎng)春OA快博其他應(yīng)用

長(zhǎng)春OA軟件 長(zhǎng)春OA新聞動(dòng)態(tài) 長(zhǎng)春OA信息化 長(zhǎng)春OA快博 長(zhǎng)春OA行業(yè)資訊 長(zhǎng)春軟件開發(fā)公司 長(zhǎng)春門禁系統(tǒng) 長(zhǎng)春物業(yè)管理軟件 長(zhǎng)春倉庫管理軟件 長(zhǎng)春餐飲管理軟件 長(zhǎng)春網(wǎng)站建設(shè)公司