一個測試工具,是否一定要被限制在「原本想像的測試場景」裡?
作為一個Android Test Tool,Qaptly Auto for Android v1.5發佈後,就停止更新好一陣子,畢竟這工具在Android App測試上,幾乎該有的都有了,真的遇到限制,再配合Qaptly本來就支持的adb自動切換,功能已經非常強大,也因為早期的更新頻繁,其實已經不太會收到客戶反饋的bug了。
陸續出現的需求
我們在Sentry上,偶爾會看到客戶反饋回來的需求,
說希望可以把Qaptly Auto的GPS mock入口拉到設定頁面,
也有收到說希望可以把原本強制要求要設定的Accessibility Service給關掉,或者是可以跳過,
但這是Android Automation中,比較正式的做法,如果跳過,那就是只能走adb,
雖然説對我們的用戶來說,通通不用自己操作,這應該都不是問題,但是這些需求背後的場景,我們其實真的比較難理解。
一直到有一天...
客戶訪談結束後的閒聊
那天訪談結束得早,客戶也沒有接下來的會議,就隨意聊了起來。
聊著聊著,話題又回到了「能不能跳過 Accessibility Setup」這件事。
我半開玩笑、半認真地回應:
「是可以設計成可以跳過啦,但是如果是遠端驅動,可能就不知道錯誤在哪裡了!我們這個工具是假設進入到命令歷史清單頁面,都是已經設定完成,可以隨時被測試狀態,這樣如果真的發生錯誤,不好找原因。」
對方很快地說:
「我們理解,所以測試機一定都會設定好,不會跳過。」
這句話反而讓我更困惑了。
原來,我一開始就誤會了
我忍不住多問了一句:
「那你們什麼時候會用到跳過設定?」
對方笑了一下,說:
「因為 Qaptly Auto 拿來跑 GPS mock 比其他 App 穩定,不會亂跳。我們全家手機都有裝,但每一支都要設 Accessibility、還要檢查 USB debug,真的太麻煩了。」
那一刻我才意識到——
她根本不是在講測試。
我又確認了一次:
「為什麼全家都要裝測試工具?而且 USB debug 其實有風險。」
她很自然地回答:
「因為我們全家都有在玩皮克敏。但有些地方真的太難去,市區又一堆人搶蘑菇,用你們這個介面快又穩定,我試過就推薦給我先生跟女兒了。」
接著她又補了一句:
「既然都說了,那 Security Warning 也可以一起跳過嗎?」
客戶的想法永遠是超前的,我自己也只有備用機才會裝測試工具。
工具的用途,從來不只一種
最後,我們做了一個很簡單的決定。
我們單獨出了一版 GPS mock 專用版本:
不需要 Accessibility、不需要開 USB debug、也不走正式的測試假設。
這樣手機安全一點,他們用得也安心。
原本是為了測試而設計的工具,最後卻成了某一家人皮克敏征途中的「穩定裝備」。
也讓我們再次確認了一件事:
真正好用的工具,往往會被用在你一開始沒預期過的地方。
v1.8.0真的提供Skip選項
話說回來,Qaptly Auto for Android 在即將推出的 v1.8 版,確實正式加入了「可跳過部分強制設定」的設計。
包含 Accessibility 檢查、部分前置環境驗證,現在都可以在特定模式下略過,直接進入命令執行與歷史紀錄頁面。這個調整,並不是因為我們改變了對 Android Automation 正規流程的看法,而是我們終於承認了一件事:
有些人用工具,不是為了測試;但他們依然需要一個穩定、可控、可重現的執行環境。
當然,還是要說一句正經的——
皮克敏就是要多走走,對身體比較好。
至於那些「穩定 replay tracks」之類的用途嘛……
我們就當那只是測試世界裡,一個很剛好的副作用。
千萬不要告訴別人。