本文大概
2429
字
讀完共需
7
分鐘
| 由于時長限制,想聽完整音頻請點擊'閱讀原文'
學到課堂 | 第一期
課程主題
測試工程師如何迎接AI時代的挑戰
主講人
林應
針對人群
- 測試工程師
- AI愛好者
- 初級Pythonista
學到課堂
專注于精品測試課程、AI課程以及基本架構課程
目錄
一、測試工程師為什么要學編程
二、應該抱著什么目的學
三、為什么選Python作為入門語言
四、Python學習內容和路線
五、自學者如何積累實踐經驗
六、編程學習經驗分享和小建議
七、網上資料推薦
八、提問環節部分摘要
隨著人工智能的發展,AI的普及勢必會取代簡單和重復的勞動力,根據林應老師在微軟、阿里等工作的實際工作經驗,如今的測試團隊都在面臨重組。測試工程師若沒有技術優勢,就難以在AI時代里生存下來。
從理論到實踐,林應老師從多個方面講述測試工程師應有的思維方式和實踐精神。
1
測試工程師為什么要學編程
技術更迭的需求
和傳統的軟件開發不同,AI時代的開發和測試會越來越密集地融合成一體,機器學習算法模型的生成就包括開發和測試兩個階段。對于測試工程師來說,如果不介入開發,后面所做的測試工作就會很容易脫離生產實際。
沖破測試工作的局限性
應用場景的測試比較低端,屬于重復性和單一的工作,而了解編程和人工智能,就可以從早期模型的階段進行評估的工作,擺脫體力勞動者的角色。
提高日常工作效率
即便你只是做最普通的測試工作,學會編程也可以提升工作效率,提升個人優勢。比如通過寫腳本記錄重復勞動的過程,就可以通過自動化腳本實現大量的數據優化和場景構造。
避免被團隊邊緣化
以林應老師在淘寶的實際工作經驗,目前技術團隊的構造上,每個人都承擔著多重角色,測試如果完全不懂開發,很容易會被邊緣化。
薪資會告訴你答案
即便在實際工作中并沒有太多自動化的場景,但資本家和市場的偏好依然希望測試工程師擁有編程的知識,這些都會在面試和薪資里體現出來。
2
應該抱著什么目的學
看懂代碼
訓練自己看代碼的能力,有能力看懂別人的代碼和找到bug。
培養專業度
通過很多技術文章和專業書籍,在討論的時候可以讓別人感受到你的專業度,在面試的時候同樣具有優勢,可以更容易打動面試官。
3
為什么選Python作為入門語言
入門更快
一般來說,只要先看兩個小時文檔,就可以寫一些像樣的東西出來。相比較于C++的語言,學習曲線更加平緩,對于自學者來說非常友好。
快速形成生產力
Python的應用非常廣泛,在數據分析、機器學習領域、爬蟲、自動化……都有著廣泛的運用,因此在學習之后能快速看到效果。
學習素材豐富
網上的學習資料豐富,成系統的教材很多。
(關注公眾號并回復“測試工程師”,領取課件及學習資料)
龐大的擴展庫
Python有很多高質量的標準庫和第三方庫。
大量的工作崗位
市場上有大量的工作崗位需求:自動化測試、自動化運維……你甚至只要具備轉化業務流程的能力,而無需了解Python的方方面面。
4
Python學習內容和路線
基礎知識
了解循環、判斷、容器、類、方法、面向對象……,掌握概念和用法。
常用算法
掌握二分法,動態規劃等一些基本的算法,并嘗試實際應用場景中練習。
爬蟲
作為開發和測試過程中的重要工具,爬蟲在http請求處理、靜態頁面解析、動態頁面抓取都有應用。
數據分析
初期可以利用爬蟲從互聯網獲取的數據進行分析,使用numpy和pandas之類的工具包進行分析。雖然numpy和pandas的功能很多,但在實際使用中并沒有那么復雜。主要是在掌握線性代數的一些基本知識,在了解了基本使用方法之后,可以根據實際需求在網上找對應的函數。
基本機器學習算法
推薦使用scikit-learn,通過看庫的文檔了解算法的名稱以及實際的使用場景之后,在運用時可以直接調取庫,就可以自己去完成很多機器學習相關的功能了。
神經網絡
嘗試利用tensorflow搭建一個神經網絡,只需在電腦上裝一個tensorflow的CPU版本,自己就可以訓練一些簡單的模型。
5
自學者如何積累實踐經驗
吸取他人經驗
網上的教材和現有的案例教你如何做分析,從別人的經驗中找靈感。
參與開源項目
在github上有大量的機會開源項目供自學并積累工作經驗。
啟動自己的項目
在網上寫爬蟲抓取大量的數據進行分析,做自己的項目。
-豆瓣電影,評分預測
-鏈家數據,房價曲線圖
參與網絡競賽
Kaggle或者天池,參與競賽,使用現有的數據練習。
6
編程學習經驗分享和小建議
·注重實練,動手敲代碼。
·舍得花時間,量變產生質變。
·記錄并整理優秀的學習素材和案例,隨時參考。
·生成自己的代碼庫,隨時調取。
7
網上資料推薦
廖雪峰的Python教程
刷題訓練:lintcode 部分參考答案
電子書
- Python數據分析(Python for Data Analysis)
- 機器學習實戰
- 游戲開發中的人工智能
莫煩的個人網站
寒小陽的博客
編程遇到問題強烈推薦去stackoverflow
8
提問環節部分摘要
Q:測試機器學習模型有什么思路?
A:根據生產需要,考慮各種因素干擾。比如人臉識別,面臨不同人種,需要有不同的模型;面臨不同的應用環境,測試模型的效用并進行取舍。
Q:在測試執行中,有應用場景了嗎?
A:機器學習產生結果的不確定性,針對這種不確定性而產生的隨機性,來進行測試,同時要考慮到極端情況。比如游戲中的追逐場景,要保存所有的隨機路徑,然后根據這些數據進行測試。
Q:如何參與Java開發?
A:Java的代碼比較易懂,如果只是參與,從看代碼和找問題中著手比較簡單。
Q:對于“機器翻譯”翻譯質量的評測?
A:主要是抽檢和眾包的方式,翻譯的質量是一個持續改進的過程。
Q:圖片壓縮清晰度的測試?
A:主要靠人的直觀感受和自動化測試相結合,可以對壓縮前后的圖片進行近似度判斷,接入人臉識別算法等進行輔助測試。
Q:自動化測試怎么學?
A:學好基本的編程和單元測試框架的應用,結合相應的應用環境,通過性能測試等逐漸積累經驗。最重要的是結合業務場景,多做應用。