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

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

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

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

    自動化測試框架:自己的框架

    發布: 2009-5-26 10:23 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 106次 | 進入軟件測試論壇討論

    領測軟件測試網

    這種方式的好處在于,自動化工具和應用程序之間能夠做到完全的隔離。但是,由于使用了Windows消息,它也擁有了一個非常致命的缺點。那就是消息隊列的異步性與程序的順序性之間的矛盾。很多消息發送給了應用程序,但是應用程序的處理可能已經和消息隊列錯位了。有一些關于代碼的時間片等待,就是因為這個問題。

            另外,就是由于完全的隔離,對于操縱控件數據的能力大大降低。畢竟,擁有大量數據的控件都不是標準控件。

            第二、嵌入式。TestComplete就是這類工具。它有支持不同語言的版本。大概思路,就是在程序編譯的時候,注入自己的控件代理。腳本的回放,直接可以通過代理,操縱到應用程序。

                             

            可惜的是,這類軟件開發的時候,更多的是考慮平臺的兼容性。對于特有平臺上的支持不是十分完美。特別是對自定義控件(比如Delphi中,除了VCL的標準控件)支持也沒有做到最好。不過,我這里必須承認,TC的內部實現機制可能十分強大,我不能窺探所有。如果有人清晰,可以指點一二。

            針對上面的兩種,我們想到的第三種方式:一體式。這種方式中,通過給程序在打包的過程中,添加額外的框架代碼,是的程序自動提供控件的訪問方式。自動化的模塊也會作為測試程序的一部分運行。

            應用程序在執行腳本的時候,自動通過腳本,控制各控件界面的顯示和關閉。它應該是第二種方式的變種。但是由于是自己實現的,所以在對各類自定義控件支持的都非常好。

                                    

            針對一開始提出的幾個自動化測試的難題,我們提出了,自動封裝窗體上所有控件的概念(這些概念后面會詳細介紹),對于測試人員,只要關心真正的業務操作流程。而業務流程中涉及到的控件,已經為他們自動提供好。這樣,腳本也自然只成了業務流程的腳本。其復雜度也就大大降下來了。

            按照這個思路,最主要的是可以充分發揮“程序是我們自己的”的優勢,對于測試人員,開發人員是他們的最好的訪問控件的工具。有什么控件找不到,開發人員可以快速地給他們適配一個訪問方式。這也大大降低了測試人員對軟件系統內部的了解程度。

            因此,自定義的測試框架,最大的優勢來源于其無限的擴充能力,以及簡潔的封裝界面。相信這個框架一定能給我們自動化測試方面帶來很多優勢。


    延伸閱讀

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

    22/2<12

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系: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>