耐碎石沖擊試驗(yàn)機(jī)軟件測(cè)試與可靠性評(píng)估方法研究
耐碎石沖擊試驗(yàn)機(jī)軟件測(cè)試與可靠性評(píng)估方法研究
一.耐碎石沖擊試驗(yàn)機(jī)軟件測(cè)試的定義
軟件測(cè)試(Software testing)是軟件生存期(Software life cycle)中的一個(gè)重要階段,是軟件質(zhì)量保證的關(guān)鍵步驟。通俗地講,軟件測(cè)試就是在軟件投入運(yùn)行前,對(duì)軟件需求分析、設(shè)計(jì)規(guī)格說(shuō)明和編碼進(jìn)行zui終復(fù)審的活動(dòng)。1983年IEEE提出的軟件工程術(shù)語(yǔ)中給軟件測(cè)試下的定義是:“使用人工或自動(dòng)的手段來(lái)運(yùn)行或測(cè)定某個(gè)軟件系統(tǒng)的過(guò)程,其目的在于檢驗(yàn)它是否滿(mǎn)足規(guī)定的需求或弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別”。這個(gè)定義明確指出:軟件測(cè)試的目的是為了檢驗(yàn)軟件系統(tǒng)是否滿(mǎn)足需求。
從用戶(hù)的角度來(lái)看,普遍希望通過(guò)軟件測(cè)試暴露軟件中隱藏的錯(cuò)誤和缺陷,所以軟件測(cè)試應(yīng)該是“為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程”?;蛘哒f(shuō),軟件測(cè)試應(yīng)該根據(jù)軟件開(kāi)發(fā)各階段的規(guī)格說(shuō)明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一批測(cè)試用例(即輸入數(shù)據(jù)及其預(yù)期的輸出結(jié)果),并利用這些測(cè)試用例去運(yùn)行程序,以發(fā)現(xiàn)程序錯(cuò)誤或缺陷。
二.耐碎石沖擊試驗(yàn)機(jī)軟件測(cè)試的生命周期
測(cè)試主要依據(jù)是被試系統(tǒng)的研制任務(wù)書(shū)和技術(shù)規(guī)格書(shū),是對(duì)軟件整體功能和性能的綜合測(cè)試與評(píng)估。測(cè)試原理是軟件測(cè)試活動(dòng)的理論基礎(chǔ),測(cè)試方法是測(cè)試原理的實(shí)際應(yīng)用和獲得測(cè)試數(shù)據(jù)的手段?;谲浖墓残裕瑢?duì)于軟件的測(cè)試要遵循一般軟件的測(cè)試原理和方法。同時(shí),針對(duì)軟件的特性,必須找到合適的測(cè)試方法。測(cè)試用例的合理性對(duì)于軟件的測(cè)試與評(píng)估具有關(guān)鍵作用,而如何使設(shè)計(jì)的用例合情、合理并且典型有效并不容易。所以應(yīng)該與軟件的研制人員以及zui終用戶(hù)一起,有針對(duì)性地研究實(shí)際操作環(huán)境并加以描述,形成合理的測(cè)試用例集。另一方面,軟件運(yùn)行環(huán)境的復(fù)雜程度對(duì)軟件評(píng)估具有重要作用,所以應(yīng)產(chǎn)生盡量逼真的運(yùn)行背景以便于研究。軟件測(cè)試的周期如圖1所示。
實(shí)踐證明,盡管人們?cè)陂_(kāi)發(fā)軟件的過(guò)程中使用了許多保證軟件質(zhì)量的方法和技術(shù),但開(kāi)發(fā)出的軟件中還會(huì)隱藏許多錯(cuò)誤和缺陷。這對(duì)于規(guī)模大、復(fù)雜性高的軟件更是如此。所以,嚴(yán)格的軟件測(cè)試對(duì)于保證軟件質(zhì)量具有重要作用。
軟件測(cè)試在軟件生存期中橫跨兩個(gè)階段。在軟件編碼階段,當(dāng)編寫(xiě)出一個(gè)模塊后,通常要對(duì)它進(jìn)行必要的測(cè)試(稱(chēng)為單元測(cè)試),這時(shí)測(cè)試與編碼屬于同一個(gè)階段。在編碼階段結(jié)束后,對(duì)軟件系統(tǒng)還要進(jìn)行各種綜合測(cè)試(集成測(cè)試與系統(tǒng)測(cè)試),這是一個(gè)獨(dú)立階段,即軟件測(cè)試階段。在這個(gè)測(cè)試階段又有兩種性質(zhì)不同的測(cè)試:研制單位內(nèi)部進(jìn)行的集成測(cè)試和系統(tǒng)測(cè)試與用戶(hù)(或第三方)進(jìn)行的驗(yàn)收性測(cè)試。
在軟件測(cè)試生命周期內(nèi),錯(cuò)誤在軟件開(kāi)發(fā)的每個(gè)階段都可能被帶入。在軟件測(cè)試中,某些錯(cuò)誤被發(fā)現(xiàn)、分類(lèi)、隔離,zui終被糾正。由于軟件不斷被修改,所以這個(gè)過(guò)程是一個(gè)反復(fù)進(jìn)行的過(guò)程。
三.耐碎石沖擊試驗(yàn)機(jī)測(cè)試方法和流程
軟件測(cè)試方法主要有黑箱測(cè)試方法與白箱測(cè)試兩類(lèi)。黑箱測(cè)試又稱(chēng)功能測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于規(guī)格說(shuō)明的測(cè)試,是在*不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,檢查輸入與輸出之間關(guān)系是否符合要求。白箱測(cè)試又稱(chēng)結(jié)構(gòu)測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于程序的測(cè)試,是在已知程序內(nèi)部結(jié)構(gòu)的情況下設(shè)計(jì)測(cè)試用例的測(cè)試方法。顯然,白箱測(cè)試適合在單元測(cè)試中運(yùn)用,而在獨(dú)立測(cè)試階段多采用黑箱測(cè)試方法。
測(cè)試用例(Test case)實(shí)際上是對(duì)軟件運(yùn)行過(guò)程中所有可能存在的目標(biāo)、運(yùn)動(dòng)、行動(dòng)、環(huán)境和結(jié)果的描述,是對(duì)客觀(guān)世界的一種抽象。設(shè)計(jì)測(cè)試用例即設(shè)計(jì)針對(duì)特定功能或組合功能的測(cè)試方案,并編寫(xiě)成文檔。測(cè)試用例應(yīng)該體現(xiàn)軟件工程的思想和原則。測(cè)試用例的選擇既要有一般情況,也應(yīng)有極限情況以及zui大和zui小的邊界值情況。因?yàn)闇y(cè)試的目的是暴露應(yīng)用軟件中隱藏的缺陷,所以在設(shè)計(jì)選取測(cè)試用例和數(shù)據(jù)時(shí)要考慮那些易于發(fā)現(xiàn)缺陷的測(cè)試用例和數(shù)據(jù),結(jié)合復(fù)雜的運(yùn)行環(huán)境,在所有可能的輸入條件和輸出條件中確定測(cè)試數(shù)據(jù),來(lái)檢查應(yīng)用軟件是否都能產(chǎn)生正確的輸出。