<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>
            • 軟件測試技術(shù)
            • 軟件測試博客
            • 軟件測試視頻
            • 開(kāi)源軟件測試技術(shù)
            • 軟件測試論壇
            • 軟件測試沙龍
            • 軟件測試資料下載
            • 軟件測試雜志
            • 軟件測試人才招聘
              暫時(shí)沒(méi)有公告

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

            從測試用例列表批量生成 CQTM Test Case 的三種解決方案

            發(fā)布: 2009-5-24 18:58 | 作者: 網(wǎng)絡(luò )轉載 | 來(lái)源: 測試時(shí)代采編 | 查看: 279次 | 進(jìn)入軟件測試論壇討論

            領(lǐng)測軟件測試網(wǎng) 本文介紹了三種從 Test Case 列表批量生成 IBM Rational ClearQuest TestManager(CQTM)Test Case 的解決方案,通過(guò)本文所提供的解決方案,可以節省測試人員在CQTM中手動(dòng)創(chuàng )建 Test Case 的大量重復性工作,提高生產(chǎn)力。

            IBM Rational CQTM(ClearQuest TestManager)可以與 RMT(Rational Manual Tester)或 RFT (Rational Functional Tester)集成。通常,測試人員需要先在 RMT 或 RFT 中編寫(xiě)腳本,然后在 CQTM 中,將此腳本關(guān)聯(lián)到一個(gè) TMTestCase 或 TMConfiguredTestCase。在很多情況下(例如測試用例數量眾多,或是迭代次數較多),這樣的工作會(huì )很耗時(shí),并且往往有大量重復性勞動(dòng)。本文介紹了三種從 Test Case 列表批量生成 CQTM Test Case 的解決方案,其核心思想是通過(guò)使用 CQ(ClearQuest)所提供的 API 來(lái)實(shí)現自動(dòng)化的批量生成 TMTestCase 并將相應的腳本與之關(guān)聯(lián)起來(lái)。通過(guò)本文所提供的解決方案 , 可以節省測試人員在 CQTM 中手動(dòng)創(chuàng )建 Test Case 的大量重復性工作,提高生產(chǎn)力。經(jīng)過(guò)測試,在局域網(wǎng)內的 CQTM 中創(chuàng )建 Test Case,每個(gè)用例大約花費的時(shí)間在 3-5 秒之間,相對于以前由測試人員手動(dòng)添加并編輯測試計劃、測試用例,效率提高在 90% 以上。

            我們已成功實(shí)現了 RMT 和 CQTM 的這種整合,因此本文主要討論根據 RMT 的腳本列表如何批量生成,但文中所描述的方案同樣適用于 RFT。本文中,我們結合我們的思路提供了部分示例代碼,讀者可以根據具體的應用需求來(lái)實(shí)現和定制自己的代碼。

            注 : 文中有關(guān) IBM Rational ClearQuest TestManager 的示例代碼為非官方代碼,IBM 不對其提供支持。使用示例代碼需自行承擔風(fēng)險。作者強烈建議在使用前先在虛擬項目中對代碼進(jìn)行測試。

            1. 通常的使用場(chǎng)景

            圖 1 展示了結合使用 CQTM 和 RMT 的通常場(chǎng)景。測試主管(Test Lead)在 CQTM 中創(chuàng )建 Asset Registry,Test Plan,Configuration 和 Iteration。測試人員(Testers)在 RMT/RFT 中編寫(xiě)腳本,然后在 CQTM 中創(chuàng )建 Test Case,并將相應的腳本與之關(guān)聯(lián)。測試人員根據 Test Case, Configuration 和 Iteration 生成 Configured Test Case。在測試執行過(guò)程中,測試人員為每個(gè) Configured Test Case 創(chuàng )建 Test Log。


            圖 1. 通常的使用場(chǎng)景
             

            現在我們深入分析一下測試人員如何創(chuàng )建 RMT 腳本和 CQTM Test Case,即圖 1 中紅框所包含的部分。

            首先,測試人員在 RMT 中編寫(xiě)一些腳本并將它們放在某個(gè)共享目錄下,例如,\\SharedMachine\SampleProject。為了更好的組織這些腳本,測試人員在此目錄下創(chuàng )建了一個(gè)名為“FVT”的子目錄,以標識這些腳本是用于 FVT 的;然后在“FVT”目錄下再創(chuàng )建一個(gè)子目錄“Function1_Scripts”用于存放關(guān)于組件“Function1”的腳本。對于每個(gè) RMT 腳本,使用一些描述性的命名以表示其功能,例如“TestCase3.rmt”。如圖 2 所示。


            圖 2. 創(chuàng )建 RMT 腳本
             

            接下來(lái),在 CQTM 中,測試人員需要先定義 Asset Registry 和 File Location,才能開(kāi)始添加 Test Case 并與 RMT 腳本相關(guān)聯(lián)。圖 3 展示了在這個(gè)場(chǎng)景中所定義的 File Location。


            圖 3. 創(chuàng )建 File Location
             

            當 Asset Registry 和 File Locations 都準備好之后,測試主管創(chuàng )建一個(gè)名為“FVT”的 Test Plan, 并在其下創(chuàng )建一個(gè)名為“Function1”的子計劃。然后測試人員就可以開(kāi)始在“Function1”下創(chuàng )建 TMTestCase。測試人員需要把每個(gè) TMTestCase 與一個(gè) RMT 腳本相關(guān)聯(lián),為了保持一致性,TMTestCase 的標題與 RMT 腳本的名字一樣。如圖 4 所示。


            圖 4. 創(chuàng )建 CQTM Test Case
             




            回頁(yè)首

            2. 上述場(chǎng)景中的問(wèn)題

            通過(guò)觀(guān)察圖 2 和圖 4,可以發(fā)現其樹(shù)結構和命名規則都是極其類(lèi)似的。因此在 CQTM 中所做的工作其實(shí)是一種重復性勞動(dòng)。我們?yōu)楹尾荒軐で笠环N自動(dòng)完成這些工作的方法呢?

            基于以上考慮,我們通過(guò)編程的方法,根據 CQTM 提供的 API 與之進(jìn)行交互,開(kāi)發(fā)了一個(gè)工具來(lái)實(shí)現自動(dòng)化,以消除這些重復工作。

            假定將 ClearQuest 安裝在 C:\Program Files\Rational\ClearQuest 目錄,則可以在 C:\Program Files\Raitonal\ClearQuest\doc\books 目錄下找到 cq_api.pdf 文件。在這個(gè)文件中,所有的 API 都采用 Basic 語(yǔ)言和 Perl 語(yǔ)言進(jìn)行了描述,但這些 API 也提供對 Java 語(yǔ)言的支持;旧,使用 ClearQuest 客戶(hù)端所能進(jìn)行的所有操作,都能通過(guò)這些 API 來(lái)編程實(shí)現。這為 CQ 用戶(hù)實(shí)現工作的自動(dòng)化提供了充分的可能。

            在以下章節中,我們針對上述場(chǎng)景中 CQTM 用戶(hù)所面臨的問(wèn)題,提出了三種解決方案。3.1 節是一個(gè)普通方案,可以節省測試人員在 CQTM 中創(chuàng )建 Test Case 和 Configured Test Case 所需的工作。3.2 節是一個(gè)高級方案,將測試準備和測試用例(test case)的生成更徹底的結合在一起。3.3 節是一個(gè)更為綜合的方案,它提供了一個(gè)包含所有相關(guān)信息的模板以用于測試準備和審查,并且除批量生成 CQTM 測試用例以外,還會(huì )批量生成相應的 RMT 腳本。

            在實(shí)際使用中,我們在不同的項目的測試中已經(jīng)實(shí)踐了這三種解決方案。對于普通方案,我們開(kāi)發(fā)了一款名為 RMT2CQ 的工具。對于高級方案,我們往 RMT2CQ 工具中增加了一些特性。對于綜合方案,我們設計了一個(gè)模板,并開(kāi)發(fā)了另一款名為 GenRMT 的工具與 RMT2CQ 結合起來(lái)使用。

            在本文中,我們以 RMT2CQ 的一些示例代碼來(lái)闡述我們的思路。讀者可以根據自己的項目情況來(lái)定制代碼。對于第三種方案中所涉及的模板和 GenRMT 工具,將會(huì )有其他的文章進(jìn)行更詳細的描述。

            注:示例中所使用的是 CQTM 7.0.0.0 和 Common Schema CQTMCS_V1。

            使用 API 建立查詢(xún)的技巧:通過(guò) API 在 CQTM 中創(chuàng )建新的實(shí)體(entity)之前,必須進(jìn)行查詢(xún)(query)以防止重復。在建立查詢(xún)時(shí),可以使用 session.BuildSQLQuery() 或 session.BuildQuery()。

            如果使用 BuildSQLQuery(),當前會(huì )話(huà)(session)的登錄用戶(hù)應當具有“SQL Editor”特權,這是由于用戶(hù)需要傳入正確的 SQL 語(yǔ)句。如果用戶(hù)對于 SQL 語(yǔ)句的語(yǔ)法不太確定,可以通過(guò) CQ 的 Eclipse 客戶(hù)端得到提示。用戶(hù)可以在客戶(hù)端中創(chuàng )建類(lèi)似的查詢(xún),并右鍵單擊該查詢(xún),選擇“SQL”,然后選擇“View SQL”,如圖 5 所示。該查詢(xún)相應的 SQL 語(yǔ)句將會(huì )顯示出來(lái),如圖 6 所示。在我們的工具以及本文的示例代碼中,我們使用的是這個(gè) API。


            圖 5. 查看 SQL
             

            圖 6. 顯示 SQL
             

            如果使用 Buildquery(),其代碼非常類(lèi)似于用戶(hù)從客戶(hù)端創(chuàng )建查詢(xún)的過(guò)程?梢允褂 BuildField() 來(lái)指定要顯示的域,并使用 BuildFilterOperator() 和 BuildFilter() 來(lái)指定查詢(xún)標準。




            延伸閱讀

            文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/

            TAG: case CASE Case test Test TEST 方案 批量 CQTM

            41/41234>

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

            軟件測試 | 領(lǐng)測國際ISTQBISTQB官網(wǎng)TMMiTMMi認證國際軟件測試工程師認證領(lǐng)測軟件測試網(wǎng)

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>