• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 軟件測試自動化是變革而非革命

    發表于:2011-07-25來源:未知作者:領測軟件測試網采編點擊數: 標簽:自動化測試
    “有足夠的時間把每個案例都測試完整嗎?” “沒有!” 我想,人們會異口同聲地回答。 總有很多用例需要測試,或者需要在另一個平臺或以其他配置再試一次。但是隨著最終期限和產品交付日期的日益迫近,分配給每個測試周期的時間縮短了。那么,

      “有足夠的時間把每個案例都測試完整嗎?”

      “沒有!” 我想,人們會異口同聲地回答。

      總有很多用例需要測試,或者需要在另一個平臺或以其他配置再試一次。但是隨著最終期限和產品交付日期的日益迫近,分配給每個測試周期的時間縮短了。那么,測試團隊如何實現低成本高效率的測試呢?

      有合理的機制防止測試設計時場景遺漏,力求正式版本Release之前找出瓶頸;引入合適的自動化測試工具,充分利用無人值守的夜間和假日;自主開發針對性強的測試框架。以上都是為了盡可能地減少項目維護階段的投入,而采取的行之有效的測試策略。其中,自動化測試毫無疑問地在測試效率和徹底性方面使我們獲益匪淺,幫助團隊實現降本增效的目的。

      對于“什么是自動化測試” ,人們往往理解得過于狹窄,只關心由工具或編程產生的測試腳本,但實際上自動化一詞包含了更為廣闊的含義。一個Quality Engineering團隊在構建一套自動化測試準則時,對自動化測試是這樣定義的:在我們的環境中,“自動化”指的是對策略、工具和工件的使用,它增加或減少了手工或人為參與或干預非技巧性、重復或冗長工作的需要。

      自動化測試,或者說自動化測試策略及工具的實現,是測試人員工具箱里的一件利器。測試工作自動執行并記錄測試結果,可以把測試人員從枯燥的重復性工作中解脫出來,將更多精力和時間專注于需要智能判斷的復雜工作和其他新的測試用例。這樣,不但可以有效提高測試效率、縮短測試特別是回歸測試所需時間,還可以在晚上、周末等測試人員不在場的情況下充分利用測試服務器資源、提高測試覆蓋率。盡管如此,我們要避免將自動化測試和測試人員等同起來,不要對自動化測試要求過高。我們要對自動化測試樹立一個正確的觀感,清醒地認識到自動化測試是人工測試的有力補充,而無法取代測試人員的地位。

      沒有一種單純的技術或管理上的進步,能夠獨立地承諾在10年內大幅度地提高軟件的生產率、可靠性和簡潔性。Frederick P. Brooks, Jr. 鼓勵我們將技術和方法視作一種演進手段,而并非革命。將自動化技術引入測試工作時,我們傾向于支持相同的觀點。“羅馬城不是一天建成的。”自動化測試也是一個積累經驗、循序漸進的過程,不要期望在短期內實現所有測試的自動化。成功的自動化測試需要制定相應的自動化測試計劃,好的自動化測試策略是自動化測試實施是否成功的第一步。只有充分考慮到自身實施自動化測試的風險、資源和目標后,才能制定出適合自己的自動化測試策略,并最終達到提高測試效率,降低測試成本的目的。

      (一)軟件自動化測試技術選擇:駛入測試“快車道”

      軟件測試,特別是測試自動化技術屬于當前國際軟件界最有爭議,亟待發展的技術。所謂自動化測試就是希望能夠通過自動化測試工具或其他手段,按照測試工程師的預定計劃進行自動的測試,目的是減輕手工測試的勞動量,從而達到提高軟件質量的目的。

      測試工具

      在進行測試活動時,采用合適的測試方法和相對應的自動化測試工具是至關重要的。

      1.靜態分析工具

      靜態分析工具的特點是一種直接對代碼進行分析,不需要運行代碼,也不需要對代碼編譯鏈接,生成可執行文件,從中尋找可能導致錯誤的異常情況的測試工具。靜態測試工具一般是對代碼進行語法掃描,找出不符合編碼規范的地方,根據某種質量模型評價代碼的質量,生成系統的調用關系圖等。

      ● 靜態確認工具

      對源程序進行靜態分析和確認,從而發現某些常見的錯誤。這樣的測試工具還能進行不可靠結構的檢查,識別出可疑的易出錯的結構,并進行危險變量的監視。

      ● 符號執行工具

      以符號值作為程序的輸入,使程序符號執行。系統可以“窮盡”測試符號的選擇,以便能自動或者交互地檢查符號執行樹的每條路徑,并自動對輸出結果與輸出斷言進行比較,一般說來,這樣的符號執行系統都具有交互式糾錯功能,包括跟蹤斷點設置、狀態存儲等。

      ● 程序驗證工具

      交互式程序驗證系統,是程序正確性證明的一個工具。輸入源程序和程序斷言;輸出是對程序正確性的一個判斷,即程序執行結果是否必定滿足斷言的要求。系統可自動產生程序中的斷言,系統的內部實現基于符號邏輯變換和結構歸納。

      2.動態分析工具

      動態分析工具的主要功能是分析被測程序邏輯中每個語句的執行次數。動態分析工具與靜態分析工具不同,動態分析工具一般采用“插樁”的方式,向代碼生成的可執行文件中插入一些監測代碼,用來統計程序運行時的數據,其與靜態分析工具最大的不同就是動態分析工具要求被測系統實際運行。

      ● 覆蓋監視工具

      這樣的工具系統可在程序邏輯的適當位置安插一些“探測器”,以便對程序進行監視,產生帶統計數字的報告。使用該工具可以測試出沒有執行的語句,以便增加相應的測試數據。

      ● 驅動工具

      采用自底向上漸增方式測試時需要編寫許多虛構的驅動模塊。驅動工具可以免除人們編寫驅動模塊的負擔。它提供一種測試語言來寫測試過程,表明要測試的模塊、使用的測試用例、預期的輸出等。這樣不再需要人工編寫任何驅動程序,系統能自動把輸入數據傳送給被測模塊,并負責將實際輸出結果與預期的結果相比較。

      ● 測試數據產生工具

      這是幫助自動選擇測試用例的工具。這樣的系統利用一個存放程序各種“素材”的共用信息庫,使測試人員能用命令方便地定義測試用例,并在適當的時候自動運行這些測試用例。而當被測程序修改后系統能自動個性測試用例,以保持這些測試用例的可用性。此種工具對于測試系統在實際環境中的性能以及測試一個數據庫的管理系統時比較方便。

      ● 符號查錯工具

      此工具提供屏幕顯示功能,顯示程序的動態執行情況,或者在程序執行中斷時,顯示程序執行的當前狀態的歷史信息,以便進行檢查和修改。這樣的查錯系統,實際上為程序提供了一個執行的環境,能夠跟蹤監視和控制程序的執行。系統界面以查錯命令方式交互工作,系統實現依賴于程序執行的歷史記錄。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>