測試工程師如何「攻城」 上

2022-10-11 11:51:08 字數 3304 閱讀 7844

python程式設計學習資源乾貨、

python+selenium框架web的ui自動化、

python+unittest框架api自動化、

資源和** 免費送啦~

測試工程師的基本功有哪些?

作為一名測試工程師,我們首先要學會並理解測試工程師的基本技能是什麼,相信很多入坑的朋友要麼是報班學習了一套軟體測試技能,要麼是自我或在有人幫助下學習了一系列的軟體測試技能,學習的技能大都包含以下內容:

軟體測試理論

軟體測試環境搭建

linux系統的使用命令

mysql 資料庫常用語句

版本或bug管理工具的使用

如何針對介面進行測試

抓包工具的使用,協議的學習

會錄製一些指令碼進行一些效能測試

其實上面所學習的這些內容真的是技術含量蠻多,也蠻複雜的,尤其是在有限的時間內(一般不會超過四個月)。

我們就舉例來說 mysql 資料庫吧,真是要把資料庫這一門技術弄懂學通,其實他就可以去就職dba的崗位,而這乙個崗位就有獨立的培訓課程。

再來說說自動化的測試吧,其實它的背後是有對應開發語言的學習的,而在市面上也是有專門的自動化測試工程師培訓課程的,此處不再多舉例子。

因此得出的結論是:測試工程師要學完以上列出的十項內容並在四個月內學習掌握同時去找到工作真是十分有挑戰性的。

前段時間,我一直在面試,不管是**面試還是face to face 的面試,十個裡面難發現一到二個適合我的招聘要求的,有人會說是你的要求太高了吧,其實也還行啊,主要是由於工作內容決定需要招聘什麼樣的測試工程師,我比較關注的幾點有:

以往的業務邏輯能力

測試基本功牢靠不牢靠

資料庫的使用是否掌握

常用的linux命令會不會

會做介面測試就更優

首先

我們來談談業務邏輯能力,作為乙個測試工程師如果對於業務的理解能力不強,那麼他很難走遠,因為公司的發展是靠業務發展帶動的,測試工程師如果不能全面理解掌握業務邏輯,那麼你想一下qa這個角色的意義何在?

有人會說質量不是測試出來的,質量是設計出來的。這話真的是一點不假啊,我曾經也說過,與其你說這話,還不如你好好繼續測試(這是當下軟體測試行業的現狀,你改變不了)。

其次

是測試基本功,我這裡重點要說的是用例的設計思路,測試用例的設計是測試工程師最底層的最基本的技能,如果你準備深耕於軟體測試行業,那麼我建議你把測試用例設計得搞得透徹些。

用例設計決定了你對業務場景的考慮程度,業務場景決定了測試是否充分。那麼我們測試工程師應該要掌握哪些用例設計的方法了,如:等價類,邊界值,因果圖,正交實驗法,場景法,經驗法等。

這裡的掌握不是明白它的含義,比如:因果圖你知道如何運用?經驗法對於才入門的就不用提了,沒有實踐經驗,這個需要不斷的積累。

其實場景法是我要重點提一下的,因為它是結合了業務邏輯的,在考慮了業務場景後去設計的用例是其他的方法替代不了的,大家要重點注意一下。

然後

是資料庫功底,資料庫是承載資料的地方,也是資料落地的地方。我們在測試時不能僅僅是頁面上的點點點。

還需要將業務邏輯,業務展示與資料庫中儲存的資料相結合著來測試,資料庫中資料的測試將有助於我們做一些業務場景的測試而且非常的便利。

關注資料庫資料的存放及資料的流轉也會發現我們在上層測試過程中發現不了的問題,增加對資料庫的測試並提出頁面難以發現的bug將使開發工程師另眼相看。

再然後

就是linux 常用命令,為什麼要提這個了,因為目前我們接觸到的服務基本全是部署到了linux 系統下面,那麼對於測試環境的部署及問題的跟蹤定位就需要我們測試工程師掌握在linux 下使用到的命令。

不要告訴我你會cd,pwd,mkdir,tail,grep, ps,top,ls,rm,find等命令就在簡歷上面寫上熟練使用linux 系統了,其實這還遠遠不夠,就單一的命令後面的引數就有非常多的引數組合使用場景。

比如:tail -f100 a.log |grep -a/-b/-c5 這樣不同的引數各表示什麼意義,你得弄明白。再往深的去,比如:在linux 上面構建乙個nginx 服務,如何安裝,如何配置,如何啟動,如何監控它是否執行正常,它的工作原理是怎麼樣的?這就非常考驗測試工程師了。可能你會說這不是運維工程師的工作?我告訴你,你有這樣的想法就是錯的。

最後

是介面的測試技術掌握,測試工程師能夠掌握介面的測試原理,理解介面是幹什麼的,這對後期去做介面的自動化非常有幫助,不要一上來就開展介面自動化測試的工作,你先得理解介面是什麼,它長什麼樣子,它是如何呼叫處理返回的。

還有就是介面測試一般是功能測試的前置工作,所以介面測試也是有用例要設計的,用例設計要結合著介面文件,資料庫,業務場景等來設計,介面處理失敗時如何定位問題。

總不能一發現問題就丟給開發工程師吧,能夠把問題發現,同時也結合著相關的資訊(日誌,f12 debug,資料庫,配置資訊,服務呼叫鏈等)把問題進行定位,這樣提供給開發工程師的bug他們才會積極主動的去幫你解決,或許在這個過程中你就會發現一些根本就不需要問開發工程師就自己能解決掉的問題。

如:服務報錯表結構不對,服務死掉了沒有呼叫日誌,服務配置不對,nginx配置不對等等。

由於測試工程師時間和精力有限,大家要注意把握主次,不要想著一次性把上面提到的十項內容全部吃透,以上五點是我認為應該重點掌握的,其他技能項是應該理解和重視的,因為它將是你下一次華麗轉身的籌碼。

在後續的工作中你有大把的時間去深入學習,不斷的實踐,沒有專案實踐自己找機會加入到專案,專案不適合可以自己搭建環境自己實踐,只有實踐了才會有真認知。

總結

今天主要是分享了一些關於初入測試工程師崗位的經驗之談,測試工程師需要不斷的學習,永遠在學習的路上,每天堅持學習,持續輸入。學歷代表過去,能力代表現在,學習力代表未來

新增關注,讓我們一起共同成長!

測試工程師簡介

一 什麼是軟體測試?1975年,兩位軟體測試先驅john good enough和susan cerhart 在ieee上發表了 軟體資料選擇的原理 此時將軟體測試定義為 證明軟體的工作是正確 的活動。1979年,glenford j.myers的著名的 軟體測試藝術 對測試的定義是 發現錯誤而執行...

軟體測試工程師

首先,最根本的還是要看企業自身的需要,綜合自己的測試團隊力量,自己公司的研發狀況,當然還有公司的資金 到底到測試這塊公司願意投入多少money呢?另外要搞清楚自己公司招聘測試人員的目的是什麼?比如,如果公司暫時還沒有測試團隊,這個時候公司剛好有財力,同時研發力量比較大的時候,因為發展的需要,必須要組...

寫給測試工程師

你要為自己每一次的懦弱而懺悔 曾經不願承認自己出生於農村,曾經不敢面對自己是一名外包員工,曾經一次次的不甘心自己只是一名測試工程師。不做失敗者 微軟 ibm oracle 華為等等,這些公司選拔的測試工程師應該都是出類拔萃的人才。可惜不是你,說起你的大學,就想起郭敬明的 一夢三四年 你開始想做測試是...