想對學習自動化測試的一些建議

Python接口自動化測試零基礎入門到精通(2025最新版)

? 接觸了不少同行,由于他們之前一直做手工測試,現在很迫切希望做自動化測試,其中不乏工作5年以上的人。 本人從事軟件自動化測試已經近5年,從server端到web端,從API到mobile,切身體會到自動化帶來的好處與痛楚,在此分享一下個人體會。

想做自動化,首先得了解一下自動化測試的一些常見問題:


自動化測試一些問題?

  1. 什么是自動化測試??
     自動化測試,顧名思義,自動完成測試工作。通過一些自動化測試工具或自己造輪子實現模擬之前人工點點/寫寫的工作并驗證其結果完成整個測試過程,這樣的測試過程,便是自動化測試。自動化測試,看上去很美,感覺好像是第一次工業革命,它開創了以機器代替手工勞動的時代,實則不然.因為每一個自動化測試的case都是從手工測試做起的,如果沒有手工測試的基礎,是沒法進行自動化測試。

  2. 為什么要進行自動化測試

    為什么進行自動化測試,答案要從自動測試的收益和人肉測試的成本說起:a. 自動化測試節約成本(根據項目)畢竟自動化測試確實解放了一批人力(人力成本才是IT公司最大的成本),可以讓機器沒日沒夜的執行一些重復勞動.b.有些測試項目手工很難實現(手工成本較高)比如12306的壓力測試、負載測試,同時找那么多人去測試不現實可以通過機器去模擬.c.項目質量流程需要比如版本管理需要build verify,以保證check in的code不會影響版本庫。類似于smoke test

  3. 自動化測試的優缺點

    優點避免測試人員因重復勞動產生厭倦提高測試效率保證每次測試地一致性和可重復性更好的利用無人值守時間進行一些手工無法進行的測試維護成本相對比較高
    缺點系統開發時間不一定能縮短沒有手工測試發現缺陷多UI layout issue 不容易發現

  4. 什么樣的項目適合做自動化測試(dev手一抖,auto忙一宿)

    有以下幾個特點的項目比較適合自動化測試:
    1. 項目變動少
    2. 周期長
    3. 項目資源足夠(自動化不是一個人完成的,需要一幫人長期維護)舉例說明: 互聯網項目,一周內要上線,你不上線別人上線人家就不用你的,項目周期短,變動快,你自動化還沒做好,項目說不定就下線了。比如某寶雙12活動相關項目,一周之內就下線了。適合做自動化測試的項目,比如某寶客戶端,每個release,大部分功能都不變,并且3-5年內項目不會下線,這個就比較適合自動化.

  5. 什么樣的人適合做自動化測試?

    這個問題是寫給想要做自動化測試的人,或許你以為軟件測試的門檻很低,低到任何人都可以做,隨便點點就可以了,這個行業太low了,所以你想做自動化測試,提升自己的逼格,我想說手工測試并不low,如果讓一個什么都不懂,一點業務基礎都沒有的人去做測試,能測出來問題嗎?不要忽略你的業務知識儲備.
    你的業務知識儲備的積累能讓你成為不可替代的行業專家,而做自動化的碼農會因為一個時代的更迭被小鮮肉替代。扯了這么多,究竟什么什么樣的人能做自動化測試?
    我的理解分一下幾點:a. 擁有代碼能力掌握一門開發語言,java、Python、ruby、c#b. 熟悉被測系統比如你是web測試,你就得懂js、css、html、xpath你是移動端測試,你就得具備Android 開發基礎和iOS開發基礎,會debug app你是 C/S測試你就要很熟悉TCP、IP協議c. 掌握一套自動化測試框架(工具)比如 selenium/appium nunit/testngrobot framework/cucumberd. 善于學習,達到知其然知其所以然IT行業變化太快,每隔一段時間就會出現一些新興的東西,也會出現原來很火的東西逐漸沒落,誰也無法預測。曾經諾基亞還是手機霸主,靠塞班一統天下,然而不思進取,落得個賣身求生存.曾經qtp很火,曾經selenium也很火,現在appium也很火軟件行業從桌面軟件到web端,又從web端遷移到移動端,誰也不知道下一個是什么。而我們作為軟件行業的從業者,不能因為那些很火的東西不火了而讓自己沒落,一個人最為核     心的能力就是學習能力,如果你善于學習,你就不必擔心這些變遷,因為你可以毫無壓力的遷移,selenium的原理你掌握了,學習appium簡直小菜一碟,因為appium使用的是selenium WebDriver protocol .如果你能做到知其然知其所以然,你也可以造輪子,改造appium,畢竟現在很多功能需要完善。如果你沒有達到以上的幾點,建議你還是做手工測試吧。

  6. 如果你有代碼基礎,想要從事自動化測試怎么去學習?
    很多初學者很糾結,學qtp還是學selenium
    我的建議是學selenium,開源的,免費的,你可以下載源碼研究,去了解其原理,再者現在selenium的資料不要太多,隨便搜搜一大堆,學起來比較輕松。
    不建議學selenium IDE錄制,當然你可以通過錄制一些然后轉換為相應的腳本去學習,等你學好了selenium, 再去學appium你會有一種天然的似曾相識。為什么不建議學QTP/UFT?因為收費/臃腫/現在做桌面軟件測試的工作已經不太多了。
    關于買書,不建議買書,很多書已經過時了,并且質量渣渣,你買了那些書中的code已經不能用了,如果你真的想學,就去官網找example,去相應的社區和群交流,或者直接看API/源碼.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/92045.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/92045.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/92045.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

電子電氣架構 ---智能電動汽車嵌入式軟件開發過程中的block點

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 做到欲望極簡,了解自己的真實欲望,不受外在潮流的影響,不盲從,不跟風。把自己的精力全部用在自己。一是去掉多余,凡事找規律,基礎是誠信;二是…

createAsyncThunk

下面,我們來系統的梳理關于 Redux Toolkit 異步操作:createAsyncThunk 的基本知識點:一、createAsyncThunk 概述 1.1 為什么需要 createAsyncThunk 在 Redux 中處理異步操作(如 API 調用)時,傳統方法需要手…

STM32F103C8T6 BC20模塊NBIOT GPS北斗模塊采集溫濕度和經緯度發送到EMQX

云平臺配置 訪問下載頁面:免費試用 EMQX Cloud 或 EMQX Enterprise | 下載 EMQX,根據需求選擇對應版本下載。將下載的壓縮包上傳至服務器(推薦存放于C盤根目錄,便于后續操作),并解壓至指定路徑&#xff08…

YOLO11漲點優化:自研檢測頭, 新創新點(SC_C_11Detect)檢測頭結構創新,實現有效漲點

目標檢測領域迎來重大突破!本文揭秘原創SC_C_11Detect檢測頭,通過空間-通道協同優化與11層深度結構,在YOLO系列上實現mAP最高提升5.7%,小目標檢測精度暴漲9.3%!創新性結構設計+即插即用特性,為工業檢測、自動駕駛等場景帶來革命性提升! 一、傳統檢測頭的三大痛點 在目…

OSCP 考試期間最新考試政策

根據 Offensive Security 官方最新考試政策(2025 年 7 月),OSCP 考試期間禁止或嚴格限制以下工具與行為: 一、絕對禁止使用的工具/服務 類別舉例說明商業/付費版本Metasploit Pro、Burp Suite Pro、Cobalt Strike、Canvas、Core …

如何基于MQ實現分布式事務

文章目錄1.可靠消息最終一致性1.1 本地消息表1.1.1 本地消息表的優缺點1.消息堆積,掃表慢2.集中式掃表,會影響正常業務3.定時掃表的延遲問題1.1.2 本地消息表的代碼實踐1.表結構設計2.具體業務實現1.2 事務消息1.2.1 事務消息的三個階段階段1&#xff1a…

ARM學習(45)AXI協議總線學習

筆者來介紹一下ARM AMBA 總線中的AXI協議 1、簡介 ARM 公司推出的AMBA 總線(Advanced Microcontroller Bus Architecture) ,目前已經推出到AMBA5版本。主要包括 APB:Advanced Peripheral Bus,針對外設 AHB:Advanced High-Performance Bus,高性能總線,支持64/128 位多管…

Visual C++與HGE游戲引擎:創建偽2.5D斜45度視角游戲

本文還有配套的精品資源,點擊獲取 簡介:本教程專注講解如何結合Visual C和HGE游戲引擎構建一個斜45度視角的偽2.5D游戲世界。HGE提供了DirectX的接口,簡化了圖形和音頻處理,使得開發者可以專注于游戲邏輯和視覺效果的實現。教程…

打造個人數字圖書館:LeaNote+cpolar如何成為你的私有化知識中樞?

文章目錄前言1. 安裝Docker2. Docker本地部署Leanote螞蟻筆記3. 安裝cpolar內網穿透4. 固定Leanote螞蟻筆記公網地址前言 在信息爆炸的時代,如何系統管理知識資產并實現價值輸出?螞蟻筆記(Leanote)提供了一種全新解決方案。這款開…

[特殊字符]? 整個鍵盤控制無人機系統框架

🎯 五大核心模塊詳解1. 📥 輸入處理模塊keyboard_control_node ├── 功能:捕獲鍵盤輸入并轉換為ROS消息 ├── 文件:keyboard_control.cpp ├── 輸入:鍵盤按鍵 (W/A/S/D/R/F/Q/E/L/ESC) ├── 輸出:g…

機器學習第三課之邏輯回歸(三)LogisticRegression

目錄 簡介 1.下采樣 2.過采樣 簡介 接上兩篇篇博客最后,我們使用了K折交叉驗證去尋找最合適的C值,提升模型召回率,對于選取C的最優值,我們就要把不同C值放到模型里面訓練,然后用驗證集去驗證得到結果進行比較&#x…

1.Java語言有什么特點

1.Java語言有什么特點 1.面向對象編程,擁有封裝,繼承和多態的特性,所有可以很好的設計出低耦合的項目工程。 2.很好的可移植性,在Java中有java虛擬機(JVM)的支持,每寫一個類都是.Class文件。J…

部署 Kibana 8.2.2 可視化管理 Elasticsearch 8.2.2 集群

? 適用版本:Elasticsearch 8.2.2 Kibana 8.2.2 一、環境準備 組件版本示例地址Elasticsearch8.2.2192.168.130.61:9200, 192.168.130.62:9200, 192.168.130.65:9200Kibana8.2.2部署在 192.168.130.651操作系統CentOS 7?? 嚴格版本匹配:Kibana 8.2.2…

7.2 I/O接口 (答案見原書 P305)

第7章 輸入/輸出系統 7.1 I/O系統基本概念 (答案見原書 P301) & 7.2 I/O接口 (答案見原書 P305) 01. 在統一編址的方式下,區分存儲單元和I/O設備是靠( A )。 題目原文 在統一編址的方式下,區分存儲單元和I/O設備是靠( )。 A. 不同的地址碼 B. 不同的地址線 C. 不同…

并發編程常用工具類(上):CountDownLatch 與 Semaphore 的協作應用

在 Java 并發編程領域,JDK 提供的工具類是簡化多線程協作的重要武器。這些工具類基于 AQS(AbstractQueuedSynchronizer)框架實現,封裝了復雜的同步邏輯,讓開發者無需深入底層即可實現高效的線程協作。本文作為并發工具…

Go 工程化全景:從目錄結構到生命周期的完整服務框架

今天天氣很好, 正好手頭有個小項目, 整理了一下中小項目標準化的痛點問題, 如下, 希望可以幫到大家. 一個成熟的 Go 項目不僅需要清晰的代碼組織,還需要完善的生命周期管理。本文將詳細講解生產級 Go 服務的目錄設計(包含 model 等核心目錄)、…

【C++】2. 類和對象(上)

文章目錄一、類的定義1、類定義格式2、訪問限定符3、類域二、實例化1、實例化概念2、對象??三、this指針四、C和C語?實現Stack對?一、類的定義 1、類定義格式 class為定義類的關鍵字,Stack為類的名字,{ }中為類的主體,注意類定義結束時…

UnityURP 扭曲屏幕效果實現

UnityURP 扭曲屏幕效果實現前言項目下載URPGrabPass空間扭曲著色器實現添加可視化控制創建材質球并設置補充粒子使用步驟CustomData映射移動設備優化鳴謝前言 在Unity的Universal Render Pipeline (URP) 中,傳統的GrabPass功能被移除,借助URPGrabPass工…

(三)軟件架構設計

2024年博主考軟考高級系統架構師沒通過,于是決定集中精力認真學習系統架構的每一個環節,并在2025年軟考中取得了不錯的成績,雖然做信息安全的考架構師很難,但找對方法,問題就不大! 本文主要是博主在學習過程…

切記使用mt19937構造隨機數

在做 Kazaee CodeForces - 1746F 這個問題的時候,最初的時候使用了ran(),然后一直WA,遂改成mt19937,順利通過本道題。 mt19937 Rand(time(0)); 調用隨機數時候,使用: Rand() & 1 注意看&#xff0…