不知道大家前兩天有沒有被一篇叫做AlphaGo Zero:這個世界人類是多余的 的文章刷屏。
總之,就是一個字, 生無可戀。。。
微信群,QQ群,各種群里面也討論起一個話題,AI已來的時代,人類的核心競爭力到底是什么呢?
從勞動(或者工作)的范疇來劃分,我們可以看到有以下的四個方面:
- 體力勞動
- 腦力勞動
- 風險勞動
- 情緒勞動
也就是說你的工作的比例,基本上可以從上面的四個方面上來做一個分布。
想想你日復一日的點點點,榨干腦力的自動化測試框架,上線前的程序猿祭天和讓產品經理立字據的勇氣,是不是和上面的四個方面各自有一個對應。
Tim Urban在《AI革命-通往超智能道路》一文中指出,人工智能分為三類:
弱人工智能Artificial Narrow Intelligence (ANI): 弱人工智能是擅長于單個方面的任務型驅動的人工智能。例如能戰勝圍棋世界冠軍的人工智能,但是它只會下圍棋,如果讓它解決怎樣更好地在硬盤上儲存數據的問題,它就無法做到。目前人工智能的發展尚且達到了弱人工智能階段。
強人工智能Artificial General Intelligence (AGI): 人類級別的人工智能。強人工智能是指在各方面都能和人類比肩的人工智能,人類能干的腦力活它都能干。創造強人工智能比創造弱人工智能難得多,Linda Gottfredson教授把智能定義為“一種寬泛的心理能力,能夠進行思考、計劃、解決問題、抽象思維、理解復雜理念、快速學習和從經驗中學習等操作。”強人工智能在進行這些操作時應該和人類一樣得心應手。
超人工智能Artificial Superintelligence (ASI): 牛津哲學家,知名人工智能思想家Nick Bostrom把超級智能定義為“在幾乎所有領域都比最聰明的人類大腦都聰明很多,包括科學創新、通識和社交技能。”超人工智能可以是各方面都比人類強一點,也可以是各方面都比人類強萬億倍的。超人工智能將給人類世界帶來什么樣的顛覆,是生存還是毀滅成為大眾關注的熱點。
從嚴格意義上說,測試領域尚未達到真正意義上人工智能的應用階段,只能說目前還在向類人工智能方向發展,發展的方向可以如下圖所示:
測試領域必將經歷三個階段才能邁向人工智能的世界:
手工測試:該階段偏向于用人工來做測試執行。
測試自動化(Automation Testing)。該階段偏向于測試執行的自動化,尤其將重復手工測試部分進行自動化,從而提高測試效率,降低人工成本。其本質是人工編寫腳本,程序操作,屬于任務型程序。
自動化測試(AutomatedTesting)。雖然跟測試自動化前后顛倒一下,然而意義完全不一樣,它是將測試過程自動化,其包括了測試需求、測試用例設計、測試數據準備、測試環境搭建、測試版本部署、測試執行及測試報告都將自動化。然而這個過程仍然是人工設計干預,確定輸入,只是把過程進行自動化,機器本身并沒有達到自我學習的能力水平,屬于過程管理程序。
AI化測試(AI Testing)。進入人工智能階段以后,測試人工智能的流程和框架可能會發生顛覆性的改變,其過程及手段并不一定遵守當前的測試生命周期理論。
AI化測試將進行階段性的發展,測試工程師這一職業或許將不再存在,測試工作任務將會被AI逐步代替,結合上面的人工智能的分類,整個測試領域會將隨著人工智能的發展分為弱AI化測試、強AI化測試和超AI化測試。
弱AI化測試,測試工作任務化人工智能,通過對人類提出的知識圖譜,根據知識點,處理結構或非結構化數據,并通過對程序代碼的分析,計算出系統的可能的薄弱環節,自動提供測試方案,完成測試驗證,指出問題所在,給予問題解決方案,甚至修改好程序。測試階段會從過去的單元測試、集成測試、系統測試和驗收測試縮減為兩個階段:機器測試和用戶測試。由于最終使用者是人類,所以前端仍需要人類的介入,只是后端得到了整合,縮短了產品開發上市的時間。測試的本質還是基于傳統的“機器為人服務”的關系。
強AI化測試,將進一步的向測試領域上游滲透,對測試需求,甚至產品需求進行自我認知與學習,通過對用戶使用數據的分析,挖掘用戶需求、產品特性,根據得出的結果,提出產品需求,開發實現產品,并執行相關測試,與需求進行匹配運算,確認產品質量。因此在強AI化測試階段,測試概念已經進化到“機器為機器服務”的關系。
超AI化測試,對用戶的需求進行引導,使用戶在潛意識受到人工智能的暗示做出決策,也就是說人工智能引導需求,人類反而潛意識會認為這個需求是由自我產生。人工智能的測試則演變成為人工智能服務的工作,這已不是傳統意義的測試和驗證,更趨向于人類世界的醫生與病人的關系。測試已經演變成“人為機器服務”的階段了。
以上是對未來的一個暢想,在現在的這個節點上,AI測試方面的探索,CC先生也只看到了一些相關的探索,還屬于 弱AI化測試:
比如,瑞典的一家公司(King.com)采用Monte Carlo樹搜索算法、自動啟發式構建算法、增強拓撲的神經元演化算法 (Neuro Evolution of Augmenting Topologies,NEAT )來訓練 AI測試工具 (bots) ,模擬人類交互能力,完成對Candy Crush Soda游戲的功能測試、穩定性測試和性能測試,并評估游戲難度級別,預測游戲的成功率。
或者對于APP的測試,有一家NimbleDroid公司(創始人是中國人)有一個爬蟲可以發現 app 有什么用例,然后對每個用例可以進行分析,看它的性能是什么樣的,有沒有內存泄露、性能問題、卡頓等現象,還包括程序啟動慢有哪些原因。
又或者,美國一家公司(Appdiff)推出測試機器人,能夠全面分析App應用中的每個界面、元素和操作流,進行性能測試和用戶體驗測試(懷疑嗎???)。Appdiff的智能機器人,可以克服經典的測試方法所存在的速度慢、開銷大的問題,具備類似人類的洞察力,就像魔術一樣快速完成測試,而且具有學習能力,App應用程序測試越多,工具會自動地變得越來越聰明。采用的AI,就可以替換過去腳本的開發,讓自動化測試進行得更輕松,而且AI能處理的測試輸入,手工是無法相比的。
那現在,我們可以拷問自己一個問題:AI已來,人類測試人員的核心競爭力到底是很什么?
我試圖從勞動的四象限里去尋找一下答案。
既然體力已經不是問題,腦力上AI是完勝人類的學習消耗曲線。(從Alpha zero的學習曲線里面就可以看到端倪)
風險上,AI也許比人類有更高一點的承受能力。
剩下的,估計就是情緒勞動這一片領地了。試想一下,如果開發和產品經理還是人類的情況下,他們會更愿意對著一個AI進行交流還是和一個有著很好溝通能力的人類測試人員呢?
之前CC先生說過,測試人員需要的不僅是硬技能(比如編程,比如自動化技術等等),他/她還需要有各種的軟技能(溝通能力,總結能力等等)
回到蘋果公司的CEO庫克對人工智能的看法上:“我并不擔心人工智能可以讓計算機像人類一樣思考。我擔心的是人類會像計算機一樣思考,沒有自己的價值觀或同情心,不考慮事情的后果。”
參考文章:
你知道AI可以高效測試移動應用嗎?
人工智能下證券交易測試領域的發展路線初探
AI測試:讓軟件測試變得聰明伶俐(下)