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

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

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

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

    數據庫測試

    發布: 2008-8-06 17:56 | 作者: 網絡轉載 | 來源: 網絡轉載 | 查看: 614次 | 進入軟件測試論壇討論

    領測軟件測試網


    數據庫測試


    隨著軟件業的迅猛發展,我們的開發也從以前的單層結構進入了三層架構甚至現在多層架構的設計,而數據庫從以前一個默默無聞的后臺倉庫,逐漸成為了數據庫系統,而數據庫開發設計人員成為了炙手可熱的核心人員。以前我們往往把數據庫操作寫在應用層,從而提高各個模塊的獨立性和易用性,而現在越來越多的數據庫操作被作為存儲過程直接放在數據庫上進行執行來提高執行效率和提高安全性。

    數據庫開發既然在軟件開發的比重逐步提高,隨之而來的問題也突出。我們以前往往重視對代碼的測試工作,隨著流程技術的日益完善,軟件質量得到了大幅度的提高,但數據庫方面的測試仍然處于空白。我們從來沒有真正將數據庫作為一個獨立的系統進行測試,而是通過對代碼的測試工作間接對數據庫進行一定的測試。隨著數據庫開發的日益升溫,數據庫測試也需要獨立出來進行符合自身特點的測試工作。數據庫開發和應用開發并沒有實質上的區別,所以軟件測試的方法同樣適用于數據庫測試

     

    從測試過程的角度來說我們也可以把數據庫測試分為

    系統測試

    傳統軟件系統測試的測試重點是需求覆蓋,而對于我們的數據庫測試同樣也需要對需求覆蓋進行保證。那么數據庫在初期設計中也需要對這個進行分析,測試.例如存儲過程,視圖,觸發器,約束,規則等我們都需要進行需求的驗證確保這些功能設計是符合需求的.另一方面我們需要確認數據庫設計文檔和最終的數據庫相同,當設計文檔變化時我們同樣要驗證改修改是否落實到數據庫上。

    這個階段我們的測試主要通過數據庫設計評審來實現。

     

    集成測試

    集成測試是主要針對接口進行的測試工作,從數據庫的角度來說和普通測試稍微有些區別對于數據庫測試來說,需要考慮的是

    數據項的修改操作

    數據項的增加操作

    數據項的刪除操作

    數據表增加滿

    數據表刪除空

    刪除空表中的記錄

    數據表的并發操作

    針對存儲過程的接口測試

    結合業務邏輯做關聯表的接口測試

    同樣我們需要對這些接口考慮采用等價類、邊界值、錯誤猜測等方法進行測試

     

    單元測試

    單元測試側重于邏輯覆蓋,相對對于復雜的代碼來說,數據庫開發的單元測試相對簡單些,可以通過語句覆蓋和走讀的方式完成

     

    系統測試相對來說比較困難,這要求有很高的數據庫設計能力和豐富的數據庫測試經驗。而集成測試和單元測試就相對簡單了。

     

    而我們也可以從測試關注點的角度對數據庫進行分類

    功能測試

    對數據庫功能的測試我們可以依賴與工具進行

    DBunit

    一款開源的數據庫功能測試框架,可以使用類似與Junit的方式對數據庫的基本操作進行白盒的單元測試,對輸入輸出進行校驗

    QTP

    大名鼎鼎的自動測試工具,通過對對象的捕捉識別,我們可以通過QTP來模擬用戶的操作流程,通過其中的校驗方法或者結合數據庫后臺的監控對整個數據庫中的數據進行測試。個人覺得比較偏向灰盒。

    DataFactory

    一款優秀的數據庫數據自動生成工具,通過它你可以輕松的生成任意結構數據庫,對數據庫進行填充,幫助你生成所需要的大量數據從而驗證我們數據庫中的功能是否正確。這是屬于黑盒測試

     

     

    數據庫性能

    雖然我們的硬件最近幾年進步很快,但是我們需要處理的數據以更快的速度在增加。幾億條記錄的表格在現在是司空見慣的,如此龐大的數據量在大量并發連接操作時,我們不能像以前一樣隨意的使用查詢,連接查詢,嵌套查詢,視圖,這些操作如果不當會給系統帶來非常巨大的壓力,嚴重影響系統性能

    性能優化分4部分

    1物理存儲方面

    2邏輯設計方面

    3數據庫的參數調整

    4SQL語句優化.

    我們如何對性能方面進行測試呢,業界也提供了很多工具

     

    通過數據庫系統的SQL語句分析工具,我們可以分析得到數據庫語句執行的瓶頸,從而優化SQL語句

    Loadrunner

    這個不用多說,我們可以通過對協議的編程來對數據庫做壓力測試

    Swingbench(這是一個重量級別的feature,類似LR,而且非常強大,只不過專門針對oracle而已)

    數據庫廠商也意識到這點,例如

    oracle11g已經提供了real application test,提供數據庫性能測試,分析系統的應用瓶頸。

    還有很多第三方公司開發了SQL語句優化工具來幫助你自動的進行語句優化工作從而提高執行效率。

     

    安全測試

    軟件日益復雜,而數據又成為了系統中重中之重的核心,從以往對系統的破壞現在更傾向于對數據的獲取和破壞。而數據庫的安全被提到了最前端

    自從SQL 注入攻擊被發現,冒失萬無一失的數據庫一下從后臺變為了前臺,而一旦數據庫被攻破,整個系統也會暴露在黑客的手下,通過數據庫強大的存儲過程,黑客可以輕松的獲得整個系統的權限。而SQL的注入看似簡單缺很難防范,對于安全測試來說,如何防范系統被注入是測試的難點。

    業界也有相關的數據庫注入檢測工具,來幫助用戶對自身系統進行安全檢測。

     

    對于這點來說業界也有標準,例如ISO IEC 21827,也叫做SSE CMM 3.0,是CMM和ISO的集成的產物,專門針對系統安全領域的

     

    另外一方面,數據庫的健壯性,容錯性和恢復能力也是我們測試的要點

     

    我們也可以發現功能測試,性能測試,安全測試,是一個由簡到繁的過程,也是數據庫測試人員需要逐步掌握的技能,這也是以后公司對數據庫測試人員的要求。

     

    延伸閱讀

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

    TAG: 架構 軟件測試 軟件開發 數據庫


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