探秘軟件質(zhì)量保證的五大法則
軟件質(zhì)量保證***經(jīng)驗
軟件質(zhì)量保證是指通過對軟件的功能、性能和可靠性等質(zhì)量要素進(jìn)行驗證,發(fā)現(xiàn)軟件缺陷并幫助定位和修復(fù)缺陷,確保軟件系統(tǒng)功能滿足需求的活動。 IBM Rational根據(jù)多年軟件工程研究和實踐經(jīng)驗,認(rèn)為通過在軟件項目中執(zhí)行如下***經(jīng)驗,可以有效提高軟件質(zhì)量,確保項目進(jìn)度。
強(qiáng)化開發(fā)人員測試
開發(fā)人員測試通常也稱為單元測試,是指由開發(fā)人員對自己開發(fā)的代碼進(jìn)行測試。強(qiáng)化開發(fā)人員測試,可盡早發(fā)現(xiàn)軟件代碼缺陷,保證每個模塊的質(zhì)量,大大縮短后期模塊集成測試和系統(tǒng)測試的時間,提高項目計劃的準(zhǔn)確性。此外,通過對測試程序進(jìn)行有效的管理,可在應(yīng)用的單元級進(jìn)行回歸測試自動化,從而確保軟件項目能快速、高質(zhì)量地實現(xiàn)新需求。
盡早引入性能測試
性能測試是指通過模擬大量虛擬客戶端來訪問被測服務(wù)器,從而發(fā)現(xiàn)系統(tǒng)在性能和可靠性方面的問題。軟件系統(tǒng)的性能問題主要分為應(yīng)用程序方面和系統(tǒng)配置方面。傳統(tǒng)的性能測試通常在系統(tǒng)上線前才進(jìn)行,這時即使發(fā)現(xiàn)系統(tǒng)在應(yīng)用程序方面的性能問題,但迫于進(jìn)度壓力,也不可能去大量修改應(yīng)用代碼,而只能對系統(tǒng)配置進(jìn)行升級或優(yōu)化,有時會導(dǎo)致不得不增加硬件投資。因此我們建議在軟件項目的早期就引入性能測試手段,對軟件架構(gòu)進(jìn)行性能測試,從而盡早發(fā)現(xiàn)并及時解決系統(tǒng)在應(yīng)用程序方面的性能問題。
實施測試管理自動化
測試管理是指對系統(tǒng)測試活動的管理,其主要目的是測準(zhǔn)(有效選擇運(yùn)行測試用例,發(fā)現(xiàn)系統(tǒng)的缺陷)和測全(保證所有需求對被測試過)。 系統(tǒng)測試的依據(jù)是系統(tǒng)需求,系統(tǒng)測試人員只有準(zhǔn)確把握需求信息,才能進(jìn)行有效的測試。同時,測試人員的職責(zé)不僅僅是發(fā)現(xiàn)缺陷,還有幫助開發(fā)人員重現(xiàn)并解決缺陷的義務(wù),應(yīng)該為開發(fā)人員提供缺陷的相關(guān)信息,以幫助開發(fā)人員快速定位并解決問題。因此,測試管理不僅僅以測試用例為核心,還應(yīng)考慮對需求和缺陷信息的管理,并建立需求、測試用例、測試腳本以及缺陷的關(guān)聯(lián)。 測試管理自動化的主要目的是通過工具自動能獲得軟件質(zhì)量以及測試過程的相關(guān)信息,從而及時有效地指導(dǎo)軟件測試。通過測試管理自動化,測試人員能把更多精力關(guān)注在如何設(shè)計有效的測試用例,如何有效選擇執(zhí)行測試用例,從而保證系統(tǒng)質(zhì)量。
引入功能測試執(zhí)行自動化
功能測試是指通過對軟件系統(tǒng)界面進(jìn)行操作,驗證系統(tǒng)功能是否正常。傳統(tǒng)的手工功能測試是通過測試人員手工操作被測系統(tǒng)界面,并通過眼睛來檢查系統(tǒng)界面輸出,從而驗證系統(tǒng)功能。當(dāng)測試用例需要輸入大量測試數(shù)據(jù)或需要被多次執(zhí)行時,傳統(tǒng)的手工測試方法將花費(fèi)大量的時間,而且容易出錯。通過引入自動化測試腳本,并把測試輸入數(shù)據(jù)以及期望結(jié)果和測試腳本建立關(guān)聯(lián),就可通過運(yùn)行自動化測試腳本來完成測試用例執(zhí)行,大大節(jié)省測試時間。