常用測試工具和框架歸類


 

Web端相關庫和工具:

    1、Web UI: Selenium、QTP/UFT、其它(大多是對Selenium的包裝,比如: Selenide、Katalon、webTest、Watir-webdriver)、Sikuli(圖形界面對比)、IBM RFT

    2、REST: SoapUI、Postman

    3、SOAP: SoapUI

    4、HTTP/S: HttpRunner

 

移動端相關庫和工具:

    1、Monkey

        Android SDK自帶的測試工具,在測試過程中會向系統發送偽隨機的用戶事件流,如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試,也有日志輸出。

        實際上該工具只能做程序做一些壓力測試,由於測試事件和數據都是隨機的,不能自定義,所以有很大的局限性。

    2、MonkeyRunner

        也是Android SDK提供的測試工具。嚴格意義上來說MonkeyRunner其實是一個Api工具包,比Monkey強大,可以編寫測試腳本來自定義數據、事件。

        缺點是腳本用Python來寫,對測試人員來說要求較高,有比較大的學習成本。

    3、Instrumentation

        早期Google提供的Android自動化測試工具類,雖然在那時候JUnit也可以對Android進行測試,但是Instrumentation允許你對應用程序做更為復雜的測試,甚至是框架層面的。

        通過Instrumentation你可以模擬按鍵按下、抬起、屏幕點擊、滾動等事件。

        Instrumentation是通過將主程序和測試程序運行在同一個進程來實現這些功能,你可以把Instrumentation看成一個類似Activity或者Service並且不帶界面的組件,在程序運行期間監控你的主程序。

        缺點是對測試人員來說編寫代碼能力要求較高,需要對Android相關知識有一定了解,還需要配置AndroidManifest.xml文件,不能跨多個App。

    4、UiAutomator

        Android提供的自動化測試框架,基本上支持所有的Android事件操作,對比Instrumentation它不需要測試人員了解代碼實現細節(可以用UiAutomatorviewer抓去App頁面上的控件屬性而不看源碼)。

        基於Java,測試代碼結構簡單、編寫容易、學習成本,一次編譯,所有設備或模擬器都能運行測試,能跨App(比如:很多App有選擇相冊、打開相機拍照,這就是跨App測試)。

        缺點是只支持SDK 16(Android 4.1)及以上,不支持Hybird App、WebApp。

    5、Espresso

        Google的開源自動化測試框架。相對於Robotium和UIAutomator,它的特點是規模更小、更簡潔,API更加精確,編寫測試代碼簡單,容易快速上手。因為是基於Instrumentation的,所以不能跨App。

    6、Selendroid

        基於Instrumentation的測試框架,可以測試Native App、Hybird App、Web App,但是網上資料較少,社區活躍度也不大。

    7、Robotium

        基於Instrumentation的測試框架,目前國內外用的比較多,資料比較多,社區也比較活躍。缺點是對測試人員來說要有一定的Java基礎,了解Android基本組件,不能跨App。

    8、Athrun

        淘寶出的一個移動測試框架/平台,同時支持iOS和Android。Android部分也是基於Instrumentation,在Android原有的ActivityInstrumentationTestCase2類基礎上進行了擴展,提供一整套面向對象的API。

    9、Appium

        比較熱門的開源框架,它擴展了WebDriver,社區也很活躍。

        支持Native App、Hybird App、Web App,支持Android、iOS、Firefox OS;Server也是跨平台的,可以使用Mac OS X、Windows或者Linux。

        支持很多語言來編寫測試腳本,Java、Javascript、PHP、Python、C#、Ruby等主流語言。

        Client/Server架構,運行的時候Server端會監聽Client端發過來的命令,翻譯這些命令發送給移動設備或模擬器,然后移動設備或模擬器做出響應的反應。

        限制: 在Windows平台不能測試iOS Apps,只能通過在Mac上來運行iOS測試。

 

性能測試相關工具:

    還有: Web Bench、Siege、kylinPET、等等。

 

其它相關框架工具:

    CucumberRobot Framework

    SpecFlow、JBehave、Fitness、Concordion、Gauge、Calabash、Macaca、TestComplete、SilkTest、Squish。

 

語言相關測試框架:

    Java: JUnit、TestNG

    Python: unittest

    C#: NUnit

 

持續集成:

    Git、Jenkins、Maven、Docker。

 

參考:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM