qileilove

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

          敏捷開發和測試中重現缺陷和驗證缺陷的解決方案(1)

          第1部分:部署重現缺陷的環境

            簡介:本文為系列的第一篇文章,首先簡述了系列的主旨和每部分的內容。然后針對敏捷開發和測試中開發人員重現測試人員開出的缺陷這一問題,具體描述了如何用IBM工具Rational Automation Framework以及IBM Workload Deployer快速記錄和部署重現缺陷所需的測試環境,從而讓開發人員可以更快速準確地獲得重現缺陷的環境。

            系列背景簡介

            在敏捷開發的大環境下,產品需要根據用戶的需求不斷進行變化,產品版本的研發周期越來越短,產品的交付速度越來越快,只有開發和測試人員之間保持更加有效更加頻繁的交互才能保證產品按時高質量地交付給用戶。其中,開發人員和測試人員之間交互最多的部分就是缺陷 (defect) 問題的討論。當測試人員發現問題并提交缺陷以后,開發人員需要重現測試人員發現的問題,并進行研究。最終針對缺陷的產品代碼改動被開發人員提交到產品中,測試人員需要迅速對產品代碼的改動進行驗證,以確認缺陷不再出現在產品新的版本中。

          圖 1. 缺陷生命周期示意圖

            為了適應產品交付速度的加快,我們從縮短缺陷驗證周期的角度描述了如何使用 IBM 工具來幫助我們。以下是系列文章的三部分內容:

            ● 敏捷開發和測試中重現缺陷和驗證缺陷解決方案,第1部分:部署重現缺陷的環境

            ● 敏捷開發和測試中重現缺陷和驗證缺陷解決方案,第2部分:重現缺陷

            ● 敏捷開發和測試中重現缺陷和驗證缺陷解決方案,第3部分:驗證缺陷

            一個具體的實例

            "Garden of Summer"是一個基于 IBM WebSphere Application Server 中自帶的以銷售鮮花、水果、綠植為主的電子商務網站。

          圖 2. WAS 中的電子商務網站實例

            時,開發人員需要重現測試人員發現的問題并進行研究。在重現缺陷的過程中,開發人員用于重現缺陷的環境往往與測試人員的測試環境存在不一致,而這些配置的詳細描述信息又不能非常準確沒有疏漏的填寫在缺陷的描述中,這樣開發人員不能方便重現缺陷問題。為了保證環境配置一致,開發人員和測試人員之間需要花費大量的交流時間,或者我們經常做的是測試人員直接把測試環境交給開發人員去使用。

            例如上述的電子商務網站應用,可能存在復雜的應用服務器配置,所以如何方便快速搭建一個同樣的發現缺陷的環境使我們急需解決的。

            下面我們來分享一下如何使用 Rational Automation Framework(RAF) 來記錄測試環境的配置信息,然后直接通過 RAF 和 IBM Workload Deployer 的無縫集成實現缺陷環境的云端重現。

            IBM Rational Automation Framework 簡介

            IBM Rational Automation Framework 能夠自動執行中間件環境構建、中間件管理以及應用程序和相關工件的部署。這種可定制且可擴展的框架支持 IBM WebSphere?中間件、Oracle WebLogic Server 和 JBoss Application Server。現在,您可以利用該產品降低成本,自動執行復雜的管理和部署任務,并且可以掌控中間件環境。要點是:

            ● 降低運營成本 - 通過降低有關部署、維護及合規性的成本,以及與管理大型異構中間件相關的其他開支,降低運營成本。

            ● 提高生產力 - 通過自動執行易于出錯的手工任務提高生產力。Rational Automation Framework 使團隊能夠利用較少的資源完成更多的工作,并且縮短完成任務所需的時間。

            ● 改進應用程序交付 - 通過提高速度、一致性和質量,使您能夠使用一致、準確且可復用的流程交付應用程序。

            RAF 是一個定制化的,并且可擴展的自動化框架,它包括了中間件自動化管理,應用自動化部署以及產品安裝和補丁安裝的自動化。從 RAF 3.0..0.5 版本開始,RAF 實現了與 IWD/PureAS 系統的集成,并且作為 Advanced Middleware Configuration 成為了 IBM PureAS 的一部分。這部分的集成,使得 RAF 有能力讀取一個現有的環境信息,同時在 IWD/PureAs 系統中生成一個與現有的環境相同配置的一個虛擬系統模式,用戶可以使用該虛擬系統模式,在云環境中生成一個與現有環境相同配置的環境。

           IBM Workload Deployer 簡介

            IBM Workload Deployer 是一種硬件設備,提供了對 IBM 中間件虛擬映像和模式的訪問,支持輕松、快速、重復地創建可在專用云中安全部署、管理的應用程序環境,加速了將應用程序部署到云和虛擬化環境的過程。要點是:

            ● 在單獨一個模式中利用多個虛擬映像的功能。

            ● POWER7 支持。

            ● 增強的部署配置文件自定義。

            ● 支持 WebSphere Application Server Hypervisor Edition for Red Hat Enterprise Linux Server on System z。

            ● 提供 WebSphere Application Server Hypervisor Edition - Intelligent Management Pack。

            ● 通過預先定義的模式和虛擬映像加速 WebSphere 環境的應用程序部署,并大幅縮短設置時間,從數周縮短到短短幾分鐘。

            ● 通過消除妨礙生產力的手動流程提高敏捷性。

            ● 作為安全、防篡改的映像和憑據存儲庫,確保共享環境中的安全性。

            ● 全面整合來自 IBM Rational?和 Tivol?的開發和服務管理工具,提供端到端支持。

            具體實現

            下面我們來描述一下具體使用的方法,這里我們將分為兩個部分:

            ● 缺陷環境配置的捕捉和云端化

              → 捕捉測試人員的環境配置

              → 生成云端虛擬模板 (Virtual System Pattern)

            ● 部署缺陷環境

              → 實例化云端虛擬模板,部署重現缺陷環境

              → 同步環境配置到已存在的開發人員環境

            第一部分:缺陷環境配置的捕捉和云端化

            RAF 針對中間件信息的監控提供了集中不同的模式供用戶使用:

            ● Import 模式
            ● Execute 模式
            ● Compare 模式
            ● Augment 模式
            ● Promote 模式
            ● Preview 模式

            首先我們要捕捉測試人員環境配置信息,這里需要用到 RAF 的 import 模式,這個模式中 RAF 可以把中間件的配置信息捕捉下來并存儲到 RAF repository 中。

          圖 3. RAF 的 import 模式

            第一步:打開 RAF 登錄界面,輸入用戶名和密碼。

          圖 4. RAF 登陸界面




          第二步:點擊 Env Gen( 生成環境 ) 窗卡,選擇 Read Existing Cell( 已存在的單元 )

          圖 5. RAF 儀表板 (dashboard)

            第三步:輸入操作系統的登錄信息,進行信息驗證

          圖 6. 當前應用服務器單元的配置信息界面

            第四步:輸入 Websphere Application Server 的 profile 路徑并且進行 WAS 路徑驗證,默認值 (linux 示例:/opt/IBM/WebSphere/Profiles/DefaultDmgr01)

          圖 7. WAS profile 目錄輸入界面

            第五步:輸入 WebSphere Application Server 的 security 信息

          圖 8. WAS 安全信息輸入界面

            第六步:這里首先給出一個 Virtual System Pattern(VSP) 的名稱,這個名稱相當于我們正常理解的 VM template,然后需要用戶提供測試環境的信息,hostname,用戶名和密碼,最后一個選項是提示用戶是否覆蓋已經存在的同名的 VSP

          圖 9. IBM Workload Deployer 信息填寫界面




           第七步:確認后,RAF 會進行逐一操作并輸出日志

          圖 10. 執行進度

            通過上述操作我們可以在 RAF 中看到相關的環境配置信息

          圖 11. RAF 中存儲的環境配置信息

            同時我們也可以在 IWD 中 Virtual System Pattern 看到已經創建的虛擬模板。( 后面環境創建時會有屏幕信息展示。)

            第二部分:部署缺陷環境

            上面我們已經通過 RAF 捕捉了環境 ( 中間件 ) 配置信息,并把這個環境的虛擬模板云端化了,下面我們要通過這個虛擬模板把環境實例化,實現云端部署。

            在 RAF 讀取環境信息的同時, RAF 在與 IWD 的集成環境當中,生成了一個虛擬系統模式。這個虛擬系統模式包括了與現有環境信息相同的中間件拓撲結構和配置信息,以及 RAF 的相應信息和腳本文件。

          圖 12. 通過 RAF 和 IWD 集成生成的 Virtual System Pattern

            第一步:登陸 IWD,并找到之前創建時命名的 Virtual System Pattern

          圖 13. IWD 主頁面

          圖 14. Virtual System Pattern 中節點拓撲

            第二步:選擇部署 (deploy) 進行實例化:

          圖 15. 部署確認界面

           第三步:部署結束后開發人員會獲得新的虛擬機的 hostname,用戶名和密碼。

            第三部分:同步捕捉的測試環境配置到開發人員環境

            在工作中我們還常常會遇到這樣的問題,開發人員已經自己搭建了一個環境,他希望能夠把自己的環境配置變得和測試人員發現缺陷時的環境一樣,可以么?

            答案是肯定的,我們可以借助 RAF 的另外兩個模式:Compare 模式和 Execute 模式。Compare 模式可以對比開發人員的環境配置和之前我們捕捉的測試環境的差異,然后通過 Execute 模式,可以把這個開發人員的環境配置變成測試環境配置。

            第一步:對比開發人員的環境配置和之前捕捉的測試環境配置

          圖 16. Rational Automation Framework Client 界面

          圖 17. Compare 模式對比的結果

            第二步:針對測試人員和開發人員環境配置的不同,在 RAF Client 中進行相應的修改。

            第三步:在 RAF Client 中,右鍵點擊測試人員的環境,選擇 Run Action.

          圖 18. Execute 模式執行界面


           第四步:使用 Execute 模式執行 Dynamic Action was_common_configure_all,可以把開發人員的環境配置同步成測試環境配置

          圖 19. Execute 模式執行界面

            使用完畢后開發人員還可以把環境配置變回去。在 RAF Rich Client 中,選擇一個 Scope 點擊右鍵,選擇 Restore from Local History。選擇需要恢復的版本并再一次執行 Execute 模式,用戶可以輕松的講配置恢復到上一步執行 Execute 之前的某一個環境配置信息的版本。

          圖 20. 恢復到歷史版本界面

            目前我們已經通過 RAF 和 IWD 把重現缺陷所需的環境部署在了云端,下面開發人員就可以在這個環境上安裝被測產品并根據測試人員在缺陷中的描述重現缺陷問題,關于如何提高這部分的效率,我們將在系列第二篇中詳細講述。

            未來展望

            捕捉更多環境信息

            目前使用 RAF 我們只能捕捉應用服務器等信息(IBM WebSphere Family Product,IBM WebSphere MQ Series,WebSphere Message Broker ,Oracle WebLogic ,Red Hat JBoss),但是一下操作系統相關的信息還不能準確捕捉,我們還需要借助其他工具,比如 IBM Tivoli 的產品獲得更多測試環境的信息。




          posted on 2013-04-10 09:49 順其自然EVO 閱讀(265) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄selenium and watir webdrivers 自動化測試學習

          <2013年4月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 蚌埠市| 临夏县| 佛坪县| 临邑县| 绥滨县| 勐海县| 二连浩特市| 综艺| 大悟县| 巧家县| 内江市| 临高县| 新泰市| 石台县| 分宜县| 抚远县| 图片| 阆中市| 祁门县| 正蓝旗| 基隆市| 江陵县| 安达市| 淳化县| 嫩江县| 九寨沟县| 高青县| 周至县| 利辛县| 麻江县| 五大连池市| 昌吉市| 土默特左旗| 庆城县| 沁源县| 广水市| 洪湖市| 增城市| 黄冈市| 绥芬河市| 芦溪县|