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