1. 傳統軟體測試
過程中的問題
測試在所有的軟體開發過程中都是最重要的部分。在軟體開發過程中,一方面要求我們通過測試活動驗證所開發的軟體在功能上滿足軟體需求中描述的每一條特性,效能上滿足客戶要求的負載壓力和相應的響應時間、吞吐量要求;另一方面,面向市場和客戶,開發團隊還要滿足在預算範圍內盡快發布軟體的要求。 傳統的軟體測試
流程一般是先在軟體開發過程中進行少量的單元測試,然後在整個軟體開發結束階段,集中進行大量的測試,包括功能和效能的整合測試和系統測試。隨著開發的軟體專案越來越複雜,傳統的軟體測試
流程不可避免地給我們的工作帶來以下問題:
問題一:專案進度難於控制,專案管理難度加大
如圖一所示,大量的軟體錯誤往往只有到了專案後期系統測試時才能夠被發現,解決問題所花的時間很難預料,經常導致專案進度無法控制,同時在整個軟體開發過程中,專案管理人員缺乏對軟體質量
狀況的了解和控制,加大了專案管理難度。
圖一、傳統測試流程中存在的問題
問題二:對於專案風險的控制能力較弱
專案風險在專案開發較晚的時候才能夠真正降低。往往是經過系統測試之後,才真正確定該設計是否能夠滿足系統功能、效能和可靠性方面的需求。
問題三:軟體專案開發費用超出預算
在整個軟體開發周期中,錯誤發現的越晚,單位錯誤修復成本越高,如圖二所示,錯誤的延遲解決必然導致整個專案成本的急劇增加。
圖二、傳統測試流程中存在的問題
2. 採用軟體自動化測試工具
是解決傳統測試問題的最佳成功經驗
軟體自動化測試技術
核心的三個最佳成功經驗是:盡早測試、連續測試、自動化測試,並在此基礎上提供了完整的軟體測試
流程和一整套的軟體自動化測試工具
,使我們最終能夠做到:乙個測試團隊,基於一套完整的軟體測試
流程,使用一套完整的自動化軟體測試工具
,完成全方位的軟體質量
驗證。2.1成功經驗一:盡早測試
所謂盡早測試是指在整個軟體開發生命週期中通過各種軟體工程技術盡量早的完成各種軟體測試
任務的一種思想。軟體自動化測試工具
主要在以下三個方面為我們提供的盡早測試的軟體工程技術:
首先,軟體的整個測試生命週期是與軟體的開發生命週期基本平齊的過程,當需求分析基本明確後我們就應該基於需求分析的結果和整個專案計畫來進行軟體的測試計畫;伴隨著分析設計過程同時應該完成測試用例的設計;當軟體的第乙個發布出來後,測試人員要馬上基於它進行測試指令碼的實現,並基於測試計畫中的測試目的執行測試用例,對測試結果進行評估報告。這樣,我們可以通過各種測試指標實時監控專案質量狀況,提高對整個專案的控制和管理能力。
其次,通過迭代是軟體開發把原來的整個軟體開發生命週期分成多個迭代週期,在每個迭代週期都進行測試,這樣在很大程度上提前了軟體系統測試發生的時間,這可以在很大程度上降低專案風險和專案開發成本。
最後,軟體自動化測試工具
的盡早測試成功經驗還體現在它擴充套件了傳統軟體測試
階段從單元測試、整合測試到系統測試、驗收測試的劃分,將整個軟體的測試按階段劃分成開發員測試和系統測試兩個階段,如圖三所示,它把軟體的測試責無旁貸地擴充套件到整個開發人員的工作過程。通過提前測試發生的時間來盡早地提高軟體質量
、降低軟體測試
成本。圖
三、軟體自動化
測試工具
測試方法對測試階段的劃分
2.2.成功經驗二:連續測試
測試成功經驗連續測試是從迭代式軟體開發模式得來。在迭代化的方法中,我們將整個專案的開發目標劃分成為一些更易於完成和達到的階段性小目標,這些小目標都有乙個定義明確的階段性評估
標準。迭代就是為了完成一定的階段性目標而從事的一系列開發活動,在每個迭代開始前都要根據專案當前的狀態和所要達到的階段性目標制定迭代計畫,而且每個迭代中都包括需求、設計、編碼、整合、測試等一系列的開發活動,都會增量式整合一些新的系統功能。通過每次迭代,我們都產生乙個可執行的系統,通過對於這個可執行系統的測試來評估該次迭代有沒有達到預定的迭代目標,並以此為依據來制定下一次迭代的目標。由此可見,在迭代式軟體開發的每個迭代週期我們都會進行軟體測試
活動,整個軟體測試
的完成是通過每個迭代週期不斷增量測試和回歸測試實現的。
採用連續測試的軟體成功測試經驗,不但能夠持續的提高軟體質量
、監控質量狀態,同時也使系統測試的盡早實現成為可能。從而有效的控制開發風險、減低測試成本和保證專案進度。
2.3.成功經驗三:自動化測試
在整個軟體的測試過程中要想實現盡早測試、連續測試,可以說完善的測試流程是前提,自動化測試工具
是保證。軟體自動化測試工具
的自動化測試成功經驗主要是指利用軟體測試工具
提供完整的軟體測試
流程的支援和各種測試的自動化實現。
為了使各種軟體測試
團隊更好地進行測試,軟體自動化測試工具
在提供了測試成功經驗之外,還為我們提供了一整套的軟體測試
流程和自動化測試工具
,使軟體測試
團隊能夠從容不迫地完成整個測試任務。
軟體自動化測試工具
主要為軟體測試
團隊提供測試成功經驗、自動化測試工具
和全方位的諮詢服務三方面的支援,最終實現:乙個測試團隊,基於一套完整的軟體測試
流程,使用一套完整的自動化軟體測試工具
,完成全方位的軟體質量
驗證,這正是軟體自動化測試工具
測試解決方案的精髓和終極目標。
軟體測試自動化
只有當系統的介面元素不會頻繁的變化 系統功能基本穩定,已經通過一至兩輪的手工測試,確定系統不會存在重大缺陷時,才可以考慮自動化的實施。使用自動化測試工具代替手工完成一些測試任務,現在國內主流的測試工具是loadrunner 和qtp。lr 效能測試工具 和qtp 自動化測試工具 的區別 1 lr 基...
軟體測試 自動化測試 回歸測試
軟體測試可分為以下幾類 1.單元測試。單元測試是針對程式中最小的可以測試的 塊進行驗證,比如中的乙個類。由此可見單元測試是和開發很接近的測試,其測試用例一般由開發人員編寫。敏捷開發模式中有一種開發模式叫做測試驅動開發模式,其主體思想即在 實現之前先實現單元測試用例。而程式編寫目的以程式功能通過單元測...
軟體測試之自動化測試
自動化測試的優勢 能夠極大地提公升測試的效率,測試人員可以迅速地在指定平台部署測試指令碼且對相應功能進行測試。弱化 了軟體測試人員個體差異對測試結果的影響。提高整個測試團隊的技能水平。自動化測試的缺陷 自動化測試的缺陷在於 總是按照既定的流程往下走,不能像人一樣隨機應變。一旦功能發生變動,就需要重新...