軟體測驗回顧(4)
09章:軟體測驗人的核心競爭力
這篇我會結合自己和老師的講座,盡可能有量化的指標
業務測驗(傳統測驗工程師)
7大核心能力:
- 測驗策略設計能力
- 測驗用例設計能力
- 快速學習能力
- 探索性測驗思維
- 缺陷分析能力
- 自動化測驗技術
- 良好的溝通能力,
測驗策略設計能力一定是需要你在大量實踐的基礎上潛移默化形成的
測驗策略設計能力是功能測驗工程師最核心的競爭力,也是最難培養的,平時就要多積累,對常見的缺陷模式、典型的錯誤型別以及遇到過的缺陷,要不斷地總結、歸納,才能逐漸形成體系化的用例設計思維,
同時,你還可以閱讀一些好的測驗用例設計實體開闊思路,日后遇到類似的被測系統時,可以做到融會貫通和舉一反三,
個人覺得這些東西太虛了,沒有實在的指標,例如什么是快速學習能力?在面試怎么體現?什么又是良好的溝通能力,面試侃侃而談就是嗎,不見得吧
所以個人·認為:傳統測驗工程師,趕緊學“技能”,學知識儲備,學編程語言,深究網路協議等等,只有把這些“面上、實實在在”的東西學會了,才有機會轉型,比如A會redis,B連資料庫是啥都不知道,只會點點點,你要是部門老大,你要誰?
測驗開發測驗
一個合格的測驗開發工程師一定可以成為一個合格的開發工程師,
測驗系統需求分析能力
除了代碼開發能力,測驗開發工程師更要具備測驗系統需求分析的能力,你要能夠站在測驗架構師的高度,識別出測驗基礎架構的需求和提高效率的應用場景,從這個角度說,你更像個產品經理,只不過你這個產品是為了軟體測驗服務的,
更寬廣的知識體系
更高級別的測驗架構部署和生產架構部署、你還必須對開發采用的各種技術非常熟悉,
舒適區:
- 測驗經驗積累都“強”系結在特定的業務領域
- 測驗開發崗位的核心其實是“測驗”,“開發”的目的是更好地服務于測驗不要把測開當做開發去做
看到了嗎,很明顯測開的要求比業務測驗要清晰的很多,業務測驗一定要放棄“不寫代碼”的思維,老師的文章中沒有國內的測驗現狀,首先,你去看國內大廠招聘,清一色的測開崗位,我面過其實就是我畢業的傳統業務崗,只不過不叫測開,就感覺“落伍”了一樣,他們真正開發測驗工具的是另外一批人,可能也叫測開,其次,小廠面試測驗根本不看你什么用例設計之類的,一看學歷,二看經驗、三問問題,甚至直接招開發做測開,目的就是開發工具,根本就不會那么正規,所以傳統的測驗趕緊轉型,千萬別抱僥幸心理,
斜體都代表我個人言論,來源都是我的個人認知,可能其他公司會規規矩矩的培養測開,只是我還沒遇到過
10章:軟體測驗需要掌握的技術
開發工程師通常是“深度遍歷”,關注的是“點”;而測驗工程師通常是“廣度遍歷”,關注的是“面”
1. 網站架構的核心知識
-
傳統軟體產品測驗時,我們必須了解軟體的架構設計
-
被測物件成了互聯網產品,我們就必須要了解網站架構,
要掌握網站架構的核心知識
2.容器技術
中大型互聯網企業都在推行容器化開發與運維,開發人員遞交給測驗工程師的軟體版本通常就是一個Docker Image,直接在容器上進行測驗,有些公司還會把測驗用例和執行框架也打包成Docker Image,配合版本管理機制,實作用容器測驗容器,
作為新時代的測驗開發工程師,你必須像熟練使用VMware一樣,掌握Docker和Kubernetes的原理和使用方法,
推薦依然是Docker官網的教程,在這里你完全可以理清Docker概念以及具體使用方法,那再結合具體的實戰,相信你必定識訓頗豐,
3.云計算技術
作為測驗工程師,你必須理解服務在云端部署的技術細節才能更好的完成測驗任務,
測驗基礎服務作為提供測驗服務的基礎設施,比如測驗執行環境服務(Test Execution Service)和測驗資料準備服務(Test Data Service)等,也在逐漸走向云端,
測驗執行私有云,最典型的就是,基于Appium + Selenium Grid,搭建移動終端設備的測驗執行私有云,
對于云計算的學習,你的側重點應該是如何使用云提供的基礎設施以及服務,
我建議的高效學習方法是,參考你所采用的云方案的官方檔案,再結合實際案例進行試用,學習效果會更好,
- 你可以嘗試用云服務去部署自己的應用,同時還可以結合云平臺提供的各類服務(配置服務,資料庫服務等)和你的應用做集成,
- 你嘗試用云平臺建立自己的小應用集群,體驗集群規模的動態收縮與擴展,
- 你還可以嘗試在云平臺上直接使用Docker部署發布你的服務,
- 你可以嘗試在云端建立自己的Selenium Gird集群,現在Selenium Gird已經發布了對應的Docker版本鏡像,你可以非常方便地在云平臺上搭建自己的Selenium Grid,
理解了Docker的基本概念以及對應云平臺的使用方法,你就可以在短時間內快速搭建起這樣的Selenium集群,
就是會使用云來進行測驗
4.DevOps思維
DevOps的具體表現形式可以是工具、方法和流水線,但其更深層次的內涵還是在思想方法,以敏捷和精益為核心,通過發現問題,以系統性的方法或者工具來解決問題,從而實作持續改進,
要想真正學習和掌握DevOps,并不是簡單地學習幾款工具的使用,更重要的是需要有DevOps思維,能夠將各個工具有機結合,提供高效的CI/CD流水線,
對于DevOps,我建議的學習路徑是,
- 你可以從深入掌握Jenkins之類的工具開始,
- 到熟練應用和組合各種plugin來完成靈活高效的流水線搭建,
- 之后再將更多的工具逐漸集成到流水線中以完成更多的任務,
5.前端開發技術
如果你能夠掌握前端開發技術,也就意味著你可以更高效地做前端的測驗,更容易發現潛在缺陷,同時,你還可以自己構建測驗頁面,來完成各類前端組件的精細化測驗,大大提高測驗覆寫率和效率,
通常你
- 首先需要掌握最基本的JavaScript、CSS、JQuery和HTML5等知識,
- 然后再去學習一些主流的前端開發框架,比如Angular.js、Backbone.js等,
- 當然現在的Node.js的生態圈非常發達,你如果能夠掌握Node.js,那么很多東西實作起來都可以得心應手,
跟著你的測驗專案去有針對性地學習專案相關的技術,而不是所有的技術都去泛泛地學,往往只有那些實際經歷過的專案和技術才能真正成為自己的,對于專案用的技術千萬不要一知半解,而是必須深入掌握,那么隨著時間的推移,你的技識訓累就會越來越強
第二,對于一些主流的通用的技術,比如現在的容器技術,網站架構知識等,我建議通過業余時間自學,至于學到什么程度取決于這個技術本身的特點,比如docker我覺得基本只要能夠掌味訓本概念以及常規的使用方法就基本足夠了,而對于網站架構知識,由于你畢竟不是系統架構師,所以要做到在談論架構的程序中,你能夠理解那些名詞和概念,至少能夠可以和系統設計人員有共同的技術語言,不至于當對方說快取集群,訊息中間件的時候你完全不知所云,
也就是說,基礎知識要了解,專案知識要深入
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/243150.html
標籤:其他
上一篇:軟體測驗回顧(3)
