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

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

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

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

    Rational nal Tester實現動態測試

    發布: 2008-3-06 12:44 | 作者: 網絡轉載 | 來源: 網絡轉載 | 查看: 196次 | 進入軟件測試論壇討論

    領測軟件測試網 靜態的校驗點測試

      Rational nal TestRFT是一款基于Java的自動化功能測試工具。作為RationalSoftwareDevelopmentPlatformRSDP軟件家族中的一員,它為java/eclipse/html/.net等各種被測試程序提供了一個自動化測試平臺。其中對基于eclipse的程序的支持更是RFT的特色之一,這使得它在eclipse得到廣泛應用的背景下前景廣闊。

      在功能測試中,用RFT完成一個校驗點的測試是非常容易的,只需要很少的代碼。下面我們首先給出一個靜態校驗點測試的例子。本文中被測試程序是RationalDataArchitect 6.1。RFT的版本是6.1.1.1。

      問題 1給定了當前如圖 1 所示的PropertiesView,請校驗Name字段的值是否是預期的“DB_LARGE1”。

      圖 1: 被測試的面板

      為了解答這個簡單的問題,首先需要抓取Name文本框對應的測試對象,我們把它命名為testDb,如圖2的tExplorer所示。然后可以通過如下代碼進行校驗。之所以稱這種校驗的方法為靜態校驗點測試,是因為校驗的代碼是被硬編碼到源文件中的,如果要增加或者修改任何一個被校驗的對象,都需要大幅度修改源程序的對應位置和維護tExplorer,并且還需要重新編譯才能得到結果。

      圖 2: 抓取測試對象testDb

      public void testMaint args

      String expect=TESTDB;

      booleanresult=expect.equalstestDb.getPropertytext.toString;//判斷字符串是否等于預期值

      String context=The value of textfield =+expect;

      RationalTestt.logTestResultcontext,result;//輸出測試的結果

      批量控件校驗的挑戰

      問題2請校驗圖1的面板中的連續8個文本控件的值是否都等于預期值,它們的預期值依次為DB_LARGE1,,LARGE,DATABASE_MANAGED,32,32,12.67,0.18。

      毫無疑問,問題2也完全可以使用靜態的方法予以實現。但是,要注意到在上面的靜態校驗點測試中,預期值、被測試對象、和校驗過程都同時出現在代碼中。如果繼續用傳統的方法來處理問題2,那么很有可能面臨至少兩方面的問題。首先,傳統方法無法管理較多的預期值,預期值只能硬編碼在文件中,而且只能編譯前進行修改;其次,所有的被測試控件都必須提前被抓取到tExplorer中,維護的成本是比較高的,一旦被測試對象有所改變,tExplorer就需要重新維護。

      這兩點的局限性實際上就是代碼的耦合太強的表現,當不同功能的代碼都混在一個類中,類的功能界限會趨于模糊。這樣的編寫思路不管是從功能還是邏輯上來講,都不能稱之為好的設計和實現。所以我們嘗試用一個全新的動態的方法來解答問題2。

      動態實現校驗點測試的基本思路

      為了實現一個比較好的動態的校驗點測試,首先測試人員可以將被測試控件和預期結果分別配置在兩個文件中。因為幾乎每個被測試的控件通常都和某些特征標簽文本相鄰,我們只需要在文件中清楚地配置出這種相對位置關系即可。在運行的時候,主程序會讀取這兩個配置文件,并在測試對象樹上面搜索被測試控件。一旦搜索到該控件,則從該控件的屬性集合中取出對應的屬性值,和配置文件中的預期結果進行比對,最終得以判斷該校驗點是否通過。這個思路的流程圖如圖3所示。

      圖 3: 動態校驗點測試流程

      這里我們引入“控件容器”的概念,所謂控件容器,指的是內部包含其他控件的一個容器式的控件。圖1中紅色矩形所表示的就是一個控件容器,它對應于SWT編程中的一個composite對象?丶萜鞯闹匾栽谟,如果得到了一個控件容器的Testt引用,就有可能通過編程的方法遍歷并操作其內部的所有控件?丶萜骶褪悄莻唯一需要抓取和維護的對象。

      根據以上的思路,被測試的控件不再通過texplorer一一維護,而是只需要維護一個總體的容器。這樣就是在犧牲一定性能的情況下提高了系統的靈活性和可維護性。主程序從配置文件讀取控件列表,一次就可以全部校驗完成,也同時進一步減少了維護的成本。表1全面地對比了兩種不同的校驗方法的差異。

      表 1:靜態方法和動態方法對比 靜態測試方法 動態測試方法 預期值 硬編碼于源程序中 配置在一個單獨的文件中被測試控件需要一個個的抓取到t explorer中 配置在一個單獨的文件中 校驗代碼非常冗長,代碼行和校驗點數量成正比非常簡短,而且隨著校驗點增加而不變 維護性 需要在編譯前修改源程序,而且經常需要維護texplorer只需要修改兩個配置文件,不需要重新編譯,幾乎不需要維護t explorer重用性幾乎沒有重用性,對于新增加的校驗點,需要添加新的程序段 重用性非常高,不需要對新增的校驗點不需要編寫任何新的代碼 性能性能非常好性能中等,因為遍歷需要消耗時間

      

    延伸閱讀

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

    TAG: rational Rational

    31/3123>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>