傳統軟件測試中存在的問題及解決方法
傳統的軟件測試流程:一般是在軟件開發過程中進行少量的單元測試。然后在整個軟件開發結束階段,集中進行大量的測試,包括功能和性能的集成測試和系統測試。隨著軟件開發的越來越復雜,傳統的軟件測試流程不可避免的給我們帶來以下問題:
問題一:項目進度難以控制,項目管理難度加大。
大量的軟件錯誤往往只有到了項目后期系統測試階段才被發現,解決問題花費的時間很難預料, 經常導致項目進度無法控制,同時在整個軟件開發過程中,項目管理人員缺乏對項目質量的了解和控制,加大了項目管理難度。
問題二:對項目風險的控制能力較弱項目風險在項目開發較晚的時候才能夠真正降低。往往是經過系統測試之后,才真正確定該設計是否能真正滿足系統功能、性能和可靠性方面的需求。
問題三:軟件項目開發費用超過預算。在整個軟件開發周期中,錯誤發現的越晚,單位錯誤修復成本越高,錯誤的延遲解決必然導致整個項目成本的急劇增加。
IBM Rational 軟件自動化測試最佳成功經驗解決傳統測試問題。
核心的三個最佳成功經驗是:盡早測試、連續測試,自動化測試,并在此基礎上提供了完整的軟件測試流程和一整套的軟件自動化工具,使我們最終能夠做到:一個測試團隊,基于一套完整的軟件測試流程,使用一套完整的自動化軟件測試工具,完成全方位的軟件質量驗證。
成功經驗一:盡早測試
所謂盡早測試是指在整個軟件開發周期中通過各種軟件工程技術盡量早的完成各種軟件測試任務的一種思想。IBM Rational 主要在以下三個方面為我們提供的盡早測試的軟件工程技術:
首先,軟件的整個測試生命周期是與軟件的開發生命周期基本平齊的過程。即當需求分析基本明確后我們就應該基于需求分析的結果和整個項目計劃來進行軟件的測試計劃;伴隨著分析設計過程同時應該完成測試用例的設計;當軟件的第一個發布出來后,測試人員要馬上基于它進行測試腳本的實現,并基于測試計劃中的測試目的執行測試用例,對測試結果進行評估報告。這樣,我們可以通過各項測試指標實時監控項目質量狀況,提高整個項目的控制和管理。
項目計劃、需求管理―――測試計劃
測試計劃、分析設計―――測試設計
測試設計―――測試實現
測試實現―――測試結果評估
其次,通過迭代是軟件開發把原來的整個軟件開發生命周期分成多個迭代周期,在每個迭代周期都進行測試,這樣在很大程度上提前了系統測試發生的時間,這在很大程度上降低了項目風險和項目開發成本。
最后,IBM Rational的盡早測試成功經驗還體現在它擴展了傳統測試階段從單元測試,集成測試到系統測試、驗收測試的劃分,將整個軟件的測試按階段劃分成開發員測試和系統測試兩個階段。它把軟件的測試責無旁貸的擴展到了整個開發開發人員的工作過程。通過提前測試發生的時間來盡早的提高軟件測試的質量、降低軟件測試成本。
成功經驗二:連續測試
測試成功經驗連續測試是從迭代式軟件開發模式得來的。在迭代化的方法中,我們將整個軟件的開發目標劃分為一系列更易于實現和達到的小目標,這些小目標都有定義明確的階段性評估標準。迭代就是為了完成一定的階段性目標而從事的一系列開發活動,在每個迭代開始前都要根據項目當前的狀態和所要達到的階段性目標制定迭代計劃,而且每個迭代過程中都包括需求,設計,編碼,集成,測試等一系列的開發活動,都會增量式集成一些新的系統功能。通過每次迭代都產生一個可運行的系統。通過對這個可運行系統的測試來評估該次迭代有沒有達到預定的迭代目標,并以此為依據來制定下一次迭代目標。由此可見,在迭代式軟件開發的每個迭代周期,我們都會進行軟件測試活動,整個軟件測試的完成是通過每個迭代周期不斷增量測試和回歸測試實現的。
成功經驗三:自動化測試
在整個軟件測試的過程中都要盡早測試,連續測試,可以說完善的測試流程是前提,自動化測試工具是保證。IBM Rational的自動化測試成功經驗主要是指利用軟件測試工具提供完整的軟件測試流程的支持和各種測試的自動化實現。
為了使軟件測試團隊更好的進行測試,IBM Rational在提供了測試成功經驗之外,還為我們提供了一整套的軟件測試流程和自動化測試工具,使軟件測試團隊可以從容不迫地完成測試任務。
posted on 2013-03-26 11:34 順其自然EVO 閱讀(195) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄