• <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-09-19來源:未知作者:領測軟件測試網采編點擊數: 標簽:自動化測試
    軟件測試,特別是測試自動化技術屬于當前國際軟件界最有爭議,亟待發展的技術。所謂自動化測試就是希望能夠通過自動化測試工具或其他手段,按照測試工程師的預定計劃進行自動的測試,目的是減輕手工測試的勞動量,從而達到提高軟件質量的目的。

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

      測試工具

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

      1.靜態分析工具

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

      ● 靜態確認工具

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

      ● 符號執行工具

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

      ● 程序驗證工具

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

      2.動態分析工具

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

      ● 覆蓋監視工具

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

      ● 驅動工具

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

      ● 測試數據產生工具

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

      ● 符號查錯工具

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

      3.綜合測試評估工具

      把靜態分析、動態分析、測試評估等綜合在一起,測試人員可以用命令來控制系統執行不同的測試工具,各工具模塊之間的通信通過數據庫來實現。一個可行的簡單辦法是建立一組測試工具,或者叫做測試工具庫。這些工具可能都是相互獨立設計的,彼此間沒有什么聯系,但都能從某一側面對程序進行測試,任由用戶選擇使用。

      測試腳本

      在測試過程中,測試腳本起著關鍵的作用。每種腳本技術在支持腳本完成測試事例的時間和開銷上都有各自的長處和短處。對于軟件測試來說,使用哪種腳本技術并不是最主要的,腳本所支持的實現測試事例體系的整體考慮才是最主要的。

      1.線性腳本技術

      線性腳本是錄制手工執行的測試事例得到的腳本。這種腳本包括所有的擊鍵、功能鍵、箭頭控制測試軟件的控制鍵及輸入數據的數字鍵。如果用戶只使用線性腳本技術,即錄制每個測試事例的全部內容,則每個測試事例可以通過腳本完整地被回放。幾乎任何可重復的操作都可以使用線性腳本技術實現自動化。

      2.結構化腳本技術

      結構化腳本類似于結構化程序設計,結構化腳本中含有控制腳本執行的指令,這些指令或為控制結構或為調用結構。所有測試工具腳本語言支持三種基本控制結構。第一種形式為“順序”腳本(即前面介紹的線性腳本)。另外兩種控制結構形式的腳本為“選擇”或“疊代”。選擇控制結構使腳本具有判斷功能,最普通的形式是“if”語句判斷條件為真或為假; 疊代控制結構可以根據需要重復一個或多個指令序列,有時也將這種結構稱為“循環”。

      除控制結構外,一個腳本可以調用另一個腳本,即將一個腳本的控制點轉到另一個子腳本的開始,執行完子腳本后再將控制點返回到第一個腳本。這種機制可以將較大的腳本分為幾個較小的易于管理的腳本。

      結構化腳本技術的主要優點是健壯性更好;可以執行許多其他類似的功能,如需要重復的指令可以使用循環結構;還可以作為模塊被其他腳本調用。其缺點是使用腳本變得更加復雜,而且測試數據仍然“捆綁”在腳本中。

      3.共享腳本技術

      共享腳本是指腳本被多個測試事例使用。這種技術的思路是產生一個執行某種任務的腳本,而不同的測試要重復這個任務,當要執行這個任務時只需在每個測試事例的適當地方調用這個腳本。這樣將帶來兩個好處: 第一,可以節省生成腳本(編寫或錄制指定的操作)的時間。

    原文轉自: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>