軟件測試需要一個“自覺”的過程(2)
發表于:2014-09-11來源:uml.org.cn作者:不詳點擊數:
標簽:軟件測試
80-20原則的另外一種情況是,我們在系統分析、系統設計、系統實現階段的復審,測試工作中能夠發現和避免80% 的軟件缺陷,此后的 系統測試 能夠幫助我
80-20原則的另外一種情況是,我們在系統分析、系統設計、系統實現階段的復審,測試工作中能夠發現和避免80% 的軟件缺陷,此后的
系統測試能夠幫助我們找出剩余缺陷中的80%,最后的5%的軟件缺陷可能只有在系統交付使用后用戶經過大范圍、長時間使用后才會曝露出來。因為軟件測試只能夠保證盡可能多地發現軟件缺陷,卻無法保證能夠發現所有的軟件缺陷。
80-20原則還能反映到軟件測試的
自動化方面上來,實踐證明80%的軟件缺陷可以借助人工測試而發現,20%的軟件缺陷可以借助
自動化測試能夠得以發現。由于這二者間具有交叉的部分,因此尚有5%左右的軟件缺陷需要通過其他方式進行發現和修正。
為效益而測試
為什么我們要實施軟件測試,是為了提高項目的質量效益最終以提高項目的總體效益。為此我們不難得出我們在實施軟件測試應該掌握的度。軟件測試應該在軟件測試成本和軟件質量效益兩者間找到一個平衡點。這個平衡點就是我們在實施軟件測試時應該遵守的度。單方面的追求都必然損害軟件測試存在的價值和意義。一般說來,在軟件測試中我們應該盡量地保持軟件測試簡單性,切勿將軟件測試過度復雜化,拿物理學家愛因斯坦的話說就是: Keep it simple but not too simple。
缺陷的必然性
軟件測試中,由于錯誤的關聯性,并不是所有的軟件缺陷都能夠得以修復。某些軟件缺陷雖然能夠得以修復但在修復的過程中我們會難免引入新的軟件缺陷。很多軟件缺陷之間是相互矛盾的,一個矛盾的消失必然會引發另外一個矛盾的產生。比如我們在解決通用性的缺陷后往往會帶來執行效率上的缺陷。更何況在缺陷的修復過程中,我們常常還會受時間、成本等方面的限制因此無法有效、完整地修復所有的軟件缺陷。因此評估軟件缺陷的重要度、影響范圍,選擇一個折中的方案或是從非軟件的因素(比如提升硬件性能)考慮軟件缺陷成為我們在面對軟件缺陷時一個必須直面的事實。
軟件測試必須有預期結果
沒有預期結果的測試是不可理喻的。軟件缺陷是經過對比而得出來的。這正如沒有標準無法進行度量一樣。如果我們事先不知道或是無法肯定預期的結果,我們必然無法了解測試正確性。這很容易然人感覺如盲人摸象一般,不少測試人員常常憑借自身的感覺去評判軟件缺陷的發生,其結果往往是把似是而非的東西作為正確的結果來判斷,因此常常出現誤測的現象。
軟件測試的意義——事后分析
軟件測試的目的單單是發現缺陷這么簡單嗎?如果是“是”的話,我敢保證,類似的軟件缺陷在下一次新項目的軟件測試中還會發生。古語說得好,“不知道歷史的人必然會重蹈覆轍”。沒有對軟件測試結果進行認真的分析,我們就無法了解缺陷發生的原因和應對措施,結果是我們不得不耗費的大量的人力和物力來再次查找軟件缺陷。很可惜,目前大多測試團隊都沒有意識到這一點,測試報告中缺乏測試結果分析這一環節。
結論:
軟件測試是一個需要“自覺”的過程,作為一個測試人員,遇事沉著,把持尺度,從根本上應對軟件測試有著正確的認識,希望本文對讀者對軟件測試的認識有所幫助。
原文轉自:http://www.uml.org.cn/Test/200607251.htm