軟件工程之測試和維護(hù)
文章脈絡(luò)
測試的重要性在此就不贅述了,先說一下測試基礎(chǔ):測試的目標(biāo)很簡單,就是為了找到軟件中尚未發(fā)現(xiàn)的錯誤的缺陷;測試階段在整個開發(fā)過程中所占比例不小,測試也不是想起兩個數(shù)據(jù)來就測試一下,而是需要規(guī)范的測試用例來完成,測試用例要既有輸入更要有輸出,同時需要有一個整體的規(guī)劃。
如何評價一個測試用例的好壞?不用看定義,按測試的目標(biāo)即可知道,一個好的測試用例就是可以發(fā)現(xiàn)錯誤和缺陷,一個更好的測試就是可以發(fā)現(xiàn)更多的錯誤。
軟件測試不是等編碼完成后在開始的,而是貫穿于整個開發(fā)過程,從開始的可行性分析階段即開始著手軟件測試。軟件測試有這么幾個原則:
● 盡早、不斷進(jìn)行軟件測試,一個錯誤越早發(fā)現(xiàn),改正它需要的改價就越小。
● 所有測試追溯到用戶需求,一個軟件最大的失敗就是不能滿足用戶需求。
● 測試應(yīng)當(dāng)是從小小規(guī)模到大規(guī)模測試的
● 遠(yuǎn)在測試之前就應(yīng)該制定測試計劃,為的是有計劃有步驟的執(zhí)行測試,不能讓測試耽誤整個軟件開發(fā)周期。
● 第三方測試,自己寫的代碼潛意識會跟自己說做的很好或者用自己的邏輯檢查自己的邏輯,從而漏掉錯誤。
● 對非法的輸入數(shù)據(jù)也像合法的數(shù)據(jù)一樣編寫用例。
● 檢查軟件是否做了不該做的事。
● 測試只能證明軟件有錯誤,不能證明軟件沒錯誤。
測試分類
從階段上可以分為:
單元測試
放在編程階段,可以由程序員對自己的模塊測試,測試模塊是否實(shí)現(xiàn)了詳細(xì)設(shè)計中規(guī)定的功能和算法,單元測試主要是發(fā)現(xiàn)編程和詳細(xì)設(shè)計中的錯誤,測試方法主要采用白盒測試,單元測試的計劃應(yīng)當(dāng)在詳細(xì)設(shè)計階段制定。
單元測試時,需要為模塊編寫驅(qū)動模塊和樁模塊,驅(qū)動模塊的作用是調(diào)用被測模塊,主要看測試結(jié)果是否正確;樁模塊的作用是供被測模塊調(diào)用,檢查調(diào)用參數(shù)的正確性。
集成測試:在模塊組裝完畢后檢測,主要是測試模塊間的接口和通信問題。集成測試主要是發(fā)現(xiàn)設(shè)計階段的錯誤,測試計劃應(yīng)當(dāng)于概要設(shè)計階段制定。
確認(rèn)測試:主要是測試軟件是否滿足需求說明中的功能、性能和其他約定,確認(rèn)測試應(yīng)當(dāng)在需求分析階段制定。
測試計劃制定與實(shí)施順序:
測試方法
測試方法分為白盒測試和黑盒測試。
白盒測試主要用于單元測試階段,它的前提是把程序看做是透明的,測試者知道程序中的結(jié)構(gòu)和算法。這種方法按照內(nèi)部邏輯設(shè)計測試用例,檢測程序中的分支是否正確工作。白盒測試常用的方式是邏輯覆蓋,按覆蓋程度分為六種,覆蓋強(qiáng)度由低到高:語句覆蓋、判定覆蓋、判定/條件覆蓋、條件組合覆蓋、路徑覆蓋。
黑盒測試主要用于集成測試和確認(rèn)測試,該方法把程序看做是不透明的,不考慮程序的結(jié)構(gòu)和算法,只測試軟件是否有選擇地接收數(shù)據(jù)并產(chǎn)生正確的輸出信息,黑盒測試常用的方式是等價類劃分、邊值分析、錯誤推測和因果圖。
維護(hù)
維護(hù)是指軟件交付到軟件淘汰修改或改進(jìn)軟件的過程,可能是軟件生命周期中最長的一個階段,所占花費(fèi)也占到大部分??删S護(hù)性包括可理解性、可測試性、可修改性,這點(diǎn)就要求必須把程序的注釋書寫完善、程序修改有文檔記錄、文檔與程序相對應(yīng)。
posted on 2012-11-15 11:18 順其自然EVO 閱讀(249) 評論(0) 編輯 收藏 所屬分類: 測試學(xué)習(xí)專欄