最近牛客網上有一篇熱帖,標題下得很直白:測開轉AI,別一上來就亂學。發文的人之前整理過一版測試與測開的學習路線,收藏八百多、按讚近千,這回在舊版上擴充了技術棧,補上AI測開的最新內容,鉅細靡遺地列出該學什麼、要學到什麼程度。帖子裡有網路協定、資料結構、排序演算法,有Python和Java的選擇難題,也有Selenium和Playwright這些自動化工具的細節。
這種文章,讀起來像一份很長的食譜。而我讀著讀著,想起來的卻是自家廚房裡那些關於備菜的教訓。
備菜沒做好,鍋一熱就慌了
你有沒有試過那種場面:食譜打開,菜色雄心勃勃,紅燒魚、炒時蔬、一道湯、再加個甜點。結果瓦斯爐一開火,才發現魚還沒刮鱗、薑沒切、蔥沒洗,湯鍋裡的水都滾了,這邊的青菜還泡在水槽裡。
亂學,就跟亂煮一樣。帖子裡那位作者反覆強調的其實只有一件事:先打底子。無論找開發還是測試,計算機基礎都繞不開,七層網路模型、TCP和UDP、棧和佇列、哈希表,這些是面試常客。放到廚房裡,這些就是刀工、火候、調味的基本功。你很難想像一個連切蔥都切不勻的人,能端出一盤像樣的蔥爆牛肉。蔥段粗細不一,下鍋的時間就不一致,有的焦了有的還是生的,整盤菜的節奏全毀。
基本功枯燥,但它是讓所有後面的菜都能順利上桌的那層底。
先把一道菜做熟,再加第二道
帖子裡有個說法我特別有共鳴。談到自動化,作者建議先掌握一項,Web UI、接口、App自動化,三選一先喫透,再根據項目和崗位補其他。談到程式語言,也說語言只是工具,Java生態完整、Python語法簡單庫又多,不需要為了轉崗自廢武功,把原本練熟的Java丟掉去追Python。
廚房裡的道理一模一樣。會煮一鍋好白飯的人,再去學煮粥、學炒飯,都只是延伸。米和水的比例、燜的時間、鍋蓋掀開那一刻冒出的那股帶著澱粉甜的白汽,這些手感是會遷移的。反倒是那種今天學日式咖哩、明天衝義大利燉飯、後天又要挑戰法式舒肥的人,冰箱裡堆滿了用一次就冰封的食材,調味料架上擺著七八罐開封後就沒再動的醬,每一道菜都是第一次做,也每一道都做得心虛。
先做好一道菜。把它做到端上桌時自己有把握,做到家人喫了會點頭的程度,再開第二道。這比什麼都學一點、什麼都停在半生不熟,踏實太多。
那些經典菜,考的就是反覆出現的東西
帖子裡透露了一個小細節,很有廚房味。作者說,之前坐在旁邊的面試官,經常出快排。快速排序,這種最經典的題型,就像老餐廳考新師傅的那道蛋炒飯。聽起來最簡單,飯、蛋、蔥、鹽,可是火大了就焦、火小了就膩,飯不夠乾就結塊。會不會炒蛋炒飯,藏不住任何偷工。
等價類、邊界值、判定表,這些用例設計方法,也是同一回事。它們是測試這門手藝裡的基礎刀法。就像切絲、切丁、切末,看着機械,但一道菜入口的口感,往往就決定在這些下刀的瞬間。登入界面怎麼測、一只水杯怎麼測、購物車和優惠券怎麼測,這些考題翻來覆去地出,考的不是背誦,是你拿到任何一個陌生場景時,手上有沒有那套穩定的思路。
AI是新菜色,但鍋還是那口鍋
整篇帖子最後落到AI測開的路線上,這也是標題裡「別亂學」最想提醒的地方。AI工具看起來新,可是帖子把它接回原本的脈絡:你還是要會Python,還是要懂pytest,還是繞不開那些資料結構和Linux命令。新菜色上桌,用的還是同一口鍋、同一把鏟。
這讓我想到這幾年大家瘋做的一道菜,氣炸鍋料理。機器是新的,但炸物好喫的原理沒變:溫度、時間、食材表面的乾燥程度。你如果本來就懂油炸,氣炸鍋上手半天就摸清脾氣;你如果連油溫幾分熱該下什麼料都不知道,換了十臺新機器也只是換一種方式把雞翅烤焦。
學新東西最怕的,就是把工具當成本身。工具會一直換,手上那點真功夫才是跟著你走的。學外語是為了喫到那一口,學新框架也是,這跟菜單上的譯名替舌頭開路是同一種邏輯。
一張按部就班的餐桌
把那份學習路線讀完,我腦中浮現的畫面,其實是一張按部就班開飯的餐桌。先是基礎,像那一鍋先坐上爐的白飯;然後是語言,選一門練熟,像那道你最拿手的家常菜;然後是測試理論與自動化,像刀工和火候一層層疊上來;最後才是AI,那道壓軸的新菜,端上桌時,前面每一道都已經穩穩地冒著熱氣。
亂學的人,是把菜單倒過來唸。先盯著壓軸,基礎的鍋還冷著,就急著擺盤。
所以,如果你也正站在轉崗的路口,看著那份長長的路線發慌,不妨換個方式理解它。它不是一份要你一夜喫完的滿漢全席,它是一張備菜清單。今天切好蔥薑,明天備好高湯,後天下鍋。菜是一道一道上的,飯是一口一口喫的。
廚房教會我們的,從來都是這件事:急不來,但也別停。爐火開著,鍋熱了,就按自己的節奏,一道一道來。