優秀軟件測試工程師必備的8個能力!

結合本身以往的工做經驗,本身梳理出來一些材料,絕對原創,絕對乾貨。前端

優秀的軟件測試工程師必備的「8個能力」面試

做爲一名軟件工程師,須要的能力並很少,可是要成爲一名優秀的軟件測試工程師,須要的能力就比較多了,本身整理出來8個方面,每一個方面都會分紅不少細小的方便並進行舉例說明。一樣的,文章的思惟導圖放在文末,須要原圖直接找我。數據庫

文章一共4500字左右,預計閱讀時間9分鐘服務器

不廢話,上乾貨!架構

1、業務分析能力併發

1.分析總體業務流程ide

不瞭解整個公司的業務,根本就沒辦法進行測試工具

2.分析被測業務數據性能

瞭解整個業務裏面所需的數據有哪些?哪些是須要用戶提供的?哪些是本身提供的?有哪些能夠是假數據?有哪些必須是真數據?添加數據的時候能夠用哪一個庫?學習

明白了整個軟件的數據庫架構,才能知道哪個數據是從哪個表裏頭帶出來的,它的邏輯是什麼,有沒有連帶關係。

3.分析被測系統架構

用什麼語言開發的?用的是什麼服務器?測試它的話須要用什麼樣的環境進行測試?總體的測試環境是什麼樣的?

若是缺乏了,須要進行環境搭建,架構搭建。通常去一家新公司以後,架構是搭建好的,瞭解它便可,熟悉以前的這些老員工們使用什麼樣的架構去作的。

4.分析被測業務模塊

整個軟件有哪些模塊,好比說首頁面、註冊頁面、登陸頁面、會員頁面、商品詳情頁面、優惠券頁面等等

明白有多少個模塊須要測試,每一個模塊之間的連帶關係,進而怎樣進行人員分工

5.分析測試所需資源

我須要幾臺計算機,須要幾部手機,手機須要什麼樣的系統,什麼樣的型號。

好比測一個網站的性能的時候,電腦的配置達不到測試併發5000人的標準,要麼升級電腦的硬件配置,要麼多機聯合,多機聯合時須要幾臺電腦,都須要提早籌劃。

6.分析測試完成目標

個人性能目標是什麼樣的?個人功能目標是什麼樣的?我要上線達到的上線標準是什麼樣的?

性能目標,好比我要達到併發5000人的時候,CPU佔用率不能高於70%,內存佔用率不能高於60%,響應時間不能超過5秒

功能目標,好比總體的業務流程都跑通,全部的分支流程都沒有問題,全部的接口都可以互相調用,總體的UI界面沒有問題,兼容性沒有問題等

把這些問題都弄清楚,測試的思路會很是的清晰

2、缺陷洞察能力

1.通常缺陷的發現能力

至少你要知足通常缺陷的發現能力,這個是最基本的,若是要連最簡單的通常的缺陷都發現不了的話,別說優秀測試工程師了,你說你是測試我都不信

2.隱性問題的發現能力

在軟件的測試過程中有一些缺陷藏的比較深,有的是性能方面的問題,有的是功能方面的問題,它須要有一些設定特定的條件的狀況下才會出現這樣的問題。

好比說買雙鞋必須選擇的是什麼品牌,必須選擇是紅顏色,必須選擇44號,並且必須選擇用特定的支付方式纔會出現這樣的bug的時候,那麼這種就屬於特別隱性的bug,對於這樣的問題的發現能力必定要比別人更強,要找到一些別人可能發現不了的bug

3.發現連帶問題的能力

當發現了一個缺陷以後,可以想到經過這個缺陷可能會引起其餘哪一個地方出現問題,這就叫作連帶的問題。而不是說發現這一個bug以後提了這一個就算完了,必定要有一個察覺,可能其餘地方也存在這樣的問題。

4.發現問題隱患的能力

有些軟件裏邊可能有一些操做模塊,或者是代碼寫的接口,表面上沒有什麼問題,可是它是有隱患的,好比說這個接口寫的不穩定,當他傳的數據有一些問題的時候,可能它最後返回的結果就是報錯就是報404或者報亂碼。

5.儘早發現問題的能力

若是你只能停留在界面級別的話,那你根本就沒有辦法達到儘早發現問題的這個能力

你必需要等到前端人員把每一個界面都作好了以後才能進入測試,而我能比你早一個月進入測試了,而後我比你結束測試時間快一個月,而你又比我晚一個月,那麼咱倆的薪資一下就拉開了

6.發現問題根源的能力

須要知道這個缺陷它究竟是由什麼緣由產生的,是屬於什麼類型的缺陷,是ui前端人員作的問題,仍是後臺接口人員作的問題?

不只要找到這個bug,還要知道這個bug產生的緣由,這樣的測試人員是很是棒的,並且非常受人尊敬,提bug的方式也就不同了

3、團隊協做能力

1.合理進行人員分工

合理的進行人員分工是提升效率的重要保證

2.協助組員解決問題

好比說測試在趕進度,或者這個軟件項目的質量把控是一個團隊來把控的,協助組員解決問題就顯得尤其關鍵

3.配合完成測試任務

一個團隊裏邊的人員分工,他們的任務都是不同的,這就是我們說的配合。你的東西作完了,要輪到我了,個人性能測完了以後該輪到你了,因此整個的一個流程下來以後,你們應該是各司其職,配合得很是緊密的一個過程

4.配合開發重現缺陷

我給你提bug,你改個人bug,我們的目的只有一個,就是讓這個軟件變得更好,因此在這樣的狀況下,我們就必定要配合開發

5.督促項目總體進度

既然是一個團隊協做的過程,就必定要互相的去督促對方,包括督促開發去改bug,由於開發人員他們有時候工做很忙,他們不知道要先改哪些問題,要後改哪些問題,可是每每有一些缺陷,它影響了測試的這個時間,影響了測試的進度,那麼這個時候就須要測試員去督促開發人員,讓他儘快的去解決你棘手的問題。這個東西可以提升我們的測試效率

6.出現問題敢於承擔

願意背鍋的最後都成爲了領導,不肯意背鍋的最後依然是員工

4、專業技術能力

1.掌握測試基礎知識

基礎知識就是根基,根基打好了,你纔可以更有效地日後期發展,也就是爲了之後的學習作一個鋪墊。若是根基都沒打好,功能測試不會,就想直接學性能,那性能是作很差的

2.嫺熟運用測試工具

熟悉工具和熟練使用工具徹底是兩個概念,熟悉工具基本上等同於不會,遇到過不少簡歷上寫會使用什麼什麼工具,都沒有實際能力。好比loadrunner只會一個簡單的錄製,加強一下腳本,以爲會用了,那知識會用了1/5,其餘4/5 都不會。

3.瞭解工具操做原理

它是怎麼樣給服務器發送請求的,是用什麼樣的方式去發送請的,是用什麼樣的方式去監控的,它的操做原理是什麼樣的,我們要把這件事情搞清楚,這樣的話能有助於更好的去使用這些東西。包括一些請求的協議,每一個協議表明什麼意思,它是用來幹什麼的。

4.自主完成測試任務

必定要可以本身完成一個獨立的內容,獨立的工做,這件事情領導你交給我好了,放心我能給你搞定,要的是這樣的人

5.找出問題出現緣由

找出缺陷的時候,不只要看它的表面,還要看它的本質

6.提供問題解決方案

發現問題不是能力,發現問題並提出解決方案纔是真的能力

7.提供完整測試報告

測試報告可以說明你表達的清不清楚?領導能不能看懂?還有就是能不可以把你整個測試的過程給它梳理得很是詳細,人家可以經過你的報告,可以瞭解到整個的項目的狀況,而不是隻瞭解一個片面的狀況

8.瞭解相關技術領域

舉一反三

5、邏輯思考能力

1.判斷邏輯的正確性

面試官也常常會給測試人去出一些邏輯題,邏輯題可以分析出來你這我的思惟有沒有?活躍不活躍?還有他的維度,包括他想的問題的全面性,都可以判斷得出來。

好比說去買同樣商品,它的裏邊邏輯就會常常會出現不少問題,好比說它的會員的級別,什麼樣的級別去買什麼樣的商品,它的價格不同,什麼狀況下會給優惠券,什麼樣的狀況下不給優惠券?達到多少錢的狀況下才可以使用優惠券?若是說這裏邊的邏輯出現了問題的話,那麼整個的業務不用再測了

2.對可行性邏輯分析

要去測一個網站的邏輯的時候,必定要先思考這一個業務流程可能會涉及到哪些邏輯,這些邏輯哪些是可行的,有些是正向邏輯,有些是逆向邏輯,都要考慮全面,而不是說只是把正向的邏輯測試全面了,逆向邏輯不考慮。其實每每更容易出錯的地方就是逆向邏輯

3.思惟導圖梳理思路

思惟導圖工具可以起到什麼做用,可以讓你更有效的進行測試,可以讓你的思路更清晰

4.站在客觀角度思考

去測試的時候,不要僅僅只是站在測試人員的角度上去對整個網站進行測試,還更多的要站在用戶的角度,要替用戶考慮

6、問題解決能力

1.技術上的問題

把本身的我的能力提高起來,多跟別人虛心請教,多去本身想辦法解決問題

2.工做中的問題

在任何的企業裏邊去工做,確定會遇到一些工做當中的一些不愉快的事情,而不是什麼事情都會讓你很順心。因此要去處理工做上的一些不順心的事情,不要把它帶到你的工做上,或者是你的生活上,儘量的去跟別人溝通,去解決這個工做上遇到的麻煩

3.同事間的問題

在工做當中可能會涉及到跟開發人員的溝通,跟產品人員的溝通,跟ui人員的溝通,跟這三方的人員去溝通的時候,就要用不一樣的溝通方式

4.領導層的問題

若是你以爲你的領導很差,或者說你以爲對你的領導一些建議,不要的去跟同事之間去說他壞話或者怎麼樣的,領導須要的是解決問題的人,而不是製造問題的人

7、溝通表達能力

1.和技術人員的溝通

跟開發人員闡述缺陷時要簡潔明瞭、清晰易懂。當發現嚴重缺陷時,也不要大驚小怪,要站在開發人員的角度思考如何解決問題。而不是踩在開發頭上,炫耀本身發現問題的能力。

2.和產品人員的溝通

當對產品提出意見時,要站在用戶的角度去說明本身的想法,而不要主觀認爲很差而要求產品進行修改。

3.和上級領導的溝通

跟領導溝通時要有大局觀,不能只考慮本身部門的狀況。而且與領導溝通時,儘可能直奔主題,不要拐彎抹角,當與領導意見不一致時,也不要直接反駁,應該先給予承認,再闡述本身的想法。

4.在集體會議中溝通

在集體會議中不要一味的突出本身的我的能力,不要當話癆,也不要默默無聞。適當的提出一些本身的看法,有助於讓你們更加劇視你的存在。切記不要在多人會議中,去指責別人和推卸問題。各個部門的同事,都要面子~

5.與下級員工的溝通

與下級溝通時不要擺高姿態,不要讓下級產生畏懼感,應該更多的爲下級解決問題。服務好部門的同事,才能更好的產生凝聚力。

8、宏觀把控能力

1.有效控制測試時間

測試周期的時間控制,應當採起多種方法去衡量,例如人員能力,人員數量,項目複雜程度,同類項目的測試經驗等多方面去衡量。

2.有效控制測試成本

測試成本指的是人員成本跟時間成本,不要浪費每一個人的時間跟勞動力,要讓每一個人充分發揮最大的價值。

3.有效制定測試計劃

測試計劃對於一個項目是核心關鍵,它的存在爲了讓測試進行中有依據可查。因此測試計劃,必定要切合實際狀況,要通過思考和衡量最後得出計劃安排。

4.有效控制組員情緒

組員的情緒能夠直接影響測試進度跟測試的質量,當有組員出現思想問題時,應當及時溝通,採起一些必要的措施去解決問題。而不能裝看不見。

5.有效進行風險評估

任何項目在進行期間都存在許多潛在的風險,例如,人員離職,生病請假,業務變動,需求變動,服務器或其餘組件故障等。應當提早作出相應的解決方案,以避免到時候手忙腳亂。

6.有效控制測試方向

測試的方向是指測試的目標和測試的範圍,不少項目的測試是有針對性的,例如性能測試,因此在測試中,必定要隨時清楚測試的目標和目的是什麼,以避免把時間浪費在可有可無的業務上。
優秀軟件測試工程師必備的8個能力!

相關文章
相關標籤/搜索