功能自動化測試之自動化測試工具概述

說明:該篇博客是博主一字一碼編寫的,實屬不易,請尊重原創,謝謝大家!

一、理解軟件測試自動化

1.自動化測試的含義

  • 自動測試就是用程序代替人的手工操作,完成一系列測試的過程。
    √     自動化工具能自動打開程序、自動執行測試用例、自動查找控件、自動產生數據、自動輸入數據、自動操作控件、自動收集結果、自動比較實際結果與預期結果是否一致。

2.軟件測試爲什麼要自動化?

在這裏插入圖片描述

  • 軟件測試是一項工作量巨大的工作;

  • 軟件測試包含大量的重複性操作;

  • 軟件測試的某些環節包含一些非智力創造性活動;

  • 很多情況下手工測試難以模擬真實的環境;

  • 手工測試無法提供精確的測試結果。

3.自動化測試的優點

  • 自動化測試可重複執行,能執行更多、更頻繁的測試。

  • 能執行一些手動測試比較困難或不可能進行的測試。

  • 能更好地利用資源,可利用晚上或週末空閒的設備執行自動化測試。

  • 自動化讓測試人員騰出時間和精力,測試人員可以投入更多的精力設計出更多、更好的測試用例,從而提高測試準確性和測試人員的積極性。

  • 自動測試具有一致性的特點,能夠保證測試更客觀,從而提高了軟件的信任度。

4.自動化測試的缺點

  • 不能完全代替人工測試,不是所有的測試用例都可以自動化,工具本身不具備思維能力。
    √     設計用例。
    √     界面和用戶體驗測試。
    √     正確性檢查。

  • 不能保證 100%的測試覆蓋率。

  • 需要更長的時間去分析和隔離所發現的缺陷。

  • 自動化測試對軟件質量依賴性較大。

  • 如果測試人員不熟悉某些測試工具,測試工作的進度就有可能受到影響。

  • 不能立即降低測試投入,提高測試效率。自動化測試的成本問題可能高於人工測試,因爲工具的購買及維護的開支很大。

5.自動化測試應用場合

在這裏插入圖片描述

6.不正確的自動化測試期望

  • 有了工具,一切測試過程都變得自動了。
    √     如果項目中使用了很多第三方控件或自定義控件,而這些控件的可測性很差,這種測試則不適合自動化。

  • 有了工具,測試工作馬上就減輕了。
    √     購買測試工具後,還需要編寫和維護測試腳本,這些費時、費力;
    √     可以在界面雛形時期,檢查界面中的控件是否可測,從而選擇合適的工具。

  • 自動測試工具都是簡單易用的。
    √     功能越完備操作通常越複雜,要求使用者掌握更多的技能。

  • 自動化測試儘早執行。
    √     自動化測試需要過早計劃但不宜過早執行;自動化測試需要循序漸進進行。

二、常用的自動測試工具及分類

1.商業測試工具

  • 需要購買,價格昂貴。

  • 成熟、穩定、有售後服務和技術支持。

  • 適宜 GUI 功能和性能測試。

  • HP
    √     QuickTest Professional/UFT(Unified Funtional Testing):功能測試工具。
    √     LoadRunner:性能測試工具。
    √     Quality Center/Application Lifecycle Management:測試管理工具。

  • IBM Rational
    √     Robot:功能和性能測試工具。
           ✰     支持 HTML、Java、.Net、Visual Basic、PowerBuilder、Delphi、Oracle 表單和 MFC 控件。
    √     ClearCase:軟件配置管理工具。
    √     ClearQuest:缺陷和變更跟蹤工具。
    √     TestManager:測試管理工具。

  • Compuware QACenter
    √     QARun:功能測試工具。
    √     QALoad:性能測試工具。
    √     QADirector:測試管理工具。

  • Microsoft
    √     Web Application Stress:性能測試工具。

2.開源測試軟件

  • 志願者開發和維護,未必完全免費。

  • Selenium
    √     最早由 Thoughtworks(思特沃克)的員工 Jason Huggins 編寫,後來多人加入。
    √     功能和兼容性自動化測試工具。

  • Jmeter
    √     Apache 組織開發。
    √     性能和接口自動化測試工具。

三、自動化測試工具的選擇

  • 選擇測試工具的指導原則 √     一般不是在項目初期完成工具選擇,往往是在開發工具確定很長時間以後才能完成,甚至是項目後期才明確。 √     選擇適合自己公司項目的產品,只買對的,不買貴的。        ✰     不要輕信測試銷售人員的介紹就輕易購買,一定要組織詳細的試用,確認適合項目使用,才能購買。 √     分階段、逐步引入測試工具。 √     選擇技術支持完善的產品。 √     儘量選擇主流的測試工具。 √     如需多種工具,儘量選擇一個公司的產品。 √     考慮測試工具的集成能力(操作系統、開發工具、其他測試工具)。需要考慮:與開發語言一致的測試腳本語言,還要注意第三方控件與腳本語言能否匹配。        ✰     測試工具未必支持所有的控件                ▲     可能會出現不識別的問題,不能花太多時間去研究爲什麼不識別,應該先用最簡單的方法解決,使自動化測試得以進行是最重要的。                ▲     遇到不能識別控件的問題時,可以向開發尋求幫助,讓開發提供對軟件的編程接口,更換一個同等效果的工具等。 √     測試用例的自動化應該注意順序        ✰     先自動化簡單的、主要功能的用例,然後向次要功能等擴展。