軟體測試技術論文

  軟體測試技術是軟體開發與運用過程中必不可少的手段,其重要性不可替代。下面是由小編整理的,謝謝你的閱讀。

  篇一

  軟體測試技術綜述

  【關鍵詞】軟體測試技術 軟體工程 軟體質量

  眾所周知,由於通用計算機或晶片在各種系統中的廣泛使用,在工程中系統實現各種功能都離不開軟體來實現應用功能,因而軟體重要性越來越顯突出,隨著軟體工程的發展,目前軟體的規模也逐漸越來越大,軟體的質量已成為決定各種工程或武器系統的質量乃至成敗的最重要因素之一。因此有必要更加重視軟體的質量問題。而軟體測試作為軟體工程的一項重要組成部分也越來越受到重視。

  1 對軟體測試的定義

  在這裡我們只討論狹義上的軟體測試。軟體測試是在軟體投入執行前,對軟體需求分析、設計規格說明和編碼實現的最終審查。通常對軟體測試的定義有兩種描述:

  定義1:軟體測試是為了發現錯誤而執行程式的過程。

  定義2:軟體測試是根據軟體開發各階段的規格說明和程式的內部結構而精心設計的一批測試用例,並利用這些測試用例執行程式以及發現錯誤的過程,即執行測試步驟。

  2 軟體測試流程和策略

  2.1 軟體測試流程

  軟體測試的流程可以細分為四個階段:單元測試,整合測試,確認測試***有效性測A試***和系統測試。單元測試針對軟體設計的最小單元A程式模組,進行正確性檢驗的測試工作。它的目的在於發現各模組內部可能存在的各種差錯。整合測試在單元測試的基礎上,將所有模組按照設計要求組裝成為系統進行測試。確認測試***有效性測試***驗證軟體的功能、效能和其它特性是否與使用者的要求一致。系統測試將測試的軟體作為整個計算機系統的一個元素與計算機硬體、外設、某些支援軟體、資料和人員等其他系統元素結合在一起,在實際執行環境下,對計算機系統進行組裝測試和確認測試。

  2.2 軟體測試的策略和技術

  軟體測試的策略就是測試將按照什麼樣的思路和方式進行。如採用什麼技術,什麼步驟等。而軟體測試技術可以按照以下幾種方式來進行分類:

  ***1***黑盒***功能性***測試和白盒***結構性***測試。

  ***2***靜態測試和動態測試。

  ***3***傳統測試方法和麵向物件測試的方法。

  ***4***特定環境及應用的測試。

  2.2.1 黑盒測試和白盒測試

  ***1***黑盒測試。黑盒測試又稱功能性測試、資料驅動測試、基於規格說明的測試。它 在已知軟體所應具有的功能的基礎上,檢查程式功能能否按需求規格說明書的規定正常使用,功能是否有遺漏,效能等特性要求是否滿足。在進行黑盒測試時只需參照規格說明檢查軟體,不要求考察程式碼,從使用者視角來對軟體進行測試。黑盒測試的目的在於檢測軟體功能是否正確和完整,檢測是否有人機互動和資料訪問錯誤,檢測軟體行為和效能是否滿足需求以及檢測軟體初始化和終止過程是否有錯誤。

  黑盒測試要遵循以下的步驟:首先需要先根據規格說明書來生成測試用例,然後執行測試並分析覆蓋標準,最後再根據所得結果來作出結論。

  ***2***白盒測試。白盒測試又被成為結構性測試、邏輯驅動測試、基於程式的測試。它的與黑盒測試的區別在於我們在進行白盒測試的時候會將程式的執行表現與編碼意圖作比較,並且關心軟體內部設計和程式實現,而主要測試依據是程式碼和設計文件,這就能夠支援嚴格定義、數學分析和精確度量,從而更加準確的來評價一個軟體。

  2.2.2 靜態測試和動態測試

  ***1***靜態測試。靜態測試廣義上包括了人工程式碼檢查,軟體度量,程式結構分析***自動審查***和自動程式設計規則檢查這些內容。

  ***2***動態測試。動態測試包括覆蓋測試分析和執行時的錯誤檢測。

  2.2.3 路徑測試

  路徑測試是指根據路徑設計測試用例的一種技術,經常用於狀態轉換測試中。基本路徑測試法是在程式控制流圖的基礎上,通過分析控制構造的環路複雜性,匯出基本可執行路徑集合,從而設計測試用例的方法。設計出的測試用例要保證在測試中程式的每個可執行語句至少執行一次。

  2.2.4資料流測試

  前面的測試針對程式的控制流路徑,檢查程式在各種條件值、各種決策下是否有錯。資料流測試主要測試程式中的數值流***覆蓋值傳遞路徑***,檢測變數定義與使用的情況。它比較容易發現下列型別的錯誤:變數被定義,但是從來沒有使用;所使用的變數沒有被定義;變數在使用之前被定義兩次;其它定義不當或使用不當的情況。

  2.2.5 面向物件軟體測試

  面向物件技術開發出的程式更需要測試且對其進行測試將更復雜。面向物件軟體與傳統的軟體存在不同的軟體結構,不同的開發方法且每個開發階段都有不同以往的要求和結果,針對面向物件軟體的新特點,應有一種新的測試模型

  3 結論

  軟體測試是一項非常重要的工作。有些觀點認為測試是極簡單的工作,誰都能進行軟體測試,還認為軟體測試技術要求不高,比程式設計容易多了,測試就是把資料輸程序序,看結果對不對,甚至認為測試是就體力活而已。這些觀點其實都是不正確的。軟體測試是一項非常需要智慧,耐心,協調以及溝通能力的一項工作,它包涵的內容不光有深層次的技術性問題,也有管理方面的問題。如何才能做好軟體測試,光有技術上的水平仍然是不夠的,還必須要有好的團隊合作和細緻的工作能力和態度。

  軟體測試雖然能夠發現軟體中的問題,但是它並不能證明軟體中已經不存在其它的問題了,因此要提高軟體的質量,光靠軟體測試也還是不夠的,還需要全面的履行和落實軟體的質量控制,這樣才能最大限度的減少軟體問題所引起的損失。

  參考文獻

  [1]徐世波.張健關於軟體質量保證模型的研究[J].數字技術與應用,2010***09***.

  [2]張瑤.白曉穎.張任偉.陸皓一種基於模型的測試充分性評估方法[J].電腦科學,2013***02***.

  [3]徐冰霖.李戰懷基於資料操作的航天測控軟體測試複用模型[J].飛行器測控學報,2012***02***.

  作者單位

  南京市玄武中等專業學校 江蘇省南京市 210042

點選下頁還有更多>>>