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