每天有許多人登陸維護Firefox
如果你更改了程式碼,就有可能會產生bug
為減少來自其他開發者的干擾,每次做出修正時
會產生在支援的作業系統
一系列的測試也會在每個系統中執行
網址: tbpl.mozilla.org
這代表tinderboxpushlog
這裡我們可以看到被更改的的部分
我把它在另一個分頁打開,可以看到有兩個檔案被更改了
但測試仍在所有作業系統執行中
在這欄顯示了在執行測試的各個系統
對應每個作業系統,它也提供除錯及釋出的功能
它們包含Linux (有些是32位元,有些是64位元) 、OSX、各種版本的Windows、Android、Boot2Gecko、甚至Boot2Gecko模擬器
在每個作業系統的右邊都可以看到一系列的測試
這些由字母或數字組成的圖標是執行測試的分類
你可以看到它們在下面重複出現
這裡又重複出現了
他會會在每一個作業系統重複出現
接下來我要帶過每個測試的分類
這裡的B代表建立
以及一些編譯後的測試
這裡的M代表Mochitest
Mochitest 是一種 JavaScript 的測試
1,2,3,4,5 代表mochitest-plain ,是HTML 的內容測試
這會測試一些 DOM API 的型態
bc代表chrome瀏覽器的測試
基本上這會測試chrome瀏覽器如何與本身及其內容互動
當你需要比起一般內容頁更高層的許可,你就會用到 mochitest
接下來, C 代表系統崩潰測試
這僅是載入一個網頁,然後檢查瀏覽器是否會崩潰
再來是 J ,我不會一一講解這些,只會提比較重要的
J 基本上是測試整個 JavaScript 引擎
R 代表 reftest ,基本上是用來比較兩個頁面
它會以像素為單位來比較,檢查是否有不同
你可以比較兩個不同的標記,或是兩個不同的圖片格式
這裡的 X 是個常用的測試,用來測試 xpcshell
基本上就是 JavaScript 殼層測試
當你不需要有視窗時,這會非常有用
你可能想測試一些零件,像是 XPCOM 物件
這整部分的測試就在 T 後面的括號裡
叫做 Talos 測試
它是與表現相關的測試
這裡的 JP 代表 Jet Pack 測試
用來測試外掛元件
你會發現下面幾行
例如 Windows 8
你會看到這裡有 mc ,但其他行都沒有
所以有時候一整類的測試,只會出現在一個作業系統上
這個例子裡它代表 metro chrome 的測試
用來測試 Metro 瀏覽器
你會發現每個測試都有顏色
你也可以點擊進入任何一個
例如我點進 B
就可以看到與它相關的記錄
這裡我再點 1
可以看到另一個記錄
綠色代表所有事情都順利完成
藍色代表由於基礎設備的問題,測試將要重新執行
橘色代表測試失敗
有時候測試失敗是有正當的理由,不代表有bug
可能只是有一些間歇性的故障
這裡可以看到故障在哪裡
這裡的訊息顯示bug已被覆蓋
有人已經標記了它
如果你不確定結果,可以點進測試
你可以點一下這裡的小 + 號
這個程序就會再次運行
並在旁邊出現
然後這裡會有兩個標記
以上就是我要展示的內容
我想展示的就是,每當你做出修改,都會承擔一些義務
所有的測試都會在每個系統中執行