Qaptly來了!

·5 分鐘閱讀

終於,是時候了!

v0.13.0 今天發布

整整停滯了兩個大版本的iOS,終於迎來前所未有的穩定性支持,能趕上Android的車尾燈了。

一個是iOS支持得要跟上,另外一半是被逼的,v.0.12.15為了配合我們第二個開源工具Qaptly Auto for Android的splash window發布,結果造成線上幾乎所有待命機器在自動更新後,都停擺了,只因為把核心層Qaptly CLI新版(支持splash window)與Qaptly Auto for Android的發布順序搞錯,導致打包到舊的,所以只能趁著iOS引導頁面剛完成,做基本功能驗證,就把v0.13.0發布了,讓所有待機池裡的機器直接全部支持iOS遠端測試。

v0.13.0 released

Serene (Qaptly前身)的起源

時間回到2024年,那時候手中已經有兩個AI產品在運作,Serene還是一個沒有系統化的雛形,但我自己最喜歡的還是這個,畢竟人生中第一份正式工作跟它有關,雖然也離開這個崗位那麼多年,但偶爾還是會想起,懷念當時那種找到問題的悸動。

8月份,終於決定要好好把團隊主力往這個想法上投,一開始,我們努力的方向是把產品規格(各種形態)變成測試計劃與測試案例,所以整個系統其實是往分析跟拆解資訊,然後用SQA專用知識去重組,然後進而產生測試案例的,這之前,只有小規模測試,在簡單流程上,我們fine-tune過的engine正確率與覆蓋率可以到80%以上(對比人校驗過的測試案例),這時可以說只有後端,而且還很簡單,一直到現在,那個repo的名字還是叫serene_tmp_backend。

從9到11月,有位大客戶陪我們走了產品的模式初驗,這時,我們系統基本上都是各種storage之間資料跑來跑去,完全看不到介面。

目標是一個彈性很高,正在服務400多位品牌客戶的會員系統,到了驗收階段,我記得好像測試案例通過率不到7成,所以客戶最後放棄這個合作方向,不過還是得馬後炮一下,那些測試案例我全部手動算過三遍以上,近200個案例的場景,我們其實錯誤率不到2%,為了這個我還重寫了一份他們的會員系統,只為了這些案例拿上去不要丟臉,驗收結果是這樣其實我也蠻意外的,只能說,PM們還是要好好寫規格,不然規格跟系統實際狀況是對不上的。

不過,這位大客戶是真的很棒,說這個不行沒關係,你們來幫忙處理自動化吧!

我想,反正也在我們的Roadmap裡,那就來吧!

大概從12月到今年3月,幾乎都在弄自動化,當時的Vision LLM剛出來,那效果拿來當測試驗證叫一個慘不忍睹,除了Vision LLM外,還弄了CV跟Pattern matching的許多算法,我們做了非常多的work around跟額外的技術去彌補那個洞,好不容易把客戶給的題目給弄完了。

在驗收前一再跟驗收人員強調,千萬保證驗證環境的穩定性,不要拿個人使用的電腦去跑。

不過測試結果也不讓我們意外,是在個人工作電腦上跑的,不能說這樣不好,只是當初為了讓這些End-to-End測試可以穩定執行,放了不少假設在系統設計上,其中一個最重要的就是環境的穩定性,那些CV都是針對第一次跑的機器的解析度去自動鎖定,後來回看測試結果,三台不同解析度的測試結果對不上。

怎麼說呢,還是我們做得不夠好,不過也是因為這個原因,我們最完整的測試支持,在很長一段時間裡都是瀏覽器。

話說當時,這個產品差一點就要收了,畢竟原本設想中的大客戶,兩次機會都沒把握住!

不過後來好險有一些朋友願意嘗試我們的服務,用服務養產品,也慢慢走過來了。

能快多少?

時間回到2025農曆新年,曾一起創業的老朋友(他又回鍋去當財富500強的CIO)在電話上閒聊...

技術控當管理職有時候問話蠻扎心的。

"你做這個能比人快多少,沒有個兩三倍就別做了吧?"

這兩年,每次我看到有人說,AI + Playwright就可以測試的時候,我很想問,你們的測試案例是自己開的還是AI開的?你們用的模型是自己fine-tune的還是用別人訓練的?

為什麼要這麼問?

資深SQA都大概能理解,現在的模型就像是一個非常聰明的陌生人,講起話來頭頭是道,但是只能做很初級的SQA。

測試在執行上最關鍵的兩件事,一是能做得出場景,二是得確認這個場景的期望結果是否一致,差一點都不行。

拿前一陣子處理的案子來說,問VLLM畫面上有沒有"收件"這個詞,多一個字或少一個字都錯。

所有主流LLM的API全部走過一遍,每個都說有,但其實畫面上只有"去收件",試問,如果設計稿就是"收件",所有相關規格跟驗收條件都是"收件",你說"去收件"是對還是不對?

扯這麼多,是因為我當時知道這個瓶頸,除非針對性的fine-tune,不然無法替代SQA的角色。

我是這麼回答那位朋友,"現在可能不到30%,但是我會讓他變成10倍的,而且便宜一半!"

雖然我還距離這個目標有點遠,但夢想總是要有的嘛,萬一實現了呢? Dream Big, Archive More

回顧

今天發完v0.13.0後,有點鬆一口氣,可以開始走下一步了。

截至今天為止,正在服務與服務過的客戶有13家,17個產品線,這些產品上線用戶超過千萬人。

Qaptly專案獨立repo共8個,包含後端、前端、客戶端、Android、iOS、macOS等,

累計176個版本,3269個commit,最拚的一天,我們前後端與客戶端加起來用100多個commit幹掉31個Jira ticket!

終於...

- 完全不會寫code的客戶可以自己操作Qaptly完成移動端/Web/API的自動化測試

- 動嘴跟動一動滑鼠就能寫好測試案例跟自動化

- 以前GUI自動化是學其形,現在能做到學其意

- AI幫你處理測試案例執行時的fallback與failover

- 把客戶自己的GPU用來加速測試,16G都能上線打仗

- 開源了我們認為還不錯用的小工具

我們大概把過去這20多年的軟體開發經驗都用到這個專案上了,當然,我們認為還是有很多地方可以做到的更好,只不過,也是時候讓這個工具可以被更多人使用了。

L.L.

需要專業協助嗎?

我們的團隊成員都是有超過20年的商業產品開發經驗的資深工程師或高階管理人員,從上億用戶的App到服務超過3萬商家的B2B SaaS平台,我們都有豐富的實戰經驗,無論是:

  • 開發團隊的建置
  • 測試團隊的組建
  • AI工具的導入
  • 測試策略的制定
  • 開發流程的評估
  • 測試流程的優化

我們都能為不同規模和型態的團隊提供專業建議和具體解決方案。如果您正在為類似的問題煩惱,歡迎與我們的團隊聯繫