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

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

  • <strong id="5koa6"></strong>
  • 軟件性能測試面面觀(2)

    發表于:2015-12-02來源:火龍果軟件作者:不詳點擊數: 標簽:性能測試
    可靠性差的軟件,如執行時總是頻繁地、重復地失敗,軟件不能穩定地工作。 軟件可靠性測試的目的是給出可靠性的定量估計值。 軟件性能評測指標觀

      可靠性差的軟件,如執行時總是頻繁地、重復地失敗,軟件不能穩定地工作。

      軟件可靠性測試的目的是給出可靠性的定量估計值。

      軟件性能評測“指標觀”

      一般來說衡量軟件性能測試的標準可以采用以下曾用的方法:

      1、軟件可靠度(R)指標

      一種定量描述軟件可靠性的方法,是指在規定的條件下和規定的時間內,軟件在其運行剖面的某時刻正確地實現規定功能的概率。

      2、軟件平均故障前工作時間(MTTF)

      一種定量描述軟件可靠性的方法,是指一定配置狀態下的軟件產品在其規定的運行剖面中故障工作時間的期望值,以及軟件故障強度。

      3、軟件平均無故障工作時間(MTBF)

      計算機系統或子系統實現其功能的能力。一般以對計算機系統或子系統執行其功能的能力的度量。例如,響應時間、吞吐能力、事務處理數、占用率。

      軟件性能測試“實例觀”

      為了讓讀者對性能測試有更深刻的認識,下面以手機中運行的軟件為例,說明在實際的軟件開發過程中性能測試方法的運用:

      手機性能測試的方法可分為手工測試和自動測試。

      手工測試主要是通過測試人員手動操作,并借助某些監測儀器和工具來驗證手機性能。但由于手機功能眾多,很多性能測試需要重復性地進行,工作量很大,這需要耗費大量測試時間同時也容易造成測試的遺漏,不能保證性能測試的準確性和高效率。

      借助PC平臺,目前已經有很多功能強大且通用的自動測試工具,如比較典型的有Winrunner,Robot,Loadrunner等等,但這些工具必須進行二次開發,才能將自動測試工具兼容到手機這種嵌入式系統中來。

      手機的自動化性能測試一般分為以下幾個步驟進行:

      1、系統分析

      將系統的性能指標轉化為性能測試的具體目標。通常在這一步驟里,要分析被測系統結構,結合性能指標,制定具體的性能測試實施方案。要求測試人員對被測系統結構和實施業務全面掌握。

      2、建立虛擬用戶腳本

      將業務流程轉化為測試腳本,通常指的是虛擬用戶腳本或虛擬用戶。虛擬用戶通過驅動一個真正的客戶程序來模擬真實用戶,要將各類被測業務流程從頭至尾進行確認和記錄,分析每步操作的細節和時間,將其精確地轉化為腳本。類似制造一個能夠模仿人的行為和動作的機器人過程。

      3、根據用戶性能指標創建測試場景

      根據真實業務場景,對生成的測試腳本進行復制和控制,對腳本的執行制定規則和約束關系,轉化為滿足性能測試指標的測試用例集。這個步驟需要結合用戶性能指標進行細致地分析。

      4、運行測試場景,同步監測應用性能

      在性能測試運行中,實時監測能使測試人員在測試過程中的任何時刻都可以了解應用程序的性能優劣。系統的每一部件都需要監測:協議棧,MMI應用程序,內存占用情況,驅動程序運行狀態等。實時監測可以在測試執行中及早發現性能瓶頸。

      5、性能測試的結果分析和性能評價

      結合測試結果數據,分析出系統性能行為表現的規律,并準確定位系統的性能瓶頸所在??梢岳脭祵W手段對大批量數據進行計算和統計,使結果更加具有客觀性。在性能測試中,需要注意的是,能夠執行的性能測試方案并不一定是成功的,成敗的關鍵在于其是否精確地對真實世界進行了模擬。

      在整個性能測試過程中,自動化測試工具的選擇只能影響性能測試執行的復雜程度,但人的分析和思考卻會直接導致性能測試的成敗。

      總之,軟件性能測試的方法很多,不同方法的評測指標也是不同的。針對用戶的需求、開發模式以及開發過程的不同,靈活。

    原文轉自:http://www.uml.org.cn/Test/201309024.asp

    老湿亚洲永久精品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>