什麼是自動化測試?了解一下~

2021-01-08 傲嬌的adc

軟體測試招聘方面基本上都有關於自動化測試的要求。了解 selenium、appium或者其他自動化測試框架至少熟悉一門面向對象開發語言,會使用JMeter、Postman等接口測試工具等等,這些相信在招聘信息上都看過,就不詳細列舉了。本文主要的目的就是科普一下什麼是自動化測試。

測試

測試:這個我們熟悉。測試的本質:過程。測試是為了發現軟體的錯誤,而執行的過程,這個過程可以是以下內容:運行被測試的軟體,執行軟體的功能運行其他工具,去檢查軟體的內部和外部。

自動化

自動化測試就是讓被測試的軟體自己運行起來,執行軟體的功能;或者就是讓其他的工具自己運行起來,去檢查軟體的內部和外部。

既然測試是一個過程,那麼自動化測試,就是自動的執行的過程。

不知道童鞋們有沒有思考過,機器怎麼知道人類的要求?好吧~ 關鍵點是程式語言。機器學習一個程式語言,輕鬆和簡單到令人髮指的地步:安裝上去,機器就學會了。好在人類學習程式語言也不是特別難的的事情。有了程式語言,就有了人機交流的橋梁,剩下的事情,是幫機器挑選工具。做對應的測試,找到對應的工具,這樣自動化就自動起來了。

自動化測試

接下來我們探討一下主流的自動化測試方案,無一例外,都有人機溝通的程式語言,加上機器操作的工具來組成。

功能自動化測試VBScript + QTP(HP UFT),商用功能自動化測試方案Python/PHP/Java/C#/JavaScprit/Ruby + Selenium/Appium + 單元測試框架,開源功能自動化測試方案這裡我們多介紹一點。

Selenium/Appium 本身不能算是測試工具,而只是機器用來操作瀏覽器的工具,並且這個工具能聽懂多種語言:Java,C# 這兩個重 (zhòng) 語言Python,Ruby 這兩個腳本輕語言PHP,JavaScript 這兩個專門處理 Web 的語言工具外加指定的語言,可以讓機器來操作瀏覽器,但是到此時還無法做到測試,於是才需要每個語言自己的單元測試框架,來一起完成這個功能自動化測試方案的構建。

此外,業界還一種暫時臨時的方案,就是 Python 2 + Robot Framework + Selenium Library 插件 + 單元測試框架構成的一種測試方案。

主要基於兩點:理念:這是一種基於關鍵字的方案,那麼關鍵字是 QTP(HP UFT)的特長,並不是Selenium的本意技術:Python 2 終究是要退出歷史舞臺的,如果從零開始做自動化測試,還是直接入手 Python 3 吧,然而 Robot Framework 不支持 Python 3……Python/Java/C#/JavaScprit/Ruby + Gauge,又一款開源的功能自動化測試方案Thoughtworks 的基於BDD理念的自動化測試工具Gauge 本身就是完整的測試方案Gauge 是從需求分析師(BA)到測試工程師(QA)都覆蓋的測試方案Java/Python + Macaca,阿里巴巴的功能自動化測試方案,缺點是文檔少JavaScript + TestCafe,DevExpress 的開源功能自動化測試方案pure node.js - TestCafe不使用Selenium,並且不需要插件來在實際瀏覽器中運行測試。

軟體測試

它建立在node.js的頂部,因此它與現代開發工具集成和工作良好無需額外的設置或配置- TestCafe是所有設置後立即運行測試npm install完整的測試工具 - 使用單個啟動命令,TestCafe啟動瀏覽器,運行測試,收集結果並生成報告JavaScript + Postman,免費的Web接口功能自動化測試方案Groovy + SoapUI,開源的Web接口功能自動化測試方案性能自動化測試Java/C + HP LoadRunner,商業版性能測試方案Java + JMeter,開源版性能測試方案Python + locust,開源版性能測試方案

事實上,自動化測試覆蓋了從 UI (功能測試)到契約(接口測試)以及底層代碼方法(單元測試)的整個過程,要想很好的掌握自動化測試,那麼的確需要以下三種領域的經驗積累:

程式語言,面向對象編程優先,因為大量的開源技術方案,都是基於面向對象的編程方式第三方測試工具和測試框架,這些主要通過官網的文檔學習測試的理念與設計,工具和語言,只是測試的手段,如何準備測試數據,如何設置測試的檢查點與測試步驟,這些決定了測試的成敗

前端與伺服器後端技術,是測試執行的保障。

相關焦點

  • 功能測試如何轉型自動化測試
    這是我之前跟一些大型網際網路軟體測試負責人大牛們聊天的時候發現,很多人對測試仿佛有這樣的一個標籤——沒有什麼技術含量。稍微大一點優秀一點的公司,他的比例可以能五到六個開發一個測試。大公司一般就幾十人的開發甚至幾百人的開發,測試也就會有一到二十個人。這就是小公司和大公司的區別。那麼,從這個比例,我們也可以看出用到的技術等等,大家可以去品一下。
  • 自動化測試之趨勢:解讀近年自動化測試現狀及個人整理面試題分享
    首先,吐槽一下很多實際自動化經驗不到1年的而且停留在靠度娘抄襲demo的甚至度娘抄襲的代碼都不知道問題出在哪的小白(大神忽略,本人小白,只是吐槽一下行業現狀),相信很多人從度娘上抄襲個uniitest(下文簡稱ut),pytest,testNG甚至是RF(robotframework)就說自己熟練使用自動化了,你們真的了解自動化麼?
  • 自動化測試進階課程——Selenium自動化測試通關實戰班
    Selenium不僅可以用多種程式語言編寫測試程序,更能直接跨越各種web瀏覽器和作業系統執行測試;Selenium還是被公認為最實用的自動化測試平臺,因為它的功能很簡單,卻可以提供滿足90% web應用需求的用戶界面。那Selenium自動化測試的該學什麼?從哪裡學起?看Selenium課程視頻學的快,先了解下這份學習大綱。
  • 萬萬沒想到,自動化測試的面試題居然是這樣的?
    例如: 1.了解 selenium、appium或者其他自動化測試框架 2.至少熟悉一門面向對象開發語言,有一定的代碼功底優先 3.熟悉Java或者python,有一定的測試自動化經驗和代碼閱讀能力 4.了解接口集成測試,會使用JMeter、Postman、
  • 從功能測試轉成自動化測試,軟體測試工程師該如何成功轉型?
    我接觸了太多測試同行,由於多數同行之前一直做手工測試,現在很迫切希望做自動化測試,其中不乏工作5年以上的同行。我從事軟體自動化測試已經近十年,接觸過底層服務端、API 、Web、APP、H5 等等,對自動化算是比較了解。在此分享一下個人經驗。如果對自動化完全不了解,每天在那嚷嚷要做自動化,都是空喊。
  • 功能測試、性能測試、自動化測試區別
    如何選擇性能測試策略是我們在實際工作中需要了解的。手機自動化測試:Monkey,Monkeyrunner,Appium(常用)過程自動化測試與軟體開發過程從本質上來講是一樣的,無非是利用自動化測試工具(相當於軟體開發工具),經過對測試需求的分析(軟體過程中的需求分析),設計出自動化測試用例(軟體過程中的需求規格),從而搭建自動化測試的框架(軟體過程中的概要設計),設計與編寫自動化腳本
  • 想要做自動化測試的人不看會後悔
    小編之前接觸了不少做自動化測試的同行,由於他們之前一直做手工測試,現在很迫切希望做自動化測試,其中不乏工作很多年的人。小編從事軟體自動化測試也已經很多年了,從server端到web端,從API到mobile,切身體會到自動化帶來的好處與痛楚,在此分享一下個人體會。
  • 自動化測試的測試模型有哪些?優缺點分別是什麼?
    自動化測試的測試模型有哪些?測試行業從業者需要掌握的測試模型有線性測試、模塊化驅動測試、數據驅動測試以及行為驅動測試 ,這些測試模型的優缺點也十分鮮明。下面我們一起來詳細分析一下吧!2、模塊化驅動測試(1)概念:將重複的操作獨立成功共模塊,當用例執行過程中需要用到這一模塊操作時則被調用。操作+(重複操作,數據)混合在一起。例如,自動化測試的執行需要保持測試用例的獨立性和完整性,所以每一條用例在執行時都需要登錄和退出操作,so可以把登錄和退出的操作封裝為公共函數。
  • UI 自動化找元素太難了?Airtest 框架了解一下
    引言Airtest 是網易出品的一款基於圖像識別和 poco 控制項識別的一款 UI 自動化測試工具,網易團隊自己開發的一個圖像識別框架,讓計算機用戶不需要一行行的去寫代碼,而是用屏幕截屏的方式,用截出來的圖形擺列組合成神奇的程序。
  • 萌言萌語|關於自動化測試應該學什麼
    今天jiujiu問nienie自動化測試應該學啥? jiujiu:nienie,自動化應該怎麼學? nienie:你先學頁面自動化和接口自動化啊。
  • javascript在自動化測試項目中的應用「軟體測試開發入門教程」
    或者在自動化測試中應用過可能很多朋友javascript都是在Html中應用。我們做測試就是會應用在自動化測試當中不管學什麼技術,都要活學活用。基礎比較差的朋友,如果你覺得前方高能,可以先去把基礎鞏固一下,我始終認為一個點如果你在網際網路行業,做測試工程師。
  • 2020,6招玩轉 Appium 自動化測試
    Appium是個什麼鬼Appium是一個移動端的自動化框架,可用於測試原生應用,移動網頁應用和混合型應用,且是跨平臺的。可用於ios和Android以及firefox的作業系統。Appium環境搭建先把一下環境裝好備用打開Appium 應用程式,點擊3監測一下環境
  • 5分鐘了解自動化測試,自動化優勢、劣勢、工具和框架選擇全剖析
    隨著軟體測試技術的發展,人們已經從最初的純粹的手工測試轉變為手工與自動化測試技術相結合的測試方法。近年來,自動化測試越來越受到人們的重視,對於自動化測試的研究也越來越多。一、自動化測試基礎知識什麼是自動化測試1、把人為驅動的測試行為改成機器執行,通過設計的測試用例,由機器按照測試用例的執行步驟對其進行自動操作,輸出結果,由測試人員進行比較。2、自動化測試往往通過一些測試工具或框架,編寫自動化測試用例,來模擬手工測試。3、自動化測試能極大的節省人力、時間和硬體資源,提高測試效率。
  • 帶你全面了解自動化測試框架—從理論到工具
    為了滿足卓越的質量和更快的上市時間的需求,自動化測試將被優先考慮。對於微型、小型和中型企業(SMEs)來說,自動化自身的測試過程是非常必要的,而最關鍵的方面是選擇正確的自動化測試框架。 什麼是自動化測試框架? 自動化測試框架是為自動化測試腳本提供執行環境的腳手架。
  • 「自動化測試解放雙手」,測試自動化好處大盤點
    維基百科對測試自動化(Test Automation, 簡稱TA)的定義是:測試自動化就是用特定的軟體去控制測試步驟的執行並且對測試結果和期望結果進行比較。與TA相對應的是傳統的手動測試(Manual Test),即人工地去執行測試和比較測試結果。
  • 如何結合DevOps的自動化測試功能,做好DevOps的接口自動化?
    Devops作為技術中臺的重要組成部分之一,其下「自動化測試」功能也是不可或缺的一環,如何結合DevOps自身提供的自動化測試功能,做好DevOps的接口自動化呢?首先要先了解DevOps為自動化測試提供了哪些功能,如何使用該功能進行自動化測試,以及如何設計測試框架等等,本文將會為大家一一解答。DevOps作為技術中臺的「效率&精益「平臺,集成了多方測試工具供使用。
  • Flutter 自動化測試 -詳解
    什麼是 Appium Flutter Driver?作為 Flutter 開發,FlutterDriver 是足夠幫助他們進行測試的,而作為自動化測試工程師最大的困難是對 dart 語言不了解,不知道如何在 FlutterDriver 驅動下用 Dart 語言編寫 TestCase,所以需要一款更加簡單的、不需要學習 Dart 語言的工具來幫助我們去實現自動化測試,而 Appium Flutter Driver 滿足這一點。
  • Python自動化測試踩坑記錄(企業中如何實施自動化測試)
    有可能,你甚至不如別人做功能測試的。別人一個功能都測試完好久了,你的自動化腳本報了一堆錯,還不知道找這個錯誤的原因。自然你的自動化做不起來,自動化的價值體現不出來。在講這一些坑之前,先給大家分享一下我對自動化測試概念的理解。
  • 自動化測試系統問答
    6、快速發布:千萬不要將工具做到很完美才想著發布,沒有什麼是完美,我們所做的就是利用迭代的思想,一步一步去完善。所以,定義好階段,快速發布,然後在發布中收集問題。總結:測試結果的分析,和測試過程的總結是自動化測試的關鍵。維護:自動化測試腳本的維護是一個難以解決但又必須要解決的問題。分析:在自動化測試過程中深刻的分析自動化用例的覆蓋風險和腳本維護的成本。回答三:軟體開發是一項相對抽象的工作,這裡我們將對其進行傻瓜式的理解,但是也許這並不適合所有開發者。
  • 小程序自動化測試實踐
    曾幾何時,大家還不知道什麼是小程序,它到底能幹些什麼,跟APP有啥區別,跟H5又有啥區別,但是最近幾年,依託於騰訊這顆大樹,已經迅速建立起了小程序良好的生態體系,同時也因為APP市場的飽滿,以及其開發和推廣成本高等問題,目前幾乎所有的網際網路公司的業務都用起了小程序,而且頁面也越來越複雜,涉及的業務場景也越來越多,小程序已經是IT網際網路領域一個舉足輕重的屬性了。