軟件測試工程師的必需技能
發布時間:2023-06-20

隨著時代的發展,軟件測試工程師的角色和職責也在悄然發生著變化,從一開始單純的在瀑布式開發流程中擔任測試階段的執行者,到敏捷開發流程中QA(Quality Assurance)角色,為整個團隊和產品的質量負責,測試工程師的職責和邊界不斷地擴大。近年來互聯網行業出現了測試開發工程師,也就是要具備自動化測試和測試工具開發能力的測試工程師,可以說是對測試工程師的能力要求達到了一個新的高度。在實際企業運作當中,如何以最小投入能夠最大程度保障產品質量是關鍵所在,圍繞著這一核心目標,我們可以整理出一個測試工程師所具備的能力。



 01、掌握軟件測試基礎知識 


軟件測試的定義、生命周期、軟件測試流程、需求分析、問題定位能力

測試用例的設計、編寫、評審

bug的基本知識以及缺陷管理工具的使用

測試計劃、測試報告的編寫

Linux系統常見命令,測試LAMP環境搭建

前端技術基礎知識如:Html、JavaScript、CSS等

數據庫基礎知識,包括基本的sql語句、對數據庫表增刪改查操作等


 

 02、常見測試工具使用 


涵蓋了功能測試、接口測試、性能測試、web端及app端常見的工具:

常見網絡抓包工具:Fiddler、Charles

常見的自動化測試工具:Selenium、RF

常見的接口測試工具:Postman、Jmeter、SoapUI常見的缺陷管理工具:禪道、Jira、Bugfree等



 03、代碼能力 


3.1、閱讀開發代碼

如果能夠具備閱讀開發代碼的能力,對于提高測試人員的效率是很有幫助的,它可以幫助我們做到這些一些事情:

①通過開發修改的代碼預估影響的范圍,即測試的范圍

②參加技術評審,預估測試的風險,難點,重點

③通過代碼的邏輯設計測試用例,強化測試用例的覆蓋程度

④對缺陷進行初步的定位

3.2、自動化測試

自動化測試是測試發展的方向,也是提高效率的有效方法。具備了代碼能力,可以進行自動化測試框架/自動化測試平臺的開發,來提高測試執行效率。

要從事自動化測試,需要至少熟練使用一到兩門編程語言,如Java、Python,VB等,現在使用Python語言隨著大數據、人工智能的崛起,也越來越火。推薦先學習Python,掌握以下Python技術棧:

①基本的語言知識,語法、函數、模塊、輸入與輸出、面向對象編程

②腳本編寫、標準庫、第三方庫,外部數據處理

③Unittest、Pytest測試框架、參數化、數據驅動

3.2.1、web自動化

Selenium是一個很經典的WEB端產品的UI自動化工具,針對不同的開發語言都有很好的支持。它的原理簡單來說就是通過WebDriver把腳本產生的操作指令傳遞到瀏覽器,執行我們需要的操作并且獲取相應的反饋,在腳本中完成校驗。

Python+Selenium+Unittest

selenium安裝、元素定位、腳本開發

unitest框架的使用

PageObject設計模式使用

ddt數據驅動測試

kdt關鍵字驅動測試

3.2.2、移動端自動化

Appium可以理解為就是移動端的Selenium。同樣也是在移動端模擬人的操作來實現執行測試用例的目的。

Python+Appium+Unittest

appium使用、元素定位、腳本開發

APP控件定位、交互,參數化用例

測試框架封裝改造

3.2.3、接口自動化

目前大多數的接口都是基于HTTP協議,很多語言,例如Python和Ruby都有很好的庫來支持HTTP協議的請求,這就為我們設計接口自動化提供了很好的基礎。

UI自動化無論是從實現的成本還是維護的成本來說都是巨大的,所以業界越來越把重心放到了接口層的自動化實現上。接口的自動化具備這樣的優勢:運行效率高、開發成本低、維護成本低、可以與開發代碼同步開發。

接口自動化的實現思路也是簡單明了的,那就是模擬瀏覽器,發送HTTP請求來實現對接口的調用,然后比較返回與期望值,達到驗證結果的目的。當然,要設計一套真正高效的接口自動化框架也是不容易的。這里面涉及到如何提高用例的開發效率,降低開發維護成本等關鍵問題。同時還可以把接口測試與性能測試結合起來,豐富接口自動化測試的內涵。

Python+Requests+Pytest+Jenkins

接口自動化測試框架request

接口請求構造、斷言(json/xml請求、響應斷言)

接口報文抓包(瀏覽器、fiddler、charles等)

代理技術與mock技術

jenkins持續集成、allure生成報告



 04、業務知識 


測試的方法,規劃,實施方法是多種多樣的,如何在這些方法中進行選擇,所依賴的正是對產品的業務的深刻理解。這里的產品業務不僅僅指產品的特性,同時還包括了產品的用戶特征,用戶的使用習慣,以及由此帶來的對產品的流量趨勢。也可以說,測試人員必須要站在用戶的角度來分析產品,而不是產品開發人員的角度。測試人員還需要找到產品的核心功能和核心業務,通過這樣的分析來進行測試優先級的劃分,以及缺陷的定級,更好地進行測試工作



更多軟件測試相關推薦:

軟件測試更多干貨文章

軟件測試就業培訓


文章來源:網絡  版權歸原作者所有

上文內容不用于商業目的,如涉及知識產權問題,請權利人聯系博為峰小編(021-64471599-8103),我們將立即處理

相關閱讀
/
最近中文字幕在线国语-欧美整片sss第一页视频-九色PORNY真实丨国产免费-在线观看欧美日韩欧美亚洲