Return to Video

Introduction to the automated tests that run on each push

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

Firefox 開發指導者展示不同的自動測試
http://codefirefox.com

more » « less
Video Language:
Efik
Duration:
04:09

Chinese, Traditional subtitles

Revisions