確認(rèn)測(cè)試
1.什么是確認(rèn)測(cè)試
確認(rèn)測(cè)試又稱有效性測(cè)試,其任務(wù)是驗(yàn)證軟件的有效性,即驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。當(dāng)軟件完成了集成測(cè)試且可運(yùn)行,所有軟件代碼都在配置管理控制下,已經(jīng)具備了合同規(guī)定的軟件確認(rèn)測(cè)試環(huán)境時(shí),可進(jìn)行確認(rèn)測(cè)試。軟件需求說(shuō)明書描述了全部用戶可見的軟件屬性,是軟件確認(rèn)測(cè)試的基礎(chǔ)。
2.確認(rèn)測(cè)試的內(nèi)容
確認(rèn)測(cè)試的內(nèi)容包括以下幾方面:
1)安裝測(cè)試
在安裝軟件系統(tǒng)時(shí),會(huì)有多種選擇。要分配和裝入文件與程序庫(kù),布置適用的硬件配置,進(jìn)行程序的連接。而安裝測(cè)試的目的不是查找軟件錯(cuò)誤,而是要查找出在這些安裝過(guò)程中出現(xiàn)的錯(cuò)誤。
2)功能測(cè)試
功能測(cè)試是依據(jù)需求文檔來(lái)測(cè)試軟件系統(tǒng)的功能是否正確。由于正確性是軟件最重要的質(zhì)量因素,所以功能測(cè)試必不可少。
3)性能測(cè)試
性能測(cè)試是測(cè)試軟件系統(tǒng)處理事務(wù)的速度,一方面是檢驗(yàn)性能是否符合需求;另一方面是為了得到某些性能數(shù)據(jù)以供參考。
特別是對(duì)于實(shí)時(shí)系統(tǒng)或嵌入式系統(tǒng),軟件只滿足要求的功能而達(dá)不到要求的性能是不可接受的,因此還需要進(jìn)行性能測(cè)試。性能測(cè)試可以出現(xiàn)在測(cè)試過(guò)程的各個(gè)階段,甚至在單元層次上,也可以進(jìn)行性能測(cè)試。
4)安全性測(cè)試
安全性測(cè)試是測(cè)試軟件系統(tǒng)防止非法入侵的能力,及系統(tǒng)有無(wú)漏洞。為此要了解破壞安全性的方法和工具,并設(shè)計(jì)一些模擬測(cè)試用例對(duì)系統(tǒng)進(jìn)行測(cè)試,力圖破壞系統(tǒng)的保護(hù)機(jī)構(gòu)以進(jìn)入系統(tǒng)。
5)兼容性測(cè)試
兼容性測(cè)試主要想驗(yàn)證軟件產(chǎn)品在不同版本之間的兼容性?;镜募嫒菪詼y(cè)試有兩類:向下兼容和交錯(cuò)兼容。向下兼容測(cè)試是測(cè)試軟件的新版本保留它早期版本的功能的情況;而交錯(cuò)兼容測(cè)試主要是驗(yàn)證共同存在的兩個(gè)不同但相關(guān)的產(chǎn)品之間的兼容性。
6)可使用性測(cè)試
可使用性測(cè)試主要從使用的合理性、方便性等角度對(duì)軟件系統(tǒng)進(jìn)行檢查,以發(fā)現(xiàn)人為因素或使用上的問(wèn)題。
7)文檔測(cè)試
文檔測(cè)試是檢查用戶文檔(如用戶手冊(cè))的清晰性。
3.確認(rèn)測(cè)試的基本方法
在確認(rèn)測(cè)試階段,首先要進(jìn)行有效性測(cè)試以及軟件配置復(fù)審,然后進(jìn)行驗(yàn)收測(cè)試和安裝測(cè)試,在通過(guò)了專家鑒定之后,才能成為可交付的軟件。
1.進(jìn)行有效性測(cè)試
有效性測(cè)試是在模擬的環(huán)境(可能就是開發(fā)的環(huán)境)下,運(yùn)用黑盒測(cè)試的方法,驗(yàn)證被測(cè)軟件是否滿足需求規(guī)格說(shuō)明書列出的需求。進(jìn)行有效性測(cè)試時(shí),首先需要根據(jù)要求制定測(cè)試計(jì)劃,規(guī)定要做測(cè)試的種類。還需制定一組測(cè)試步驟,描述具體的測(cè)試用例。通過(guò)實(shí)施預(yù)定的測(cè)試計(jì)劃和測(cè)試步驟來(lái)確定軟件的特性與需求是否相符,以確保滿足所有的軟件的功能需求、達(dá)到所有的軟件性能需求,并且所有的文檔都是正確且便于地使用。此外,對(duì)其他的軟件需求,例如兼容性、可移植性、可維護(hù)性、出錯(cuò)自動(dòng)恢復(fù)等,也都要進(jìn)行測(cè)試,確認(rèn)這些性質(zhì)是否得到滿足。
2.軟件配置復(fù)查
確認(rèn)測(cè)試的另一個(gè)重要環(huán)節(jié)是配置復(fù)審。復(fù)審的目的在于保證軟件配置齊全、分類有序,并且包括軟件維護(hù)所必需的細(xì)節(jié)。
除了按照合同規(guī)定的內(nèi)容和要求,由人工進(jìn)行軟件配置審查外,在確認(rèn)測(cè)試的過(guò)程中,應(yīng)當(dāng)嚴(yán)格遵守用戶手冊(cè)和操作手冊(cè)中規(guī)定的使用步驟,以便檢查相關(guān)文檔資料的正確性和完整性,并仔細(xì)記錄發(fā)現(xiàn)的錯(cuò)誤和遺漏,適當(dāng)?shù)剡M(jìn)行補(bǔ)充和改正。
3.a(chǎn)測(cè)試和b測(cè)試
在軟件交付使用之后,用戶將如何實(shí)際使用程序,對(duì)于開發(fā)者來(lái)說(shuō)是無(wú)法預(yù)測(cè)的。例如,用戶可能錯(cuò)誤的理解命令,或提供一些奇怪的數(shù)據(jù)組合,亦可能對(duì)設(shè)計(jì)者自認(rèn)明了的輸出信息迷惑不解等。因此,軟件是否真正滿足最終用戶的要求,應(yīng)由用戶進(jìn)行一系列驗(yàn)收測(cè)試。驗(yàn)收測(cè)試既可以是非正式的測(cè)試,也可以是有計(jì)劃的、系統(tǒng)性測(cè)試。但是一個(gè)軟件產(chǎn)品,可能擁有眾多的用戶,不可能讓每個(gè)用戶都來(lái)進(jìn)行驗(yàn)收,因此,往往采用稱為a、B測(cè)試的方法,以發(fā)現(xiàn)可能只有最終用戶才能發(fā)現(xiàn)的錯(cuò)誤。
a測(cè)試是由一個(gè)用戶在開發(fā)環(huán)境下進(jìn)行的測(cè)試,也可以是軟件開發(fā)公司組織內(nèi)部人員模擬各類用戶行對(duì)即將面市軟件產(chǎn)品(稱為a版本)進(jìn)行的測(cè)試。a測(cè)試的關(guān)鍵在于盡可能逼真地模擬實(shí)際運(yùn)行環(huán)境和用戶對(duì)軟件產(chǎn)品的操作并盡最大努力涵蓋所有可能的用戶操作方式,并在測(cè)試中試圖發(fā)現(xiàn)錯(cuò)誤并修正。a測(cè)試人員是除開產(chǎn)品開發(fā)人員之外首先見到產(chǎn)品的人,他們提出的功能和修改意見是特別有價(jià)值的。
經(jīng)過(guò)a測(cè)試調(diào)整的軟件產(chǎn)品稱為B版本。B測(cè)試是由軟件的多個(gè)用戶在一個(gè)或多個(gè)用戶的實(shí)際使用環(huán)境下進(jìn)行的測(cè)試。與a測(cè)試不同的是,開發(fā)者通常不在測(cè)試現(xiàn)場(chǎng)。在B測(cè)試中,用戶需要記錄所遇到的一切問(wèn)題,并要求用戶報(bào)告異常情況、提出批評(píng)意見。開發(fā)者在綜合用戶的報(bào)告之后,做出修改,最后將軟件產(chǎn)品交付給全體用戶使用。8測(cè)試著重于產(chǎn)品的支持性,包括文檔、客戶培訓(xùn)和支持產(chǎn)品生產(chǎn)能力,因此,只有當(dāng)a測(cè)試達(dá)到一定的可靠程度時(shí),才能開始B測(cè)試。
4.確認(rèn)測(cè)試結(jié)果
在全部確認(rèn)測(cè)試的測(cè)試用例運(yùn)行完后,就可以對(duì)軟件系統(tǒng)的測(cè)試結(jié)果進(jìn)行確認(rèn),軟件確認(rèn)測(cè)試的結(jié)果有兩種可能:
(1)測(cè)試結(jié)果與預(yù)期的結(jié)果相符,這說(shuō)明軟件的這部分功能和性能指標(biāo)滿足軟件需求說(shuō)明的要求,用戶可以接受。
(2)測(cè)試結(jié)果與預(yù)期的結(jié)果不符,這說(shuō)明軟件的這部分功能或性能特征不滿足軟件需求說(shuō)明的要求,用戶無(wú)法接受。此時(shí),需要開列一張軟件各項(xiàng)缺陷表或軟件問(wèn)題報(bào)告,通過(guò)與用戶的協(xié)商,解決所發(fā)現(xiàn)的缺陷和錯(cuò)誤。