淺談軟件測試中自動化測試初探

發表于:2011-10-14來源:未知作者:領測軟件測試網采編點擊數: 標簽:
摘要:本文介紹[1]了軟件測試中的自動化測試,討論了什么是自動化測試、自動化測試的基本工作過程、自動化測試的應用范圍以及自動化測試與手工測試的優點和缺點,最后總結了自動化測試的未來發展方向。 關鍵字:軟件測試;自動化測試;手工測試

  摘要:本文介紹[1]了軟件測試中的自動化測試,討論了什么是自動化測試、自動化測試的基本工作過程、自動化測試的應用范圍以及自動化測試手工測試的優點和缺點,最后總結了自動化測試的未來發展方向。

  關鍵字:軟件測試;自動化測試;手工測試

  1引言

  無論采用哪種開發模型所開發出來的軟件系統,由于客觀系統的

  復雜性,加上人的主觀認識不可能完美,每個階段的技術復審也不可能毫不遺漏地查出和糾正所有的錯誤,再加上編碼階段也必須會引起新的錯誤,所以在軟件使用以前必須經過嚴格的軟件測試,通過測試盡可能找出軟件開發各階段的錯誤,從而得到高質量的軟件。它不只是為了保證軟件系統本身高質量,也保證整個軟件開發過程是高質量的。不僅如此,軟件測試還為風險評估準備信息,給開發人員或程序經理提供反饋信息。

  軟件測試可用手工來完成,目前大部分都是采用此測試方法。但是,軟件測試的工作量很大,據統計,測試會占用到40的開發時間;一些可靠性要求非常高的軟件,測試時間甚至占到開發時間的60。而測試中的許多操作是重復性的、非智力性的和非創造性的,并要求做準確細致的工作,計算機就最適合于代替人工去完成這樣的任務。這種讓計算機來代替人的部分手工測試工作的測試方法,我們稱之為自動化測試。它的準確定義是使用一種自動化測試工具來驗證各種軟件測試的需求,它包括測試活動的管理與實施,測試腳本的開發與執行。自動化測試使測試過程簡單并有效率,使測試過程更為快捷,沒有延誤。這就好比進行一項商業交易,我們已經知道了交易的具體過程,而我們所要做的是設計一套自動化的方法,使交易過程更簡單,成本更低。

  2自動化測試完成的工作

  2.1前期準備工作

  在對一個軟件系統進行測試之前,我們可以先改進被測試的產品,使它更容易被測試。有很多改進措施可以幫助測試人員更好的使用產品,也可以幫助測試人員更好的測試產品。比如一些產品很難安裝,可以直接改進產品的安裝程序,或者是開發一套自動安裝程序,目前有很多專門制作安裝程序的商用工具。

  我們也可以利用工具在測試執行的日志中查找錯誤,利用手工查找報錯的方法容易讓人感到乏味且易遺漏。這時我們可以仔細了解日志中記錄的錯誤信息格式,寫出一個錯誤掃描程序,使查錯自動化。

  2.2需求分析

  正如軟件生命周期有需求分析階段一樣,在制定測試方案之前也需要收集需求。定義自動化測試項目的需求要求我們全面地、清楚地考慮各種情況,然后給出權衡后的需求,并且可以使測試相關人員更加合理的提出自己對自動化測試的期望。

  開發管理者、測試管理者和測試人員實現自動化測試的目標常常是有差別的。除非三者之間達成一致,否則很難定義什么是成功的自動化測試。為了避免這種情況,需要在自動化測試需求上保持一致。應該有一份自動化測試需求,用來描述需要測試什么。測試需求應該在測試設計階段詳細描述出來,自動化測試需求描述了自動化測試的目標。

  2.3自動化測試工具的選擇

  我們可以自己根據要測試的軟件系統自己開發一個測試工具,但花費代價較大,鑒于此我們可以使用已成熟的測試工具。對于測試工具的選擇,要有專人針對不同的自動化測試,去評估究竟該使用哪種測試工具比較好。自動化測試工具又分單元測試工具、功能自動化工具和性能自動化工具,其中又分開源的和商業工具。究竟哪種工具更適合自己平臺的測試,還需要有專業人員進行評估。

  2.4自動化測試方案的制定

  自動化測試方案包括指明測試中需要什么樣的數據,并給出設計數據的完整方法;需要明確測試設計的細節描述,還應該描述測試的預期結果;完成測試設計文檔,需要描述清楚測試設計的思路;編寫測試腳本。對于腳本的開發我們需注意以下問題:

  第一、開發腳本必須遵循一些規范化,就類似于程序員編程規范一樣。我們的測試腳本就好比是我們測試人員的程序,同樣要形成一個編寫規范。因為養成這樣的好習慣,是為了能方便維護腳本,避免增加后期的維護量和方便使用者使用;

  第二、保證開發的腳本回放沒有問題的基礎上,適當增加出錯處理來增強腳本;

  第三、后期還可以在腳本中加入檢查點,這樣做的好處可以把原來需要人工去校驗的地方讓腳本去做;

  第四、在腳本中增加數據驅動方法,使腳本能覆蓋更多的分支路徑,進一步提高腳本的集成度。因為前面已經說過了,腳本是不會執行那些沒有被編寫進去的功能點的,所以說后期測試人員一旦發現這個地方有必要讓腳本來代替手工進行執行,就可以不斷的增強我們的自動化腳本。

  2.5可行性分析

  可行性分析是指驗證自動化測試項目的可行性,盡可能快地驗證你采用的測試工具和測試方法的可行性,站在產品的角度驗證產品采用自動化測試的可行性。同時要

  確定測試工具和測試方法對于被測試的產品和測試人員是否合適。選擇一個快速,有說服力的測試套,它是評估測試工具的最好的方式,它可以證明你所選測試工具和測試方法的正確性。

  2.6自動化測試的維護和擴充

  自動化測試是一個長期的過程,為了與產品新版本的功能和其他相關修改保持一致,自動化測試需要不停的維護和擴充。自動化測試設計中考慮自動化在未來的可擴充性是很關鍵的,不過,自動化測試的完整性也是很重要的。如果自動化測試程序報告測試用例執行通過,測試人員應該相信得到的結果,測試執行的實際結果也應該是通過了。其實,有很多存在問題的測試用例表面上執行通過了,實際上卻執行失敗了,并且沒有記錄任何錯誤日志,這就是失敗的自動化。這種失敗的自動化會給整個項目帶來災難性的后果,而當測試人員構建的測試自動化采用了很糟糕的設計方案或者由于后來的修改引入了錯誤,都會導致這種失敗的測試自動化。失敗的自動化通常是由于沒有關注自動化測試的性能或者沒有充分的自動化設計導致的。

  3自動化測試應用的范圍

  自動化測試并不是要求全程自動化,使用自動化測試代價也非常之高。自動化測試主要是用在存在大量重復性的手工測試項目和測試時間比較長的項目。很多測試小組都是在回歸測試中采用自動化測試。所謂回歸測試指在修改了原軟件后,對其重新進行測試以確認修改沒有引入新的錯誤或導致其他代碼產生錯誤。它通常使用相同的測試用例和測試方法,自動化測試方法最適合。關于系統中模塊的測試,對那些最有可能出問題或者不會破壞原先設計的重構任務進行自動化測試,性價比最高。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97