對新晉測試工程師 這份入門指南要收著
發布時間:2019-11-15

 

       近幾年隨著軟件行業越來越火,越來越多的小伙伴都想做測試,但是基本都不太清楚測試工程師在一個公司扮演什么樣的角色以及未來的職業發展方向。接下來博為峰就為大家簡單說一下,希望對想入坑的、剛入坑的、有些幫助吧
 

       一. 測試工程師在一個公司扮演的基本角色是怎樣的?
 

       先說一下理想中的業務流程:1.需求評審會。首先產品經理通過一系列的數據分析,靈感激發,用戶調研,想出一系列的需求,然后整理成PRD(產品需求文檔),以及做出原型。確立之后,產品經理號召開發人員,測試人員以及相關設計人員開一個需求評審會,會議中逐條討論每一個需求的具體功能以及實現方案,設計、開發、測試同學從各自角度給出合理化建議,比如一個簡單的功能,沒必要用復雜的邏輯去實現;一個非關鍵性功能的引入是否會增加現在app的負載,影響性能等。確立好所有需求后,產品及時整理更新相關文檔以及原型供設計、開發和測試人員參考使用。
 

       2.下面將會是設計同學去設計圖片資源,開發同學去開發相關需求。此時測試同學需要根據需求文檔以及原型編寫和設計測試用例(不知道測試用例是啥的請自行百度),一套叫每個人都能看懂的測試用例才是好用例。個人感覺寫好一套測試用例會對以后的測試回歸以及公司新人去了解app或者程序有很大的幫助。
 

       3.測試用例編寫設計完畢之后會與產品經理和開發同學開測試用例評審會,討論測試用例設計的合理性以及測試難易度復雜度。當然,這一步的話某些剛發展起來的或者需求量不斷的公司都會省略,用節省下來的時間和人力成本去對接更多的需求,測試更多的需求以確保更多的新功能可以上線,但是這樣多少會降低產品的質量或者用戶體驗,嗯,某些公司覺得這種犧牲是可接受的。有些人會想,開發在開發新功能,你測試用例也寫完了,這時候你很輕松啊,還可以學習點新知識突破一下自己-,-。錯了,某些公司的需求是源源不斷的,開發同學把一個版本給你提測之后,你介入測試,他們開始開發下一版功能了,當你測試上一版需求,這一版開發完了又提測了。
 

       4.接下來這一步是工作量最大的一步,是什么呢?沒錯,就是一個字“測”。根據之前設計好的測試用例,逐條測試。測試過程中出現bug需要提交到bug管理平臺,說明bug的期望結果,實際結果以及復現步驟,標出bug的優先級等等信息,當然信息越全越好,這樣開發同學可以快速定位問題,開發同學收到bug郵件后會進行bug的修復,修復之后會更改bug在用例管理平臺中的狀態,如“已修復”、“設計缺陷,不予改正”等。如果是已修復bug你需要待開發提交代碼,你在打包平臺上重新打包驗證你所報告的問題;若提到了設計缺陷,這可能是開發同學覺得這不是需求文檔中的功能,這時候你需要跟產品溝通確認需求。測試過程中常用的幾個工具有抓包工具如Charles、fiddler等,數據庫操作Navicat等數據庫可視化工具。這些工具是幫助你去定位bug在哪塊出現的問題,比如是客戶端的問題還是接口返回的數據就不對,是服務的問題等。如果公司正規的話那么恭喜你,你可以看到結構明朗的接口文檔以及數據庫文檔,這回給你節省大量的時間去定位問題,操作數據庫等。如果這些都沒有,那么你只能自己去問開發,口頭溝通去把,嗯也許你問的時候他還在忙著寫代碼-,-一個程序員在敲代碼的時候都不希望被打斷思路,之后你該怎么做自己想把。
 

       5.通過在測試環境的“摸爬滾打”,修復了預期存在著的bug,無論是客戶端還是服務都達到了需求中的狀態,此時可以郵件給產品,告知測試環境測試通過,可以申請線上的回歸測試,等待服務部署到灰度或者線上后,可以進行一系列的回歸測試,尤其回歸之前出現的bug,將風險降到最低。最終線上環境功能正常后,那么你就又了解了一樁需求,那是你最釋懷的時候,可以聽聽小歌,打把王者榮耀開心2分鐘哦~之后就等著發版把,發版之后在線上再回歸一下就OK了。以上幾點差不多是一個剛入門的測試同學應該了解在公司中扮演的角色。
 

       二. 測試過程中所用到的管理平臺和工具有哪些?
 

       1.bug管理工具,這個平臺很多,都是基于web的,基本功能全是類似的,無非是對bug進行跟蹤定位,如禪道,mantis,readmine等,你會用一個,別的基本無壓力了就。
 

       2.項目管理工具,同上,平臺也很多,會一個就好如readmine,trello等。
 

       3.測試用例管理平臺,其實最重要的是要會設計用例,而不是使用平臺。平臺有很多如禪道,testlink等。
 

       4.抓包工具,這個是使用量最多的一個工具,比較好用的有Charles和Fiddler,原理都一樣,同時也可以作為Mock測試使用,-,-不懂Mock測試的自行百度。
 

       5.數據庫操作可視化如:Navicat。要熟悉數據庫的基本操作,最基礎的增刪改查得會把。
 

       到此為止的話,你作為一個功能測試的話,把以上用熟用透基本就夠用了,接下來說下未來職業的發展以及可能所涉及到的更多的工具。
 

       三. 測試工程師的職業發展方向有哪幾類?
 

       1.功能測試,也叫黑盒,無需掌握代碼能力,只要將以上東西吃透就可以了,如果在金融公司或者業務負責度較高的公司,做久了你你可能對其中的業務邏輯了解的很透徹,未來可以做資深測試工程師。
 

       2.自動化測試工程師,這個分幾類,①UI自動化 ②接口自動化③性能自動化。
 

       其中UI自動化是投入產出比最低的一個,因為公司都會有大量的功能測試,而且一些體驗性功能是無法用UI自動化去簡單斷言的,所以這個要等到你的團隊或者公司規模達到一定時候才可能去做的一個事情,簡單講,前期做的話無非就是花大量時間去做手動點擊下就能解決的問題。涉及到的框架有Robotium、MonkeyRunner、Robotframework+appium以及python直接驅動appium;其中定位元素是UI自動化的關鍵,定位元素的工UI Automator,這個當然得需要你對安卓的布局有所了解以及xpath的定位方法,初學者建議robotframework+appium這套,易上手。當然了,每個公司可能都會用自己的框架,他們也有對框架自己的理解或者適合哪種框架。
 

       接口自動化是一個投入產出比相對較高的一類,因為可以花費較短的時間集中對大量的接口進行測試,可以大大的節省人力成本,也是很多公司現在主要在去做的一件事情,涉及到的工具有Jmeter、Postman或者Robotframework,各有特點,Jmeter可以適合做接口性能測試,因為里面會有一些接口傳遞過程的具體數據如響應時間等;Postman比較輕量級了,簡單的斷言,就是對接口的是否正確性做判斷;會問了咋又出現了Robotframework,沒錯,他的原理比較特殊,是借用各種已經封裝好的library庫,直接用關鍵字調用庫中方法做驅動,因此只要加入了做接口測試用的庫,就可以對接口進行自動化測試,當然他也可以做UI自動化,因此是多樣性好。這三種都同時可以借用Jenkins部署自動化,可以集成自動化。
 

       性能自動化也是一個投入產出比相對較高的一類,通過監控測試或者負載測試等等,對app或者程序進行監控數據或者壓力測試,通過對數據的收集分析出性能的優劣,主要會涉及大的工具可能有:LoadRunner,Jmeter,Instruments(ios)以及Emmagee(安卓),后兩者基本都是通過對內存、cpu、網路流量、電量以及安裝啟動跳轉的響應時間做實時監控,然后分析數據,給出合理化結論。
 

       3.測試開發工程師
 

       我個人理解的測試開發是這樣的,他需要比較強的代碼能力,會開發其他好用、趁手的工具來提高工作效率,比如數據自動生成、報表自動生成、報bug工具等。與自動化測試合作優化測試框架,提高框架執行case的效率等。然后具有Review代碼的能力,可以做白盒測試。
 

       4.專項測試工程師
 

       對某個領域有自己的專長測試,比如sdk測試,安全測試,兼容性測試等,目前還沒遇到過這種類型的人才,我就不做過多描述了,哈哈因為我也不屬于專項測試。別給大家往錯誤的道上引導。
 

       5.Leader
 

       走管理,需要做的是你個人的綜合實力的提升以及管理經驗。需要怎么做還得看你自己嘍~
 

       以上就是測試工程師未來可能會邁向的幾個方向吧,選擇好自己的方向,為自己的職業規劃確立好最初的目標,希望能幫助到剛入坑或者要入坑的新人們~
 

文章來源:網絡  版權歸原作者所有
上文內容不用于商業目的,如涉及知識產權問題,請權利人聯系博為峰小編(021-64471599-8103),我們將立即處理。

相關閱讀
/
手机棋牌红黑大战技巧