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

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

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    連載:(九)軟件測試技術——數據庫性能檢查和壓力測試

    發布: 2009-4-30 10:10 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 124次 | 進入軟件測試論壇討論

    領測軟件測試網 上面介紹的都是代碼層的性能測試,而目前很多軟件系統都需要應用到數據庫,通常數據庫也會成為性能瓶頸之一。如圖所示的是一個簡單C/S結構系統可能出現性能瓶頸的地方。

     簡單C/S結構系統可能出現性能瓶頸的地方


    那么測試人員應該如何發現數據庫相關的性能問題呢?
            首先要分析什么會引起數據庫的性能問題,一般來說有兩個主要原因:數據庫的設計和SQL語句。
            數據庫的設計又分為數據庫的參數配置和邏輯結構設計,前一種比較好解決,后一種則是測試人員需要關注的,糟糕的表結構設計會導致很差的性能表現。例如,沒有合理地設置主鍵和索引則可能導致查詢速度大大降低。沒有合理地選擇數據類型也可能導致排序性能降低。
            低效率的SQL語句是引起數據庫性能問題的主要原因之一,其中又包括程序請求的SQL語句和存儲過程、函數等SQL語句。對這些語句進行優化能大幅度地提高數據庫性能,因此是測試人員需要重點關注的對象。
            技巧:可以借助一些工具來幫助找出有性能問題的語句,例如SQL Best Practices Analyzer、SQLServer數據庫自帶的事件探查器和查詢分析器、LECCO SQLExpert等。

    軟件的“極限考驗”——壓力測試
            是否想知道軟件系統在某方面的能力可以達到一個怎樣的極限呢?軟件項目的管理者以及市場人員會尤其關心壓力測試的結果,想知道軟件系統究竟能達到一個怎樣的極限。壓力測試(stress testing)就是一種驗證軟件系統極限能力的性能測試。
          壓力測試負載測試(load testing)的區別在于,負載測試需要進行多次的測試和記錄,例如隨著并發的虛擬用戶數的增加,系統的響應時間、內存使用、CPU使用情況等方面的變化如何。壓力測試的目的很明確,就是要找到系統的極限點。在系統崩潰或與指定的性能指標不符時的點,就是軟件系統的極限點。

            說明:實際上,在做性能測試的過程中不會嚴格區分這些概念,它們的界限有些模糊。對于測試人員來說,更關心的是如何滿足性能需求,如何進行性能測試。

            經常碰到性能需求不明確的情況。用戶通常不會明確地提出性能需求,在進行需求分析和設計時也通常把性能考慮在后面。即使提出了性能上的要求,也是很模糊的,例如:“不能感覺到明顯的延遲”。
            對于不明確的性能需求,通常需要進行的不是極限測試,而是負載測試,需要逐級驗證系統在每一個數據量和并發量的情況下的性能響應,然后綜合分析系統的性能表現形式。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 技術 軟件測試 數據庫 性能 壓力


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

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