系統(tǒng)測(cè)試概念學(xué)習(xí)
?
??? 系統(tǒng)測(cè)試的任務(wù)是把軟件放在實(shí)際的硬件和網(wǎng)絡(luò)環(huán)境中進(jìn)行測(cè)試,主要測(cè)試軟件的非功能需求和質(zhì)量屬性是否得到滿足。系統(tǒng)測(cè)試通常采用黑盒測(cè)試,強(qiáng)調(diào)的是功能而不是結(jié)構(gòu)。計(jì)算機(jī)軟件是基于計(jì)算機(jī)系統(tǒng)的一個(gè)重要組成部分,在系統(tǒng)測(cè)試之前,軟件工程師應(yīng)完成下列工作:
??? 1、為測(cè)試軟件系統(tǒng)的輸入信息設(shè)計(jì)出錯(cuò)處理通路;
??? 2、設(shè)計(jì)測(cè)試用例,模擬錯(cuò)誤數(shù)據(jù)和軟件界面可能發(fā)生的錯(cuò)誤,記錄測(cè)試結(jié)果,為系統(tǒng)測(cè)試提供經(jīng)驗(yàn)和幫助;
??? 3、參與系統(tǒng)測(cè)試的規(guī)劃和設(shè)計(jì),保證軟件測(cè)試的合理性。
?
系統(tǒng)測(cè)試應(yīng)該由若干個(gè)不同測(cè)試組成,目的是充分運(yùn)行系統(tǒng),驗(yàn)證系統(tǒng)各部件是否都能政黨工作并完成所賦予的任務(wù)。
?
下面簡(jiǎn)單討論幾類系統(tǒng)測(cè)試。
?
1、恢復(fù)測(cè)試
?
恢復(fù)測(cè)試主要檢查系統(tǒng)的容錯(cuò)能力。當(dāng)系統(tǒng)出錯(cuò)時(shí),能否在指定時(shí)間間隔內(nèi)修正錯(cuò)誤并重新啟動(dòng)系統(tǒng)。恢復(fù)測(cè)試首先要采用各種辦法強(qiáng)迫系統(tǒng)失敗,然后驗(yàn)證系統(tǒng)是否能盡快恢復(fù)。對(duì)于自動(dòng)恢復(fù)需驗(yàn)證重新初始化(reinitialization)、檢查點(diǎn)(checkpointing mechanisms)、數(shù)據(jù)恢復(fù)(data recovery)和重新啟動(dòng)(restart)等機(jī)制的正確性;對(duì)于人工干預(yù)的恢復(fù)系統(tǒng),還需估測(cè)平均修復(fù)時(shí)間,確定其是否在可接受的范圍內(nèi)。
??? 簡(jiǎn)單的說(shuō)恢復(fù)測(cè)試是指通過(guò)各種手段讓軟件強(qiáng)制性得發(fā)生故障,然后來(lái)驗(yàn)證恢復(fù)是否能正常的一種系統(tǒng)測(cè)試方式。
?
2、安全測(cè)試
?
安全測(cè)試檢查系統(tǒng)對(duì)非法侵入的防范能力。安全測(cè)試期間,測(cè)試人員假扮非法入侵者,采用各種辦法試圖突破防線。例如:①想方設(shè)法截取或破譯口令;②專門定做軟件破壞系統(tǒng)的保護(hù)機(jī)制;③故意導(dǎo)致系統(tǒng)失敗,企圖趁恢復(fù)之機(jī)非法進(jìn)入;④試圖通過(guò)瀏覽非保密數(shù)據(jù),推導(dǎo)所需信息,等等。理論上講,只要有足夠的時(shí)間和資源,沒(méi)有不可進(jìn)入的系統(tǒng)。因此系統(tǒng)安全設(shè)計(jì)的準(zhǔn)則是,使非法侵入的代價(jià)超過(guò)被保護(hù)信息的價(jià)值。此時(shí)非法侵入者已無(wú)利可圖。
?
3、強(qiáng)度測(cè)試(壓力測(cè)試)
?
強(qiáng)度測(cè)試檢查程序?qū)Ξ惓G闆r的抵抗能力。強(qiáng)度測(cè)試總是迫使系統(tǒng)在異常的資源配置下運(yùn)行。例如:①當(dāng)中斷的正常頻率為每秒一至兩個(gè)時(shí),運(yùn)行每秒產(chǎn)生十個(gè)中斷的測(cè)試用例;②定量地增長(zhǎng)數(shù)據(jù)輸入率,檢查輸入子功能的反映能力;③運(yùn)行需要最大存儲(chǔ)空間(或其他資源)的測(cè)試用例;④運(yùn)行可能導(dǎo)致虛存操作系統(tǒng)崩潰或磁盤數(shù)據(jù)劇烈抖動(dòng)的測(cè)試用例,等等。
??? 強(qiáng)度測(cè)試從本質(zhì)上來(lái)說(shuō),就是要知道“將系統(tǒng)折騰到什么程度而不會(huì)出錯(cuò)”
?
? 4、性能測(cè)試
?
對(duì)于那些實(shí)時(shí)和嵌入式系統(tǒng),軟件部分即使?jié)M足功能要求,也未必能夠滿足性能要求,雖然從單元測(cè)試起,每一測(cè)試步驟都包含性能測(cè)試,但只有當(dāng)系統(tǒng)真正集成之后,在真實(shí)環(huán)境中才能全面、可靠地測(cè)試運(yùn)行性能系統(tǒng)性能測(cè)試是為了完成這一任務(wù)。性能測(cè)試有時(shí)與強(qiáng)度測(cè)試相結(jié)合,經(jīng)常需要其他軟硬件的配套支持。
?
?????????????????????????????????????????????????
?
系統(tǒng)驗(yàn)收測(cè)試
?
?
??? 系統(tǒng)驗(yàn)收測(cè)試是最終用戶使用真實(shí)數(shù)據(jù)一段時(shí)間后進(jìn)行的最終系統(tǒng)測(cè)試,它給最終用戶、管理人員和信息系統(tǒng)操作管理人員最后一次機(jī)會(huì)決定接收或者拒絕系統(tǒng)。系統(tǒng)驗(yàn)收測(cè)試是一種詳細(xì)測(cè)試,涉及3個(gè)層面的驗(yàn)收測(cè)試,分別是驗(yàn)證測(cè)試、確認(rèn)測(cè)試和審計(jì)測(cè)試。
?
??? 1、驗(yàn)收測(cè)試:在一個(gè)模擬環(huán)境下使用模擬數(shù)據(jù)運(yùn)行系統(tǒng),主要尋找錯(cuò)誤和遺漏
??? 2、確認(rèn)測(cè)試:在一個(gè)實(shí)際環(huán)境中使用真實(shí)數(shù)據(jù)運(yùn)行系統(tǒng),可測(cè)試性能、峰值負(fù)載處理性能、方法和程序測(cè)試、備份和恢復(fù)測(cè)試等
??? 3、審計(jì)測(cè)試:證實(shí)系統(tǒng)沒(méi)有錯(cuò)誤并準(zhǔn)備好了,可以正式運(yùn)行。
?
?????????????????????????????????????????????????
?
黑盒測(cè)試
???
??? 黑盒測(cè)試也稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,它是在已知產(chǎn)品所應(yīng)具有的功能,通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否都能正常使用。在測(cè)試時(shí),把程序看作一個(gè)不能打開(kāi)的黑盆子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測(cè)試者在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說(shuō)明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫(kù)或文件)的完整性。黑盒測(cè)試方法主要有等價(jià)類劃分、邊值分析、因-果圖、錯(cuò)誤推測(cè)等,主要用于軟件確認(rèn)測(cè)試。
??? “黑盒”法著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試。“黑盒”法是窮舉輸入測(cè)試,只有把所有可能的輸入都作為測(cè)試情況使用,才能以這種方法查出程序中所有的錯(cuò)誤。實(shí)際上測(cè)試情況有無(wú)窮多個(gè),人們不僅要測(cè)試所有合法的輸入,而且還要對(duì)那些不合法但是可能的輸入進(jìn)行測(cè)試。
?
?
白盒測(cè)試
?
?
??? 白盒測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,它是知道產(chǎn)品內(nèi)部工作過(guò)程,可通過(guò)測(cè)試來(lái)檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說(shuō)明書的規(guī)定正常進(jìn)行,按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,檢驗(yàn)程序中的每條通路是否都有能按預(yù)定要求正確工作,而不顧它的功能,白盒測(cè)試的主要方法有邏輯驅(qū)動(dòng)、基路測(cè)試等,主要用于軟件驗(yàn)證。????
???
??? “白盒”法全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測(cè)試。“白盒”法是窮舉路徑測(cè)試。在使用這一方案時(shí),測(cè)試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測(cè)試數(shù)據(jù)。貫穿程序的獨(dú)立路徑數(shù)是天文數(shù)字。但即使每條路徑都測(cè)試了仍然可能有錯(cuò)誤。第一:窮舉路徑測(cè)試絕不能查出程序違反了設(shè)計(jì)規(guī)范,即程序本身是個(gè)錯(cuò)誤的程序;第二:窮舉路徑測(cè)試不可能查出程序中因遺漏路徑而出錯(cuò);第三:窮舉路徑測(cè)試可能發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯(cuò)誤。
?
?
?????????????????????????????????????????????????
-The End-