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