目前流行的軟件測試有八項基本原則,這八項基本原則可以指導我們更有效的執(zhí)行軟件測試。

1、應當把“盡早和不斷的測試”作為開發(fā)者的座右銘

測試應該盡早進行,好在需求階段開始介入,不要等到軟件產(chǎn)品做完了才開始。

2、程序員應該避免檢查自己的程序,軟件測試應該由第三方構(gòu)造。程序員對自己的程序已經(jīng)產(chǎn)生抗體,所以測試自己的程序無法測試深層次的缺陷。

3、設計測試用例時應該考慮到合法的輸入和不合法的輸入以及各種邊界條件,特殊情況下要制造極端狀態(tài)和意外狀態(tài),比如網(wǎng)絡異常中斷,電源斷電等。

4、一定要注意測試中的錯誤集中發(fā)生現(xiàn)象,這和程序員的編程水平和習慣有很大的關系。測試中存在群集現(xiàn)象,錯誤喜歡發(fā)現(xiàn)在相同的模塊以及相關的開發(fā)人員編寫的程序。

5、對測試錯誤結(jié)果一定要有一個確認過程。一般由A測試出來的錯誤,一定要有一個B來確認。嚴重的錯誤可以召開評審會議進行討論和分析,對測試的結(jié)果要進行嚴格的確認,是否真的存在這個問題,問題的嚴重程度是否正確等。

6、制定嚴格的測試計劃,并把測試時間安排的盡量寬松。不要希望在極短的時間內(nèi)完成一個高水平的測試。一定要制定測試計劃,但不要為了做測試計劃文檔而制定測試計劃,測試計劃一定要有指導性。

7、回歸測試的關聯(lián)性一定要引起充分注意。修改一個錯誤而引起更多錯誤出現(xiàn)的現(xiàn)象并不少見。

8、妥善保存一切測試過程文檔。測試的重現(xiàn)性往往要靠測試文檔來體現(xiàn)。軟件測試過程中產(chǎn)生的文檔要納入配置管理庫,進行嚴格的版本控制,不能隨意的修改測試文檔,需要制定變更測試文檔的流程。

軟件測試經(jīng)驗:

1、測試的Good Enough原則。對于相對復雜的產(chǎn)品或系統(tǒng)來說,zero-bug是一種理想,good-enough則是我們的原則。Good-enough原則是一種權(quán)衡投入/產(chǎn)出比的原則:不充分的測試是不負責任的,而過分的測試是一種資源的浪費,同樣也是一種不負責任的表現(xiàn)。我們的操作困難在于,如何界定什么樣的測試是不充分的,什么樣的測試是過分的。針對這種情況,測試人員好制定低測試通過標準和測試內(nèi)容,然后具體問題具體分析。

2、測試的木桶原理和80-20原則。

1)依據(jù)軟件產(chǎn)品全面質(zhì)量管理的概念,產(chǎn)品質(zhì)量的關鍵因素是分析、設計和實現(xiàn),測試應該是融于其中的補充的檢查手段,是提高產(chǎn)品質(zhì)量的必要條件,也是提高產(chǎn)品質(zhì)量直接、uaijie的手段,但決不是一種根本手段。反過來說,如果把提高產(chǎn)品質(zhì)量的砝碼全部押在測試上,那將是一個漫長而恐怖的災難。

2)Bug的80-20原則。一般情況下,在分析、設計、實現(xiàn)階段的復審和測試工作能夠發(fā)現(xiàn)和避免80%的Bug,而系統(tǒng)測試又能找出其余Bug中的80%,后的4%的Bug可能只有在用戶的大范圍、長時間的使用之后才會暴露出來。因為測試只能盡可能多的發(fā)現(xiàn)缺陷,無法保證能發(fā)現(xiàn)所有錯誤。

3、測試人員永遠不要保證什么。在任何時候都不要表露出有了測試人員或者有了像你一樣的測試人員,產(chǎn)品沒有任何問題了。這是在自己打自己的嘴,測試人員要給自己留個退路,要表露出謙虛的一面,“盡量少在用戶使用時發(fā)現(xiàn)問題”,“我會竭盡全力做好測試工作”。

4、測試人員編寫的文檔是代表自己。測試人員的任何文檔代表的是你本人,所以文檔一定要寫的漂亮,所謂漂亮是要求格式、版面整齊,沒有錯別字,語言通順,表達清楚,沒有歧義,一般的技術(shù)人員都能讀懂你的文檔。

5、測試人員要學會逆向思維。開發(fā)人員一般都是從正面滿足需求,比較少去考慮不滿足需求的部分,測試人員要從逆向思維考慮,有哪些是開發(fā)人員沒有考慮到的、不滿足需求的部分。

6、編寫缺陷一定要保證重現(xiàn)。在保證重現(xiàn)缺陷的時候,要注意缺陷不要描述太?嗦,一般在3-個步驟要完成操作。

7、測試一定要依據(jù)需求。離開了需求,叫做你根本沒有真正測試被測項目。

8、關注對用戶不利的缺陷。要更多的考慮用戶能否正確、完整的使用被測軟件,用戶使用這套軟件能夠給他們的工作帶來好處。不要過多考慮用戶不在意的問題。

9、適當?shù)囊霚y試工具提高測試效率。完全的手工測試過程是非常浪費時間和資源的,所以測試人員應該根據(jù)公司的實際情況適當?shù)囊霚y試工具。一般情況首先引入的是測試管理工具,把整個測試過程管理起來,然后考慮其他測試工具。

10、測試人員是服務人員。整個項目組的人都是測試人員服務的對象,針對不同的人,我們應該提供不同的幫助與協(xié)助。