本文大概 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:學好基本的編程和單元測試框架的應用,結合相應的應用環境,通過性能測試等逐漸積累經驗。最重要的是結合業務場景,多做應用。 |
|