軟件工程中有相當(dāng)部分是關(guān)于軟件測試的:
1、測試概念的范疇
廣義上講,測試是指軟件產(chǎn)品生存周期內(nèi)所有的檢查、評審和確認活動。如:設(shè)計評審、系統(tǒng)測試。狹義上講,測試是對軟件產(chǎn)品質(zhì)量的檢驗和評價。它一方面檢查軟件產(chǎn)品質(zhì)量中存在的質(zhì)量問題,同時對產(chǎn)品質(zhì)量進行客觀的評價。
2、測試的目的
簡單地說,就是替用戶受過,測試的終目的是確保終交給用戶的產(chǎn)品的功能符合用戶的需求,把盡可能多的問題在產(chǎn)品交給用戶之前發(fā)現(xiàn)并改正。在可接受的開銷下,提高對軟件的信心。
具體地講,測試一般要達到下列目標:
1) 確保產(chǎn)品完成了它所承諾或公布的功能,并且所有用戶可以訪問到的功能都有明確的書面說明------在某種意義上與ISO9001是同一種思想。,書面文檔的不健全甚至不正確,也是測試工作中遇到的和頭痛的問題,它的直接后果是測試效率低下、測試目標不明確、測試范圍不充分,從而導(dǎo)致終測試的作用不能充分發(fā)揮、測試效果不理想。
2) 確保產(chǎn)品滿足性能和效率的要求
使用起來系統(tǒng)運行效率低(性能低)、或用戶界面不友好、用戶操作不方便(效率低)的產(chǎn)品不能說是一個有競爭力的產(chǎn)品。用戶關(guān)心的不是你的技術(shù)有多先進、功能有多強大,而是他能從這些技術(shù)、這些功能中得到多少好處。也就是說,用戶關(guān)心的是他能從中取出多少,而不是你已經(jīng)放進去多少。
3) 確保產(chǎn)品是健壯的和適應(yīng)用戶環(huán)境的
健壯性即穩(wěn)定性,是產(chǎn)品質(zhì)量的基本要求,尤其對于一個用于事務(wù)關(guān)鍵或時間關(guān)鍵的工作環(huán)境中。另外就是不能假設(shè)用戶的環(huán)境(某些項目可能除外)。
3、 測試的原則---GoodEnough
對于相對復(fù)雜的產(chǎn)品或系統(tǒng)來說,zero-bug是一種理想,good-enough是我們的原則。
Good-enough原則就是一種權(quán)衡投入 / 產(chǎn)出比的原則:不充分的測試是不負責(zé)任的;過分的測試是一種資源的浪費,同樣也是一種不負責(zé)任的表現(xiàn)。我們的操作困難在于:如何界定什么樣的測試是不充分的,什么樣的測試是過分的。目前狀況可用的答案是:制定測試通過標準和測試內(nèi)容,然后具體問題具體分析。
4、 測試的規(guī)律----木桶原理和80-20原則
1) 木桶原理。
在軟件產(chǎn)品生產(chǎn)方面就是全面質(zhì)量管理(TQM)的概念。產(chǎn)品質(zhì)量的關(guān)鍵因素是分析、設(shè)計和實現(xiàn),測試應(yīng)該是融于其中的補充檢查手段,其他管理、支持、甚至文化因素也會影響終產(chǎn)品的質(zhì)量。應(yīng)該說,測試是提高產(chǎn)品質(zhì)量的必要條件,也是提高產(chǎn)品質(zhì)量直接、快捷的手段,但決不是一種根本手段。反過來說,如果將提高產(chǎn)品質(zhì)量的砝碼全部押在測試上,那將是一個恐怖而漫長的災(zāi)難。
2) Bug的80-20原則。
一般情況下,在分析、設(shè)計、實現(xiàn)階段的復(fù)審和測試工作能夠發(fā)現(xiàn)和避免80%的Bug,而系統(tǒng)測試又能找出其余Bug中的80%,的5%的Bug可能只有在用戶的大范圍、長時間使用后才會曝露出來。因為測試只能夠保證盡可能多地發(fā)現(xiàn)錯誤,無法保證能夠發(fā)現(xiàn)所有的錯誤。
5、傳統(tǒng)測試流程遇到的挑戰(zhàn)和對策----問題發(fā)現(xiàn)得越早,解決的代價就越小
對于測試理論,主要依據(jù)軟件生命周期V字模型,可見軟件測試貫穿了軟件開發(fā)周期的大半,其各級測試的依據(jù)是對應(yīng)開發(fā)階段的各種詳細文檔。測試目前主要依賴于:測試人員的經(jīng)驗和素質(zhì);產(chǎn)品說明文檔和項目組的技術(shù)咨詢;測試工具的使用;測試計劃的設(shè)計。
6、測試分類
按功能分:
–白盒測試(Whitetest)
–黑盒測試(BlackTest)
按測試時間來分:
–單元測試(UnitTest)
–集成測試(IntegrateTest)
–確認測試(ValidationTest)
–系統(tǒng)測試(SystemTest)
按運行狀態(tài)來分:
–靜態(tài)測試(StaticTest)
–動態(tài)測試(DynamicTest)
按方向來分:
–正向測試
–逆向測試
7、測試策略:
測試策略描述測試工程的總體方法和目標。描述目前在進行哪一階段的測試(單元測試、集成測試、系統(tǒng)測試)以及每個階段內(nèi)在進行的測試種類(功能測試、性能測試、覆蓋測試等)。
測試策略包括:
1、要使用的測試技術(shù)和工具;
2、測試完成標準;
3、影響資源分配的特殊考慮例如測試與外部接口或者模擬物理損壞、安全性威脅。測試計劃關(guān)鍵的一步就是將軟件分解成單元,按照需求編寫測試計劃。
把軟件分解成單元有幾個好處:
1、軟件需求是測試設(shè)計和開發(fā)測試用例的基礎(chǔ),分成單元可以更好地進行設(shè)計;
2、詳細的測試需求是用來衡量測試覆蓋率的重要指標;
3、測試的需求包括各種測試實際的開發(fā)以及所需資源。
測試計劃的輸入為被測軟件、基于需求的測試設(shè)計;輸出為測試過程和測試用例通過設(shè)計測試計劃創(chuàng)建可以重用的測試過程和測試用例,同時維護測試過程、測試用例與相關(guān)測試需求的一一對應(yīng)。
測試的經(jīng)驗之談
更新時間: 2005-08-26 00:00:00來源: 粵嵌教育瀏覽量:4200