qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Openstack測試框架Tempest介紹

           Tempest是Openstack的集成測試框架,它的實現基于python的unittest2測試框架和nose測試框架。Tempest對Openstack終端發起一系列API請求,并且對終端的響應進行驗證。Tempest通過config文件來描述整個測試環境,包括compute API端點,Keystone server以及Glance server安裝的鏡像的UUID等信息。以下是Tempest的目錄結構:
            Tempest的優點
            1.Tempest可以自動尋找,執行測試:自動查找當前目錄下所有以[Tt]est開頭的Python源文件,并且按此規則遞歸查找子目錄;所有以[Tt]est開頭的Python源文件里所有以[Tt]est開頭的function和class,以及繼承自unittest.TestCase的class(不需要以[Tt]est開頭)都會被執行。
            2.Tempest可以指定文件、模塊、函數進行測試。
            3.Tempest可以指定類型進行測試。
            4.Tempest可擴展性強,可以方便的在tempest中添加其他測試用例,可以整合其他類型測試例如壓力測試、場景測試等。
            Tempest配置
            1.git下載Tempest后,在Tempest根目錄下拷貝一份配置文件tempest.conf:
            cp etc/tempest.conf.sample etc/tempest.conf
            2.配置tempest.conf ,主要配置以下幾個屬性:
            配置identity (Keystone) 的host
            配置Compute (Nova) 的username、password、 tenant_name和alt_username、alt_password、alt_tenant_name(均不是管理員用戶。配置兩個不同的用戶,測試普通用戶不能更改和刪除其他用戶的image、server等)
            配置Compute (Nova) 的image_ref和image_ref_alt(配置兩個不同的image ID)
            配置Image (Glance) 的ssh user
            配置compute-admin和identity-admin的管理員用戶名、密碼和tenant名。
           使用Tempest進行測試
            執行整個tempest測試框架:nosetests tempest
            指定文件測試,例如:nosetests tempest.api.compute.flavors.test_flavors.py
            指定模塊進行測試,例如:nosetests tempest.api.compute.flavors.test_flavors.py:FlavorsTestJSON
            指定函數進行測試,例如:nosetests tempest.api.compute.flavors.test_flavors.py:FlavorsTestJSON.test_list_flavors
            指定類型進行測試,例如 :tempest –s 只執行smoke類型測試
            指定特定的attr的用例進行測試,例如:nosetests –a type=’gate’ 只執行attr為type=’gate’的測試
            API測試用例
            tempest.api是openstack api測試用例集。以函數test_list_flavors的執行舉例,以下是該用例執行時各類間的繼承和調用:
            FlavorTestJSON繼承自BaseComputeTest。Clients是負責管理包括FlavorsClient在內的所有的openstack clients的,同時調用TempestConfig來讀取配置文件。FlavorsClient繼承自RestClient,封裝了訪問openstack api的接口。FlavorsTestJSON通過FlavorsClient來實現對openstack api的訪問。
            測試結果舉例:
            對Tempest的擴展
            1.對tempest中的測試用例進行了擴展,添加了產品自研模塊和功能的測試用例。
            2. 對測試機制進行完善,并且在tempest中加入異常分支檢查。
            3.在tempest中植入其他測試工具如burnintest。
            3. 在tempest基礎上做了二次開發,開發了穩定性測試工具,測試系統在openstack時間有負載的情況下的可靠性和可用性。

          posted on 2014-03-21 13:09 順其自然EVO 閱讀(3314) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2014年3月>
          2324252627281
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 湖口县| 瑞丽市| 治县。| 友谊县| 徐州市| 镇坪县| 田阳县| 永清县| 云浮市| 习水县| 扬中市| 湖北省| 华宁县| 丰台区| 包头市| 新沂市| 保定市| 衡水市| 宝应县| 武邑县| 图木舒克市| 岢岚县| 保德县| 离岛区| 衡阳市| 华安县| 玛曲县| 文山县| 沽源县| 合作市| 桃江县| 娄烦县| 腾冲县| 乐亭县| 偃师市| 襄垣县| 康平县| 永春县| 中江县| 互助| 时尚|