1 00:00:00,000 --> 00:00:02,516 每天有許多人登陸維護Firefox 2 00:00:02,516 --> 00:00:07,170 如果你更改了程式碼,就有可能會產生bug 3 00:00:07,170 --> 00:00:11,016 為減少來自其他開發者的干擾,每次做出修正時 4 00:00:11,016 --> 00:00:13,737 會產生在支援的作業系統 5 00:00:13,737 --> 00:00:16,069 一系列的測試也會在每個系統中執行 6 00:00:16,069 --> 00:00:19,850 網址: tbpl.mozilla.org 7 00:00:19,850 --> 00:00:21,850 這代表tinderboxpushlog 8 00:00:21,850 --> 00:00:24,766 這裡我們可以看到被更改的的部分 9 00:00:24,766 --> 00:00:31,849 我把它在另一個分頁打開,可以看到有兩個檔案被更改了 10 00:00:31,849 --> 00:00:34,805 但測試仍在所有作業系統執行中 11 00:00:34,805 --> 00:00:40,168 在這欄顯示了在執行測試的各個系統 12 00:00:40,168 --> 00:00:43,804 對應每個作業系統,它也提供除錯及釋出的功能 13 00:00:43,804 --> 00:00:58,707 它們包含Linux (有些是32位元,有些是64位元) 、OSX、各種版本的Windows、Android、Boot2Gecko、甚至Boot2Gecko模擬器 14 00:00:58,707 --> 00:01:05,604 在每個作業系統的右邊都可以看到一系列的測試 15 00:01:05,604 --> 00:01:11,405 這些由字母或數字組成的圖標是執行測試的分類 16 00:01:11,405 --> 00:01:14,671 你可以看到它們在下面重複出現 17 00:01:14,671 --> 00:01:17,458 這裡又重複出現了 18 00:01:17,458 --> 00:01:21,041 他會會在每一個作業系統重複出現 19 00:01:21,041 --> 00:01:25,169 接下來我要帶過每個測試的分類 20 00:01:25,169 --> 00:01:28,125 這裡的B代表建立 21 00:01:28,125 --> 00:01:30,125 以及一些編譯後的測試 22 00:01:30,125 --> 00:01:32,170 這裡的M代表Mochitest 23 00:01:32,170 --> 00:01:34,171 Mochitest 是一種 JavaScript 的測試 24 00:01:34,171 --> 00:01:41,541 1,2,3,4,5 代表mochitest-plain ,是HTML 的內容測試 25 00:01:41,541 --> 00:01:43,291 這會測試一些 DOM API 的型態 26 00:01:43,291 --> 00:01:45,271 bc代表chrome瀏覽器的測試 27 00:01:45,271 --> 00:01:49,304 基本上這會測試chrome瀏覽器如何與本身及其內容互動 28 00:01:49,304 --> 00:01:57,528 當你需要比起一般內容頁更高層的許可,你就會用到 mochitest 29 00:01:57,528 --> 00:02:00,804 接下來, C 代表系統崩潰測試 30 00:02:00,804 --> 00:02:05,303 這僅是載入一個網頁,然後檢查瀏覽器是否會崩潰 31 00:02:05,303 --> 00:02:09,470 再來是 J ,我不會一一講解這些,只會提比較重要的 32 00:02:09,470 --> 00:02:13,070 J 基本上是測試整個 JavaScript 引擎 33 00:02:13,070 --> 00:02:17,838 R 代表 reftest ,基本上是用來比較兩個頁面 34 00:02:17,838 --> 00:02:20,638 它會以像素為單位來比較,檢查是否有不同 35 00:02:20,638 --> 00:02:26,256 你可以比較兩個不同的標記,或是兩個不同的圖片格式 36 00:02:26,256 --> 00:02:29,755 這裡的 X 是個常用的測試,用來測試 xpcshell 37 00:02:29,755 --> 00:02:32,090 基本上就是 JavaScript 殼層測試 38 00:02:32,090 --> 00:02:35,138 當你不需要有視窗時,這會非常有用 39 00:02:35,138 --> 00:02:39,470 你可能想測試一些零件,像是 XPCOM 物件 40 00:02:39,470 --> 00:02:44,090 這整部分的測試就在 T 後面的括號裡 41 00:02:44,090 --> 00:02:47,038 叫做 Talos 測試 42 00:02:47,038 --> 00:02:48,637 它是與表現相關的測試 43 00:02:48,637 --> 00:02:51,737 這裡的 JP 代表 Jet Pack 測試 44 00:02:51,737 --> 00:02:53,339 用來測試外掛元件 45 00:02:53,339 --> 00:02:56,339 你會發現下面幾行 46 00:02:56,339 --> 00:02:59,256 例如 Windows 8 47 00:02:59,256 --> 00:03:03,423 你會看到這裡有 mc ,但其他行都沒有 48 00:03:03,423 --> 00:03:06,970 所以有時候一整類的測試,只會出現在一個作業系統上 49 00:03:06,970 --> 00:03:11,172 這個例子裡它代表 metro chrome 的測試 50 00:03:11,172 --> 00:03:13,339 用來測試 Metro 瀏覽器 51 00:03:13,339 --> 00:03:16,371 你會發現每個測試都有顏色 52 00:03:16,371 --> 00:03:18,304 你也可以點擊進入任何一個 53 00:03:18,304 --> 00:03:20,005 例如我點進 B 54 00:03:20,005 --> 00:03:22,589 就可以看到與它相關的記錄 55 00:03:22,589 --> 00:03:24,423 這裡我再點 1 56 00:03:24,423 --> 00:03:26,869 可以看到另一個記錄 57 00:03:26,869 --> 00:03:30,305 綠色代表所有事情都順利完成 58 00:03:30,305 --> 00:03:34,370 藍色代表由於基礎設備的問題,測試將要重新執行 59 00:03:34,370 --> 00:03:37,091 橘色代表測試失敗 60 00:03:37,091 --> 00:03:40,589 有時候測試失敗是有正當的理由,不代表有bug 61 00:03:40,589 --> 00:03:43,038 可能只是有一些間歇性的故障 62 00:03:43,038 --> 00:03:46,423 這裡可以看到故障在哪裡 63 00:03:46,423 --> 00:03:49,400 這裡的訊息顯示bug已被覆蓋 64 00:03:49,400 --> 00:03:51,938 有人已經標記了它 65 00:03:51,938 --> 00:03:54,771 如果你不確定結果,可以點進測試 66 00:03:54,771 --> 00:03:57,103 你可以點一下這裡的小 + 號 67 00:03:57,103 --> 00:03:58,670 這個程序就會再次運行 68 00:03:58,670 --> 00:03:59,897 並在旁邊出現 69 00:03:59,897 --> 00:04:01,204 然後這裡會有兩個標記 70 00:04:01,204 --> 00:04:02,896 以上就是我要展示的內容 71 00:04:02,896 --> 00:04:05,564 我想展示的就是,每當你做出修改,都會承擔一些義務 72 00:04:05,564 --> 00:04:08,415 所有的測試都會在每個系統中執行