客戶至上 誠信經(jīng)營
Product category
測(cè)試前要確定測(cè)試標(biāo)準(zhǔn)、規(guī)范,測(cè)試過程中要建立完整的測(cè)試文檔,把軟件置于配置控制下,用形式化的步驟去改變它,保證任何錯(cuò)誤及對(duì)錯(cuò)誤的動(dòng)作都能及時(shí)歸檔。
測(cè)試規(guī)范包括以下三類文檔:砂塵試驗(yàn)箱
(1)測(cè)試設(shè)計(jì)規(guī)范:詳細(xì)描述測(cè)試方法,規(guī)定該設(shè)計(jì)及其有關(guān)測(cè)試所包括的特性。還應(yīng)規(guī)定完成測(cè)試所需的測(cè)試用例和測(cè)試規(guī)程,規(guī)定特性的通過/失敗判定準(zhǔn)則。
(2)測(cè)試用例規(guī)范:列出用于輸入的具體值及預(yù)期輸出結(jié)果。規(guī)定在使用具體測(cè)試用例時(shí)對(duì)測(cè)試規(guī)程的各種限制。
(3)測(cè)試規(guī)程規(guī)范:規(guī)定對(duì)于運(yùn)行該系統(tǒng)和執(zhí)行的測(cè)試用例來實(shí)現(xiàn)有關(guān)測(cè)試所要求的所有步驟。
測(cè)試的方法多種多樣:
(1)走查(Walk-through),即手工執(zhí)行,由不同的程序員(非該模塊設(shè)計(jì)者)讀代碼,并進(jìn)行評(píng)論。
(2)機(jī)器測(cè)試,對(duì)給定的輸入不會(huì)產(chǎn)生不合邏輯的輸出。
(3)程序證明或交替程序表示。
(4)模擬測(cè)試,模擬硬件、I/O設(shè)備等。
(5)設(shè)計(jì)審查,關(guān)于設(shè)計(jì)的所有各方面的小組討論會(huì),砂塵試驗(yàn)箱利用所獲得的信息,找出缺陷及違反標(biāo)準(zhǔn)的地方等。
以上可以交替并行循環(huán)執(zhí)行,在實(shí)際測(cè)試過程中要使用測(cè)試工具提率。
除正常的測(cè)試之外,還要對(duì)軟件進(jìn)行可靠性測(cè)試,確保軟件中沒有對(duì)可靠性影響較大的故障。制定測(cè)試計(jì)劃方案,按實(shí)際使用的概率分布隨機(jī)選擇輸入,準(zhǔn)確記錄運(yùn)行時(shí)間和結(jié)果,并對(duì)結(jié)果進(jìn)行評(píng)價(jià)。
沒有錯(cuò)誤的程序同永動(dòng)機(jī)一樣是不可能達(dá)到的。一般常用排錯(cuò)方法有試探法、追溯法、歸納法、演繹法。還要使用適當(dāng)?shù)呐佩e(cuò)工具,如UNIX提供的sdb和dbx編碼排錯(cuò)工具,這些排錯(cuò)工具只有瀏覽功能,沒有修改功能,是實(shí)際的找錯(cuò)工具。
6.容錯(cuò)設(shè)計(jì)
提高可靠性的技術(shù)一般可以分為兩類,一類是避免故障,砂塵試驗(yàn)箱在開發(fā)過程中,盡可能不讓差錯(cuò)和缺陷潛入軟件,這類常用的技術(shù)有:
算法模型化,把可以保證正確實(shí)現(xiàn)需求規(guī)格的算法模型化。
模擬模型化,為了保證在確定的資源條件下的預(yù)測(cè)性能的發(fā)揮,使軟件運(yùn)行時(shí)間、內(nèi)存使用量及控制執(zhí)行模型化。
可靠性模型,使用可靠性模型,從差錯(cuò)發(fā)生頻度出發(fā),預(yù)測(cè)可靠性。
正確性證明,使用形式符號(hào)及數(shù)學(xué)歸納法等證明算法的正確性。
軟件危險(xiǎn)分析與故障樹分析:從設(shè)計(jì)或編碼的結(jié)構(gòu)出發(fā),追蹤軟件開發(fā)過程中潛入系統(tǒng)缺陷的原因。
分布接口需求規(guī)格說明:在設(shè)計(jì)的各階段使用形式的接口需求規(guī)格說明,以便驗(yàn)證需求的分布接口實(shí)現(xiàn)可能性與完備性。
這些技術(shù)一般都需要比較深厚的數(shù)學(xué)理論知識(shí)和模型化技術(shù)。
另一類就是采用冗余思想的容錯(cuò)技術(shù)。
容錯(cuò)技術(shù)的基本思想是使軟件內(nèi)潛在的差錯(cuò)對(duì)可靠性的影響縮小控制到zui低程度。
軟件的容錯(cuò)從原理上可分為錯(cuò)誤分析、破壞程度斷定、砂塵試驗(yàn)箱錯(cuò)誤恢復(fù)、錯(cuò)誤處理四個(gè)階段。
常用的軟件容錯(cuò)技術(shù)有N-版本技術(shù)、恢復(fù)塊技術(shù)、多備份技術(shù)等。
N-版本程序設(shè)計(jì)是依據(jù)相同規(guī)范要求獨(dú)立設(shè)計(jì)N個(gè)功能相等的程序(即版本)。獨(dú)立是指使用不同的算法,不同的設(shè)計(jì)語言,不同的測(cè)試技術(shù),甚至不同的指令系統(tǒng)等。
恢復(fù)塊技術(shù)是使用自動(dòng)前向錯(cuò)誤恢復(fù)的故障處理技術(shù)。
以上這些技術(shù)可參考有關(guān)文獻(xiàn),這里要說的是防錯(cuò)性程序設(shè)計(jì),在程序中進(jìn)行錯(cuò)誤檢查。被動(dòng)的防錯(cuò)性技術(shù)是當(dāng)?shù)竭_(dá)檢查點(diǎn)時(shí),檢查一個(gè)計(jì)算機(jī)程序的適當(dāng)點(diǎn)的信息。主動(dòng)的防錯(cuò)性技術(shù)是周期性地搜查整個(gè)程序或數(shù)據(jù),或在空閑時(shí)間尋找不尋常的條件。采用防錯(cuò)性程序設(shè)計(jì),是建立在程序員相信自己設(shè)計(jì)的軟件中肯定有錯(cuò)誤這一基礎(chǔ)上的,有的程序員可能對(duì)此不大習(xí)慣,砂塵試驗(yàn)箱因?yàn)樗赡芴嘈抛约?,相信自己的程序只有很少錯(cuò)誤,甚至沒有錯(cuò)誤,作為一個(gè)項(xiàng)目管理員應(yīng)該能說服他或者強(qiáng)制他采用這種技術(shù),雖然在設(shè)計(jì)時(shí)要花費(fèi)一定的時(shí)間,但這對(duì)提高可靠性很有用。