本文是「測試之外的那一半:一個 QA 回頭帶當年的自己」系列第 14 篇。
第一週講的是怎麼看懂人。第二週換了一邊:知道對方在擔心什麼之後,到底該做什麼測試。
六篇寫完,我發現它們都在補同一個缺口。
我實習的時候,做的很多事情沒有判準。
不是做得不夠多,是做完之後說不出「這樣算不算對」。
Day 8|我以為測試是把每一種情況都試一遍。
缺的判準:測試從頭到尾都是抽樣。該問的是我這幾匙取得有沒有代表性。
Day 9|測試環境掛掉,我才發現我說不出自己覆蓋了什麼。
缺的判準:我的「測完了」一直是靠「隨時可以回去點」撐住的。ACC 那三欄才是可以攤開來檢查的東西:使用者在乎什麼、系統有哪些部件、哪些能力最不能壞。
Day 10|「我改好了,你測測看」。
缺的判準:證明一個 bug 存在只要一個反例,證明它不存在要窮盡整個狀態空間。那句話把後面那個不可能的任務交給了我,而我接下來的時候完全沒察覺。
Day 11|那份回歸清單只會變長。
缺的判準:長不等於密。而清單之所以只長不短,是因為刪掉一條需要有人負責,而沒有人被指定要負這個責。
Day 12|篩選出「查無資料」,那到底有沒有符合預期。
缺的判準:oracle。沒有事先知道「對的結果該長什麼樣」,那個腳本就只是在重複一組動作,然後回報沒有爆炸。
Day 13|我花兩天確認那件事做不出來,然後把它丟出去。
缺的判準:什麼時候該停。訊號是「我這一小時學到的東西,還在增加嗎」。而往上報的時候,「我做不到」跟「這件事在這個工具裡做不到」是兩種完全不同的資訊。
第一週那六篇,問的是別人在擔心什麼。
第二週這六篇,問的是我憑什麼說這樣就夠了。
而這兩件事其實是接起來的。
你不知道對方在擔心什麼,就訂不出判準——因為判準本來就是從「我們怕什麼」推出來的。反過來,你手上沒有判準,就算對方把擔心講得再清楚,你也交不出一份說得出理由的東西。
Day 9 那四行計畫是兩邊接起來的樣子:第一行「這次改了什麼」來自上游,後面三行是你自己的判準。少哪一半都寫不完。
前兩週講的,至少都還有一個對象可以問。
第三週要碰的是控制不了的那一塊:有些問題不屬於任何一個人,所以沒有人會去動它。
沒有人負責的文件、沒有人擁有的 bug 分派規則、沒有人有權限改的可測試性。這些東西我實習的時候完全看不見,我只覺得工作起來莫名其妙地卡。
我現在看得見了,但我還是解不了。
那一週能給的只有解釋。而解釋至少會讓你少怪自己一點。
明天見。