qileilove

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

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

           第二步:靜默錄制腳本

            創建好項目之后,我們就不再需要 RFT 圖形界面了,而是使用靜默方式錄制缺陷重現腳本。

            靜默方式錄制腳本的優點在于不需要操作者對 RFT 有太多了解。只需簡單一個命令及幾個按鈕動作即可完成錄制。

            在 Windows 命令行中輸入如下命令,該命令會錄制一個名為 SampleScript 的腳本。

          圖 7. 從命令行啟動靜默錄制

            運行上述這條命令,會啟動 RFT 錄制小窗口。點擊圖中紅色標記的 Start Application 按鈕打開 Start Application 窗口。

          圖 8. RFT 錄制操作窗口

            在 Start Application 窗口中點擊 Edit Application List…按鈕,添加測試應用程序的 URL。

          圖 9. 選擇一個應用程序 url

            此處我們假定測試的應用程序 URL 為http://clmsvr-sjy.cn.ibm.com:9081/PlantsByWebSphere/,我們在 Windows 的 hosts 文件中加入如下行以方便 hostname 和 IP 地址的映射:

            <ip_address> clmsvr-sjy.cn.ibm.com

            在 Edit Application List 界面中點擊 Add,選擇 HTML Application,將上面的 URL 加入。

          圖 10. 添加應用 url

            點擊 Finish 按鈕,退出 Start Application 窗口。下面就可以開始腳本的錄制了。

            測試人員在打開的應用程序界面上進行操作,首先點擊 Bonsai Tree 圖標:

          圖 11. 腳本錄制 1

            然后在 QUANTITY 框中輸入 abc,點擊 Add to cart 按鈕,應用程序彈出告警消息框。

          圖 12. 腳本錄制 2

          第2部分:重現缺陷

            問題描述

            在本系列的第一部分中,描述了如何用 Rational Automation Framework(RAF)和IBM Workload Deployer(IWD)準備測試環境,本文主要針對如何在測試環境上重現缺陷問題。本文基于系列第一篇文章中創建出的測試環境,利用 RFT 的錄制回放功能,Rational Quality Manager(RQM)的測試管理功能和 Rational Team Concert(RTC)的協作功能,幫助開發人員更快速更準確的重現缺陷問題。

            在正常工作中,經常會出現開發人員根據測試人員在缺陷中描述的步驟不能重現缺陷,由于環境的差異,個人操作習慣的不同,或者重現步驟過于復雜,經常導致很多測試人員發現的缺陷無法被重現。這個大大拖延了缺陷修復和驗證的速度。又或者,測試人員為了方便經常會選擇把自己的環境直接給開發,這樣雖然能讓開發者直接看到了缺陷復現的環境,方便調試,但對于測試人員來說,也同時失去一套自己費時費力建好的環境。

            那么,如何才能讓開發人員更快速的在環境中重現缺陷問題呢?下面我們具體描述一下使用 IBM 工具的一種最佳實踐。

            產品簡介

            Rational Functional Tester(簡稱 RFT):是 IBM Rational 研發的一款面向對象的自動化測試工具,可以模擬用戶在實際使用中的基于圖形化界面的操作。它支持 Windows 和 Linux 平臺上對多種應用程序的測試,可以滿足各種用戶多方面的需要。

            Rational Quality Management(簡稱 RQM):是基于 Web 的,集中測試管理環境,它為測試計劃、工作流控制、追蹤,和能夠量化項目決策及可交付件如何影響并結合商業目標的量度報告提供協作的且可定制的解決方案。

            Rational Team Concert(簡稱 RTC):是構建在 IBM Rational 面向軟件交付技術的下一代協作平臺 Jazz 平臺上的第一個商用產品、一個協作式的軟件開發環境,它包含了集成的源代碼控制、工作項管理和構建管理等功能。RTC 是一個可實時相互協作的軟件交付環境,可以幫助跨地域分布的開發團隊簡化協作開發過程,并使其軟件交付過程實現自動化管理。

            方案描述

            本文中提到的方案需要開發和測試人員雙方的合作:

          圖 1. 具體流程

            RQM 作為測試管理系統,測試人員需要通過 RQM 創建缺陷。RTC 作為變更管理的工具,存儲具體缺陷內容,開發人員可以直接通過 RTC 中缺陷的描述了解問題內容。

            1、測試人員在測試環境中發現缺陷

            2、測試人員通過系列第一篇中描述的方法把測試環境的配置信息存儲到 RAF 并在 IWD 中模板化

            3、測試人員需要在測試環境中錄制重現缺陷的腳本,這里會用到 RFT

            4、測試人員在 RQM 中創建缺陷,并把 IWD 中虛擬系統模式 (Virtual System Pattern) 的名稱包括在缺陷內容中,同時把 RFT 錄制好的缺陷重現腳本作為附件添加到缺陷中。

            5、開發人員收到缺陷提醒通知后,可以在 RTC 中查看缺陷具體內容

            6、開發人員根據 IWD 中虛擬系統模式的名稱去 IWD 中創建虛擬機,虛擬機中已經安裝 RFT

            7、開發人員獲得缺陷重現腳本,在生成的虛擬機中運行,重現缺陷。

            相比較其他方案,這個解決方案的優點是:

            ● 開發人員能很快得到一套環境,且此套環境能保證與測試人員所用的環境一致。

            ● 開發人員無需掌握太多 RFT 技能就能利用 RFT 回放腳本。

           準備工作 1

            在 IWD 中,把 RFT 的安裝作為基礎虛擬系統模式的一部分,這樣創建的虛擬系統模式就會包含 RFT 的安裝。

            RFT 的錄制是通過焦點,頁面上的圖標擺放的位置,窗口的大小都可能會導致坐標的錯誤,使得回放失敗,這個問題怎么解決?

            上面這個問題是我們在使用 RFT 回放腳本時經常碰到的,由于我們使用 IWD 中統一模板創建缺陷重現環境,這樣環境配置是相同的,RFT 腳本的回放不會出現上述問題。

            準備工作 2

            由于測試人員需要在創建缺陷是提供 IWD 虛擬系統模式名稱和附加缺陷重現腳本。這里需要在 RTC 中缺陷模板中添加一個字段 IWD Pattern,這樣開發人員可以清晰獲得虛擬模板信息。

          圖 2. RTC 項目管理界面

            在上圖中選擇工作項 (Work Item),然后為這個工作項添加屬性(Types and Attributes),添加完畢后可在創建新的缺陷時看到 IWD Pattern 字段,然后需要編輯工作項展示頁面,編輯完畢后創建新的缺陷頁面就會呈現更改后的頁面,包括 IWD 虛擬系統模式字段。

          圖 3. RTC 工作項展示頁面編輯

            準備工作 3

            圖 1 具體流程中提到測試人員需要通過 RQM 來創建缺陷,缺陷具體內容會直接存儲到 RTC 中,這就要求提前配置好 RQM 和 RTC 的集成環境。

            1、創建需要的 RQM 項目

            2、創建需要的 RTC 項目

            3、在 RQM 項目管理頁面中,關聯 (Association) 部分,添加和 RTC 項目的關系"使用",RTC 提供的"缺陷"功能即可。

            4、完成上述步驟后,就可以在 RQM 中測試執行完畢后,測試執行結果 (Test Execution Result) 中關聯或創建新的 RTC 中的缺陷。

            具體實現步驟

            測試人員錄制缺陷重現腳本

            測試人員的測試環境可由 IWD 迅速得到,這部分可參考本系列的第一篇文章。下面闡述測試人員如何在測試環境中用 RFT 靜默方式錄制缺陷重現腳本。

            我們以 WAS 中的 Plants by WebShere 程序為例,假定購買 Bonsai Tree 時,在 QUANTITY 框輸入 abc,彈出告警消息框 Quantity must be a valid number。現在假定 Plants by WebShere 程序設計已經更改,彈出告警消息框中的內容應該為 Warning:Quantity must be a valid number。所以測試人員發現了一個缺陷,現在錄制這個缺陷的重現步驟。

          圖 4. WAS 網上花店應用錯誤示例

            第一步:用 RFT 圖形界面創建 RFT Project。

            首先假設您擁有一個名為 SampleProject 的 RFT 項目,如果沒有可以打開 RFT 圖形界面創建一個 Project。在菜單中選擇"File" -> "New" -> " Functional Test Project"。

          圖 5. RFT IDE 界面

            在創建項目界面中輸入項目名稱和項目路徑。點擊 Finish 按鈕,就會創建好一個 RFT 項目。

          圖 6. RFT 項目創建頁面

           第二步:靜默錄制腳本

            創建好項目之后,我們就不再需要 RFT 圖形界面了,而是使用靜默方式錄制缺陷重現腳本。

            靜默方式錄制腳本的優點在于不需要操作者對 RFT 有太多了解。只需簡單一個命令及幾個按鈕動作即可完成錄制。

            在 Windows 命令行中輸入如下命令,該命令會錄制一個名為 SampleScript 的腳本。

          圖 7. 從命令行啟動靜默錄制

            運行上述這條命令,會啟動 RFT 錄制小窗口。點擊圖中紅色標記的 Start Application 按鈕打開 Start Application 窗口。

          圖 8. RFT 錄制操作窗口

            在 Start Application 窗口中點擊 Edit Application List…按鈕,添加測試應用程序的 URL。

          圖 9. 選擇一個應用程序 url

            此處我們假定測試的應用程序 URL 為http://clmsvr-sjy.cn.ibm.com:9081/PlantsByWebSphere/,我們在 Windows 的 hosts 文件中加入如下行以方便 hostname 和 IP 地址的映射:

            <ip_address> clmsvr-sjy.cn.ibm.com

            在 Edit Application List 界面中點擊 Add,選擇 HTML Application,將上面的 URL 加入。

          圖 10. 添加應用 url

            點擊 Finish 按鈕,退出 Start Application 窗口。下面就可以開始腳本的錄制了。

            測試人員在打開的應用程序界面上進行操作,首先點擊 Bonsai Tree 圖標:

          圖 11. 腳本錄制 1

            然后在 QUANTITY 框中輸入 abc,點擊 Add to cart 按鈕,應用程序彈出告警消息框。

          圖 12. 腳本錄制 2


           最后測試人員點擊下圖中紅色標記的 Stop Recording 按鈕完成錄制過程。

          圖 13. 腳本錄制 3

            完成錄制之后,在 SampleProject 目錄下生成一個 SampleScript.java 腳本,腳本內容如下:

          圖 14. 錄制腳本 Java 文件

            第三步:創建缺陷

            完成這些之后,將錄制的腳本工程做成 zip 包,測試人員就可以在 RQM 里執行測試用例時將腳本信息,用于部署環境的 IWD 環境信息附錄到缺陷報告之上。關于如何通過 IWD 創建測試環境模板,并部署環境,請參考本系列第一篇文章。

            在 RQM 中,測試人員運行測試用例,測試用例運行失敗,測試人員創建軟件缺陷并把腳本包文件,IWD 環境部署信息鏈接附錄到缺陷信息中。這里為了方便開發人員更好的獲得缺陷環境信息和重現步驟,我們對 RTC 缺陷模板進行一些定制和配置,添加了 IWD Pattern 字段,并讓添加附件部分在 RQM 里可見。

          圖 15. RQM 中創建新缺陷的頁面

            開發人員回放腳本重現缺陷

            開發人員在瀏覽缺陷信息時,可以從中得到用于復現缺陷的腳本和測試環境信息。通過字段 IWD Pattern 里的鏈接連接到 IWD 系統。開發人員通過 IWD 部署測試環境。此環境模板正是測試人員發現缺陷時所用模板,被測應用及 RFT 應用已經預裝完畢。開發人員在新得到的系統內解開缺陷附錄的腳本包壓縮文件,并通過以下步驟重現缺陷。如下圖所示:

          圖 16. RTC 中存儲的缺陷信息

            首先開發人員在部署好的環境 Windows 的 hosts 文件中加入如下行以方便 hostname 和 IP 地址的映射:

            <ip_address> clmsvr-sjy.cn.ibm.com

            然后在 Windows 命令行中輸入如下命令編譯 RFT 腳本 SampleScript。

          圖 17. RFT 編譯腳本命令

            最后開發人員在 Windows 命令行中輸入如下命令回放 RFT 腳本 SampleScript,腳本就會按照測試人員的錄制過程復現 defect。

          圖 18. RFT 腳本回放

            這樣,開發人員直接從缺陷里得到了環境信息,部署新環境,并通過附錄的 RFT 腳本信息直接回放腳本,重現缺陷。

            結束語

            現在開發人員已經可以重現缺陷問題了,下面就是解決問題,提交產品代碼變更后,測試人員進行缺陷驗證的環節,這個部分我們會在系列第三篇中描述。

          相關鏈接:

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

          posted on 2013-04-11 09:33 順其自然EVO 閱讀(233) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2013年4月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 光泽县| 平邑县| 深圳市| 虎林市| 台安县| 曲松县| 蕲春县| 镇坪县| 辽阳市| 郧西县| 黔江区| 亚东县| 万源市| 离岛区| 唐山市| 五台县| 乌审旗| 枣强县| 静海县| 麟游县| 红安县| 乌海市| 荔波县| 长丰县| 濮阳县| 锡林郭勒盟| 驻马店市| 明溪县| 三原县| 池州市| 宣汉县| 牙克石市| 库车县| 秭归县| 伽师县| 昌黎县| 图们市| 宁远县| 长白| 渭源县| 阳朔县|