1. 程式人生 > >一個優秀的軟件測試工程師需具備的技能

一個優秀的軟件測試工程師需具備的技能

例如 CP cat 負責人 java PC fiddler nginx 一定的

今天早上看到一篇文章寫的很好,軟件測試工程師的地位在圈裏的地位低下,甚至有些技術比較厲害的開發工程師覺得軟件測試工程師沒有存在的必要,而作為軟件測試工程師的一員如何保持自己的技能和競爭力哪?下面簡要介紹一下軟件測試從低階到高階之路:

1.功能測試:功能測試是最基本的測試,保證可用性和正確性;編寫測試用例一般用到的方法:等價類劃分,邊界值分析,錯誤推測,因果圖,判斷表驅動,正交試驗法,功能圖,最關鍵的是分析好業務邏輯,用戶操作場景,異常場景,關聯業務;執行測試用例的時候要掌握常用的linux命令,用來查看後臺日誌,還要掌握常用的sql語句,熟練掌握對數據庫的操作;最後是寫測試報告,體現測試價值的是測試過程中你發現的問題,進行風險點總結;

2.接口測試:

1)了解常用的網絡協議,如:http,htttps,soup,rpc,ftp,ssh,telnet

2)了解常用抓包協議,如:fiddler,wireshark,burpsuit

3)了解一些接口測試的工具,如:postman,soupui,java語言調用(httpclient包,jmeter包),python語言調用(request庫)

3.自動化測試:

1)自動化測試一般有UI功能自動化,接口自動化,接口參數化

2)做自動化測試需要熟練掌握一門語言,python,java,c++

3)具備一定的調試能力,最長用的就是打斷點,雖然笨,但是最有效

4)做好分析設計,以免後面頻繁改動,維護成本不高的業務做成自動化,設計相關的測試用例,原則是還原用戶操作

4.性能測試:

1)常用軟件:jmeter,loadrunner,測試報告一定要註意細節,細節才能體現報告中指示的問題

2)要會一門編程語言,腳本編寫用語言,由於系統的特殊性,例如jemeter調用dubbo接口,打印日誌,都要用語言完成

3)深入理解linux,系統配置會影響測試結果,要監控CPU,磁盤,內存,網絡

4)熟悉各種數據結構和算法

5)使用各種輔助工具幫你解決程序出現的問題,內存溢出,CPU占用過高,讀寫數據庫,網絡長短連接

6)熟悉各種中間件,tomcat,nginx,node,redis,mysql,

5.敏捷開發:

1)敏捷開發就是快速開發,具體要團隊間了解彼此之間的進度,遇到問題共同討論,促進問題快速解決,保證項目按期完成

2)持續集成(CI)持續交互(CD):一個項目由項目負責人拆分成多個模塊,分給團隊的每個人合作完成,其中一部分功能模塊完成要做持續集成以便進行測試,持續集成部分完成測試即可持續交互,敏捷測試過程中最重要的是保證持續交互

3)談敏捷最重要的是了解,把任務分配給合適的人,才能保證快速高質量完成

一個優秀的軟件測試工程師需具備的技能