軟體開發的效能測試與研究論文

軟體開發的效能測試與研究論文

  隨著現代社會資訊科技的發展,網路技術已普遍融合到更多領域。軟體開發作為帶動資訊科技發展的主要動力備受人們關注。隨之在開發過程中由於應用系統存在一定的複雜性,在軟體開發系統性能的正常運用也有一定難度。本文結合web軟體,結合效能測試,對軟體開發的效能進行了測試和相對研究,以便在今後各領域中提高系統測試效率。

  隨著計算機網路技術的普遍化,軟體效能的重要性也越來越明顯,軟體效能掌控著硬體配置的提升和改變。系統結構由網路、資料庫和伺服器等多部分組成的,整個系統中的每個成員都有著不可替代的作用,其中任何一個環節出現問題都影響著整個系統的正常操作。因此,軟體開發的效能測試被列為重要問題。

  1 軟體效能的理論認識

  軟體效能指的是軟體系統或部分應用是否達到一定的要求,在實現的過程中是否具有良好的及時性。軟體的效能不僅包括系統的響應時間還包括一些內部因素和外部因素,內部因素有軟體架構、程式碼、資料庫結構等,而外部條件則包括使用者或其他一些工作人員操作內容等。目前為止軟體效能是否達標主要表現在操作的響應時間,如果使用者透過按鈕發出相對應的程式指令,從開始的按鈕操作到最後反應出相對結果,中間反應的過程就是使用者對軟體效能是否得到肯定的直觀現象。當然軟體效能的體現還透過對CPU和記憶體的利用率、資料的狀況、系統的可擴充套件性等,有了這些對軟體效能的認識,我們就能更好的提高系統性能。

  2 軟體效能測試方法

  在軟體效能測試過程中,如果掌握的方法不恰當就會變成很隨意的測試行為,沒有實際的作用,更達不到預期想要的效果,因此在測試過程中必須注意一定的方式方法。測試過程主要包括洞悉測試目的、確定性能指標,規劃測試策略等環節,測試的充分準備和結果的有效性直接影響著效能測試需求分析的好壞。因此軟體效能測試目的主要驗證軟體效能在軟體開發合同、預定的設計目標、使用者現在或未來的應用需求等方面是否達到明確性的指標;在無明確性能標準的情況下,透過對軟體支援的最大使用者數量,各種差異環境下的變化和最低正常執行需要的支援情況,最佳條件下能做到的使用者最大資料量等,也可以說是是否符合軟體效能的驗證。這種方法主要就是在效能測試中透過分析效能缺陷問題找出軟體效能缺陷的原因,方便工作人員能提高軟體的效能最佳化,這將使得測試工作的步伐更邁出了一大步。

  2.1 檢查式測試與度量式測試的不同及對比

  目前條件下,固定的軟體專案本身具有不同的系統特徵和特性,測試人員為顧及多方位的考慮,選擇測試方法也多種多樣,例如:黑白盒測試、單元測試、功能測試、壓力、安全及相容性等方面的測試。在逼真、獨立、無毒軟體、硬體和網路環境下,所使用的最常見的測試方法是檢查式測試與度量式測試。檢查式測試一般包括跟蹤客戶需求、瞭解測試人員的測試目的、測試前的準備工作和測試過程中所用到的資料等,測試用例的最終目的就是驗證軟體系統的某一項功能是否順利實現和實施。這種測試用例無法預知最終結果,也無法確定能否順利實施下去,直接由最終的測試結果來發言,透過或者淘汰。這種先檢驗性的測試統稱為檢查式測驗,概括的範圍也較廣,如單元測試和功能測試都包括在檢查式測驗中。度量式測驗與檢查式測驗不同,是透過針對軟體的一項特定功能基於周邊多項指標資料量化而產生,在系統測試和使用階段的資料參考,度量式測試需要在原有資料參考的情況下結合實際情況進行下一步的分析和決策,而不是檢測式的那種Yes OR No的情況,這種集相關資料的方式比檢查式測試更具有穩定性,對最後得出結論的總體質量和細節有更高的研究價值,這種度量式測試多發生在功能測試和相容性測試中。

  平常的測試活動中,檢查式測試的優點是:透過測試得到相應結果顯而易見,相對其它測試方法而言,測試效果更加可靠、高效,而且簡單方便易於管理;其缺點是隨機性較強,測試比較單薄,也有陷入慣性思維的可能性。度量式測試以固定的參考資料為根據,接觸觀點較多,善於靈活變通,在相對基礎上也比較穩定、可靠,缺點是需要將多種參考資料的觀點都考慮進去,從多方位思考問題,需要的資源較多,測試過程肯定會比較複雜化,在對軟體質量提高過程中並不是直接關係。

  2.2 軟體開發效能測試的重要性

  很多軟體效能測試中用檢查式的測試方式雖然有部分階段相對穩定,但也有大部分的缺陷問題存在,因此根據度量式測試方法的穩定、可靠、豐富靈活的特點,需要在度量式測試上加大力度,人們往往一直追尋用多種方法嘗試,但其中所投入的人力、物力、精力也有一定的壓迫感,雖然檢查式測試具有直接、高效的優點,而且也受到一部分專業人士的青睞,佔用一定的主體地位,但是度量式測試也只是在後期運用了幾次。從目前的現狀來看,確實檢查式測試比度量式測試突出重要功能。但從長遠過程來看就會出現很多問題,遇到緊急重大任務時,我們首先用的解決方案應該首選度量式測試,所以重新正視度量式的重要性很有必要。

  2.3 確定測試的戰略性措施

  瞭解測試目的和效能指標後,應對相應使用者的需求給於相對應的解決對策,也就是用什麼樣的方式方法幫助使用者實現最終測試目的。相對軟體系統而言,當測試要素中出現變化,其本身效能也會隨之發生改變,根據測試要素的變化進行結合,可以實現不同的測試目標,透過在一種條件變化,其餘不變的情況下來驗證所能支援使用者效能的最大數量。負載測試、壓力測試和疲勞強度測試等證明確定測試措施,需要先確定測試要素。測試需求與測試要素也緊密相關,有些測試需求中有確切的測試要素,有些則沒有,需要透過相關情況調查來獲取測試要素。其中包括:併發使用者數、資料量、使用者分佈與被測功能。在沒確定測試要素的情況下,透過分析軟體特點來找出答案。

  3 軟體開發效能的測試研究

  軟體效能是一種指標,是指軟體系統對於及時性合理要求的符合程度。是由響應時間和吞吐量來衡量的,響應時間是指使用者提出部分請求而系統給出響應需要的時間,對於軟體系統而言,不同的使用者對同一層面的關注也有較大差別,軟體使用者受關注的是回應效率,即響應速度。簡單而言就是使用者點選其中一個按鈕或傳送軟體相關請求指令時等待回覆響應結果的等待時間。軟體效能如果從管理員的角度來看,在包括響應時間的同時還有系統動態資訊,如:記憶體大小的可利用率、資料庫的狀況以及CPU的利用率、系統擴充套件性的範圍、支援使用者的最大數量,業務處理的最大量等等這些問題,最終直接關係到提高系統性能的問題上。從軟體開發的方位看軟體效能,包括使用者、系統管理員關注的'相關內容,也包括資料庫結構、軟體架構、程式碼等對軟體效能所產生的影響問題,透過這些因素改善軟體效能。不同層面的使用者對軟體效能測試也有不同層面的理解。使用者層面、系統仔理層面,還有開發人員角度等方面都會有不同的見解,因此還需進一步分析引起軟體開發效能問題的根源,從而實現軟體效能開發的迅速提高。

  度量式測試可以發現隱患問題,而檢查式測試卻只能找到表面問題。檢查式測試本身標準明確,正確或錯誤明確標識,顯而易見,且一般一個功能只檢測一次。度量式測試客觀的記錄軟體狀況,比如:軟體“宕機”是個必然存在的情況,大多數情況下都會有所影響,且有一定後續不良反應。有種資料就是針對宕機問題專門收集的各種類似情況,其中包括軟體外部偏離受損、非自願操作、死鎖、功能受損的顯現,根據宕機原因提供相應參考資料,找出宕機問題的原因,制定對應的解決方案,這類的可靠性運用在軟體中較少,但是在其他工業運用中比較常見。另外一種度量式測試專門解決非一般性的問題,多出現在 測試階段,找出問題的同時針對軟體本身重新調整開發設計。網際網路的一些軟體操作習慣和方式多數都是互動操作,對之前的設計加以改進,並研究出新的軟體開發效能需求。度量式測試的前期需要的資料不用太靈活的判斷分析,可調整相關資源,使之得到最大化的利用,所以合適的度量式測試會使軟體專案的測試效果更高、更好,使軟體開發的效能能上升到一個新的高度。

  4 結語

  總體來講,檢查式和度量式具有本身的優點,同時也存在缺點。專案中不同的測試需求、不同的資源開發和不同的測試人員都可以選擇相應的測試方法進行測試,善於合理運用檢查式測試和度量式測試這兩種方法,利益結合,避免隱患缺陷,將迅速提高軟體測試的高效率。正確利用軟體效能測試,必須知道效能測試的內涵,站在不同的角度方位去想問題,瞭解社會發展趨勢,熟悉目前流行的軟體效能測試方法,合理掌握過程,注意將檢查式測量和度量式測量結合運用,收集相關資料種類和方式,以提高軟體的效能測試效率成為未來研究的重點思路。

  作者簡介

  許國樑(1980-)男,貴州省貴陽市人。現為貴州交通職業技術學院講師。研究方向為軟體設計、軟體開發。

最近訪問