0:00:00.000,0:00:02.516 每天有許多人登陸維護Firefox 0:00:02.516,0:00:07.170 如果你更改了程式碼,就有可能會產生bug 0:00:07.170,0:00:11.016 為減少來自其他開發者的干擾,每次做出修正時 0:00:11.016,0:00:13.737 會產生在支援的作業系統 0:00:13.737,0:00:16.069 一系列的測試也會在每個系統中執行 0:00:16.069,0:00:19.850 網址: tbpl.mozilla.org 0:00:19.850,0:00:21.850 這代表tinderboxpushlog 0:00:21.850,0:00:24.766 這裡我們可以看到被更改的的部分 0:00:24.766,0:00:31.849 我把它在另一個分頁打開,可以看到有兩個檔案被更改了 0:00:31.849,0:00:34.805 但測試仍在所有作業系統執行中 0:00:34.805,0:00:40.168 在這欄顯示了在執行測試的各個系統 0:00:40.168,0:00:43.804 對應每個作業系統,它也提供除錯及釋出的功能 0:00:43.804,0:00:58.707 它們包含Linux (有些是32位元,有些是64位元) 、OSX、各種版本的Windows、Android、Boot2Gecko、甚至Boot2Gecko模擬器 0:00:58.707,0:01:05.604 在每個作業系統的右邊都可以看到一系列的測試 0:01:05.604,0:01:11.405 這些由字母或數字組成的圖標是執行測試的分類 0:01:11.405,0:01:14.671 你可以看到它們在下面重複出現 0:01:14.671,0:01:17.458 這裡又重複出現了 0:01:17.458,0:01:21.041 他會會在每一個作業系統重複出現 0:01:21.041,0:01:25.169 接下來我要帶過每個測試的分類 0:01:25.169,0:01:28.125 這裡的B代表建立 0:01:28.125,0:01:30.125 以及一些編譯後的測試 0:01:30.125,0:01:32.170 這裡的M代表Mochitest 0:01:32.170,0:01:34.171 Mochitest 是一種 JavaScript 的測試 0:01:34.171,0:01:41.541 1,2,3,4,5 代表mochitest-plain ,是HTML 的內容測試 0:01:41.541,0:01:43.291 這會測試一些 DOM API 的型態 0:01:43.291,0:01:45.271 bc代表chrome瀏覽器的測試 0:01:45.271,0:01:49.304 基本上這會測試chrome瀏覽器如何與本身及其內容互動 0:01:49.304,0:01:57.528 當你需要比起一般內容頁更高層的許可,你就會用到 mochitest 0:01:57.528,0:02:00.804 接下來, C 代表系統崩潰測試 0:02:00.804,0:02:05.303 這僅是載入一個網頁,然後檢查瀏覽器是否會崩潰 0:02:05.303,0:02:09.470 再來是 J ,我不會一一講解這些,只會提比較重要的 0:02:09.470,0:02:13.070 J 基本上是測試整個 JavaScript 引擎 0:02:13.070,0:02:17.838 R 代表 reftest ,基本上是用來比較兩個頁面 0:02:17.838,0:02:20.638 它會以像素為單位來比較,檢查是否有不同 0:02:20.638,0:02:26.256 你可以比較兩個不同的標記,或是兩個不同的圖片格式 0:02:26.256,0:02:29.755 這裡的 X 是個常用的測試,用來測試 xpcshell 0:02:29.755,0:02:32.090 基本上就是 JavaScript 殼層測試 0:02:32.090,0:02:35.138 當你不需要有視窗時,這會非常有用 0:02:35.138,0:02:39.470 你可能想測試一些零件,像是 XPCOM 物件 0:02:39.470,0:02:44.090 這整部分的測試就在 T 後面的括號裡 0:02:44.090,0:02:47.038 叫做 Talos 測試 0:02:47.038,0:02:48.637 它是與表現相關的測試 0:02:48.637,0:02:51.737 這裡的 JP 代表 Jet Pack 測試 0:02:51.737,0:02:53.339 用來測試外掛元件 0:02:53.339,0:02:56.339 你會發現下面幾行 0:02:56.339,0:02:59.256 例如 Windows 8 0:02:59.256,0:03:03.423 你會看到這裡有 mc ,但其他行都沒有 0:03:03.423,0:03:06.970 所以有時候一整類的測試,只會出現在一個作業系統上 0:03:06.970,0:03:11.172 這個例子裡它代表 metro chrome 的測試 0:03:11.172,0:03:13.339 用來測試 Metro 瀏覽器 0:03:13.339,0:03:16.371 你會發現每個測試都有顏色 0:03:16.371,0:03:18.304 你也可以點擊進入任何一個 0:03:18.304,0:03:20.005 例如我點進 B 0:03:20.005,0:03:22.589 就可以看到與它相關的記錄 0:03:22.589,0:03:24.423 這裡我再點 1 0:03:24.423,0:03:26.869 可以看到另一個記錄 0:03:26.869,0:03:30.305 綠色代表所有事情都順利完成 0:03:30.305,0:03:34.370 藍色代表由於基礎設備的問題,測試將要重新執行 0:03:34.370,0:03:37.091 橘色代表測試失敗 0:03:37.091,0:03:40.589 有時候測試失敗是有正當的理由,不代表有bug 0:03:40.589,0:03:43.038 可能只是有一些間歇性的故障 0:03:43.038,0:03:46.423 這裡可以看到故障在哪裡 0:03:46.423,0:03:49.400 這裡的訊息顯示bug已被覆蓋 0:03:49.400,0:03:51.938 有人已經標記了它 0:03:51.938,0:03:54.771 如果你不確定結果,可以點進測試 0:03:54.771,0:03:57.103 你可以點一下這裡的小 + 號 0:03:57.103,0:03:58.670 這個程序就會再次運行 0:03:58.670,0:03:59.897 並在旁邊出現 0:03:59.897,0:04:01.204 然後這裡會有兩個標記 0:04:01.204,0:04:02.896 以上就是我要展示的內容 0:04:02.896,0:04:05.564 我想展示的就是,每當你做出修改,都會承擔一些義務 0:04:05.564,0:04:08.415 所有的測試都會在每個系統中執行