【摘 要】隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,軟件系統(tǒng)的規(guī)模和復(fù)雜性也與日俱增,軟件的功能越來(lái)越強(qiáng)大,軟件中存在的缺陷與故障造成的各類損失也大大增加了.因此為了保證軟件的質(zhì)量,必須對(duì)軟件進(jìn)行測(cè)試.軟件測(cè)試是軟件開(kāi)發(fā)中必不可少的環(huán)節(jié),是最有效地排除和防治軟件缺陷的手段.軟件測(cè)試是軟件工程中重要的分支,一直受到計(jì)算機(jī)學(xué)術(shù)和應(yīng)用界的普遍關(guān)注。
【關(guān)鍵詞】軟件測(cè)試 測(cè)試種類 測(cè)試策略 軟件工具
一、前言
對(duì)于軟件開(kāi)發(fā),要想獲得完美的結(jié)果幾乎是不可能的。因?yàn)樵谲浖_(kāi)發(fā)過(guò)程中,可能對(duì)產(chǎn)品規(guī)格說(shuō)明和對(duì)用戶期望產(chǎn)生偏離。因此,軟件缺陷不可能完全避免。缺陷是軟件內(nèi)部的裂縫,在為影響用戶和系統(tǒng)運(yùn)行的情況下是隱蔽的。但是,當(dāng)缺陷應(yīng)錯(cuò)誤運(yùn)行產(chǎn)生錯(cuò)誤或產(chǎn)生負(fù)面影響時(shí),會(huì)構(gòu)成事故,造成損失或傷害。測(cè)試的目的就是在軟件投入運(yùn)行之前盡可能的發(fā)現(xiàn)其中的錯(cuò)誤。本文就如何排除軟件缺陷,保障軟件質(zhì)量,應(yīng)用軟件測(cè)試策略和工具,提高軟件的可靠性作簡(jiǎn)要論述。
二、測(cè)試的目的
測(cè)試是程序執(zhí)行的過(guò)程,目的在于發(fā)現(xiàn)缺陷。好的測(cè)試用例能有效的發(fā)現(xiàn)別的測(cè)試用例未發(fā)現(xiàn)的缺陷,而且成功的測(cè)試可以發(fā)現(xiàn)未曾想過(guò)的缺陷。通過(guò)測(cè)試,可以提高產(chǎn)品的質(zhì)量,提高產(chǎn)品的榮譽(yù)以獲得更多的銷售機(jī)會(huì)和市場(chǎng)份額。成功的測(cè)試還可以降低客戶的售后支持成本和產(chǎn)品維護(hù)成本。
三、測(cè)試過(guò)程
(一)測(cè)試計(jì)劃:標(biāo)志測(cè)試條件和測(cè)試的優(yōu)先級(jí);
(二)測(cè)試設(shè)計(jì):設(shè)計(jì)測(cè)試用例;
(三)測(cè)試開(kāi)發(fā):設(shè)計(jì)腳本、數(shù)據(jù)等;
(四)測(cè)試執(zhí)行:執(zhí)行測(cè)試用例;
(五)測(cè)試評(píng)估:講測(cè)試結(jié)果與期望結(jié)果進(jìn)行比較。
四、軟件測(cè)試的種類
黑盒測(cè)試:基于軟件需求而不是基于軟件內(nèi)部設(shè)計(jì)和程序?qū)崿F(xiàn)的測(cè)試方式;
白盒測(cè)試:基于軟件內(nèi)部設(shè)計(jì)和程序?qū)崿F(xiàn)的測(cè)試方式;
單元測(cè)試:主要測(cè)試軟件模塊的源代碼。一般由開(kāi)發(fā)人員而非獨(dú)立測(cè)試人員來(lái)執(zhí)行,因?yàn)闇y(cè)試者需要懂得該單元的設(shè)計(jì)與程序?qū)崿F(xiàn),測(cè)試者可能需要編寫額外的測(cè)試驅(qū)動(dòng)程序;
集成測(cè)試:將一些“構(gòu)件”集成一起時(shí),測(cè)試他們能否正常運(yùn)行,這里“構(gòu)件”可以是程序模塊、客戶機(jī)--服務(wù)器程序等等;
功能測(cè)試:測(cè)試軟件的功能是否符合功能性需求,通常采用黑盒測(cè)試方法。一般由獨(dú)立測(cè)試人員執(zhí)行;
系統(tǒng)測(cè)試:測(cè)試軟件系統(tǒng)是否符合所有需求,包括功能性需求與非功能性需求。一般有獨(dú)立測(cè)試人員執(zhí)行,通常采用黑盒測(cè)試方法;驗(yàn)收測(cè)試:由客戶或最終用戶執(zhí)行,測(cè)試軟件系統(tǒng)是否符合需求規(guī)格說(shuō)明書(shū);
回歸測(cè)試:指錯(cuò)誤被修正后或軟件功能、環(huán)境發(fā)生變化后進(jìn)行的重新測(cè)試。其困難在于不好確定哪些內(nèi)容應(yīng)當(dāng)被重新測(cè)試,等等。
事實(shí)上,采用任何測(cè)試方法都只能發(fā)現(xiàn)某些缺陷,不存在一個(gè)理想的測(cè)試方法能夠發(fā)現(xiàn)所有的缺陷。
五、測(cè)試策略
測(cè)試策略是各個(gè)測(cè)試階段、測(cè)試類型中使用的策略,策略描述的是在這些測(cè)試活動(dòng)中采用的手段和主要目標(biāo)。策略測(cè)試時(shí),應(yīng)考慮目標(biāo)、技術(shù)、工具及成功標(biāo)準(zhǔn)幾個(gè)重要因素。
舉一個(gè)安裝測(cè)試的例子:其分為幾個(gè)步驟:目標(biāo):把軟件在指定硬件下正確的進(jìn)行安裝或者升級(jí),并能對(duì)安裝過(guò)程記錄和配置。技術(shù):開(kāi)發(fā)手工或自動(dòng)腳本獲取目標(biāo)計(jì)算機(jī)的軟件安裝情況;進(jìn)行安裝;用預(yù)先定義的功能測(cè)試腳本來(lái)運(yùn)行安裝。測(cè)試階段:?jiǎn)卧獪y(cè)試、集成測(cè)試、確認(rèn)測(cè)試、系統(tǒng)測(cè)試、α測(cè)試和β測(cè)試、驗(yàn)收測(cè)試。成功標(biāo)準(zhǔn):在多種配置下正確安裝。專門考慮:怎樣保證安裝的完整性?
六、測(cè)試工具
(一)負(fù)載壓力測(cè)試工具。這類測(cè)試工具的主要目的是度量應(yīng)用系統(tǒng)的可擴(kuò)展性和性能,是一種預(yù)測(cè)系統(tǒng)行為和性能的自動(dòng)化測(cè)試工具。在實(shí)施并發(fā)負(fù)載過(guò)程中,通過(guò)實(shí)時(shí)性能監(jiān)測(cè)來(lái)確認(rèn)和查找問(wèn)題,并針對(duì)所 發(fā)現(xiàn)問(wèn)題對(duì)系統(tǒng)性能進(jìn)行優(yōu)化,確保應(yīng)用的成功部署。負(fù)載壓力測(cè)試工具能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試,通過(guò)這些測(cè)試,企業(yè)能最大限度地縮短測(cè)試時(shí)間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。
(二)功能測(cè)試工具。通過(guò)自動(dòng)錄制、檢測(cè)和回放用戶的應(yīng)用操作,將被測(cè)系統(tǒng)的輸出記錄同預(yù)先給定的標(biāo)準(zhǔn)結(jié)果比較,功能測(cè)試工具能夠有效地幫助測(cè)試人員對(duì)復(fù)雜的企業(yè)級(jí)應(yīng)用的不同發(fā)布版本的功能進(jìn) 行測(cè)試,提高測(cè)試人員的工作效率和質(zhì)量。其主要目的是檢測(cè)應(yīng)用程序是否能夠達(dá)到預(yù)期的功能并正常運(yùn)行。
(三)測(cè)試管理工具。一般而言,測(cè)試管理工具對(duì)測(cè)試需求、測(cè)試計(jì)劃、測(cè)試用例、測(cè)試實(shí)施進(jìn)行管理,并且測(cè)試管理工具還包括對(duì)缺陷的跟蹤管理。測(cè)試管理工具能讓測(cè)試人員、開(kāi)發(fā)人員或其他的IT人員 通過(guò)一個(gè)中央數(shù)據(jù)倉(cāng)庫(kù),在不同地方就能交互信息。
(四)測(cè)試輔助工具。這些工具本身并不執(zhí)行測(cè)試,例如它們可以生成測(cè)試數(shù)據(jù),為測(cè)試提供數(shù)據(jù)準(zhǔn)備。
七、小結(jié)
軟件測(cè)試并非只是發(fā)現(xiàn)缺陷,其總的作用可以概括為四個(gè)方面:
(一)對(duì)產(chǎn)品質(zhì)量完成全面的評(píng)估,為軟件產(chǎn)品發(fā)布(如驗(yàn)收測(cè)試)、軟件系統(tǒng)部署(如性能規(guī)劃測(cè)試)、軟件產(chǎn)品鑒定(第三方獨(dú)立測(cè)試)委托方和被委托方糾紛仲裁(第三方獨(dú)立測(cè)試)和其它決策提供信息;
(二)通過(guò)持續(xù)的測(cè)試(包括需求評(píng)審、設(shè)計(jì)評(píng)審、代碼評(píng)審等)可以對(duì)產(chǎn)品質(zhì)量提供持續(xù)的、快速的反饋,從而在整個(gè)開(kāi)發(fā)過(guò)程中不斷地、及時(shí)地改進(jìn)產(chǎn)品的質(zhì)量,并減少各種返工,降低軟件開(kāi)發(fā)的成本;
(三)通過(guò)測(cè)試發(fā)現(xiàn)所要交付產(chǎn)品的缺陷,特別是盡可能地發(fā)現(xiàn)各種嚴(yán)重的缺陷,降低或消除產(chǎn)品質(zhì)量風(fēng)險(xiǎn),提高客戶的滿意度,擴(kuò)大市場(chǎng)份額,提高客戶的忠誠(chéng)度。
(四)通過(guò)對(duì)缺陷進(jìn)行分析,找出缺陷發(fā)生的根本原因(軟件過(guò)程中的問(wèn)題,包括錯(cuò)誤的行為方式)或總結(jié)出軟件產(chǎn)品的缺陷模式,避免將來(lái)犯同樣的錯(cuò)誤或產(chǎn)生類似的產(chǎn)品問(wèn)題,達(dá)到缺陷預(yù)防的目的。
參考文獻(xiàn):
[1]朱少民,軟件測(cè)試方法和技術(shù) ,北京清華大學(xué)出版社
[2] 張海藩,軟件工程導(dǎo)論,北京清華大學(xué)出版社
[3] 吳信生:中國(guó)計(jì)算機(jī)報(bào)[n].http://www.csai.cn
[4] 鄭人杰,軟件測(cè)試技術(shù),北京清華大學(xué)出版社