2013 年 GTAC:第 1 天簡報

開場白

Tony Voellm (Google)

開場主題演講 - 從品質確保到測試工程的演進

Ari Shamash (Google)

你成功建構了應用程式。您發現自己有可能實現目標、累積一些資金、獲得部分資金,然後全程投入資金,然後從頭開始做到「做到最好」。然而,對新功能的要求已然相當長,現在,我們要求您針對前所未有的速度提供前所未有的規模。哎呀!接下來可以怎麼做?

你不能從頭開始,從頭到尾不斷演進,只需逐步改善現有的內容,同時繼續以驚人的速度新增高品質功能。此外,您也必須確保現有工具不會中斷。您該怎麼做?幸好,軟體工程產業中的新欄位形成了這種常見的情況:Google 將這項測試稱為「測試工程」。

這場講座的重點在於什麼是測試工程、品質查驗如何發展,以及整個產業如何實作測試工程 (並參考 Google 實作的具體範例)。

大規模測試系統 @Twitter

James Waldrop (Twitter)

James 會討論要在 Twitter 進行成效測試的工具、流程和理念。具體重點放在 Iago 開放原始碼測試測試庫中,而該程式庫編寫了 Twitter 工程團隊,以便 Twitter 的工程小組在執行程式碼部署作業之前,先執行負載測試。本講座將深入探討其中一些測試 (包括原始碼) 的實作細節,以及如何管理 OAuth 和任意 Thrift 通訊協定等複雜因素。

如何測試行動作業系統?

David Burns (Mozilla) 和 Malini Das (Mozilla)

我們決定在 macOS 領域邁向 Firefox 時,面臨這個問題。該從哪裡著手,以及您該怎麼做才是有趣的事情。歡迎聽聽看我們如何解決這項問題,以及我們如何建立新的架構。

持續推送軟體更新管道中的行動裝置自動化功能

Igor Dorovskikh (Expedia) 與 Kaustubh Gawande (Expedia)

Expedia 從 2012 年初開始投資行動版網站和 iOS/Android 應用程式。同時,Test Engineers 也開始開發測試自動化解決方案,從一開始就為產品打造品質和測試能力。這場講座將分享我們如何利用開放原始碼工具,在 Expedia 的「敏捷開發」和「持續推送軟體更新」環境中打造自動化測試。我們會介紹 Test Pyramid,並詳細說明哪些開放原始碼工具對我們來說很有效。我們使用的開放原始碼工具包括 CDDcumber、網路自動化工具 Selenium-WebDriver、iOS 自動化工具 Frank、Android 自動化工具 Robotium 和 Calabash,以及持續整合系統 Jenkins 等 BDD 工具。此外,我們會說明一些我們採用的 Agile 交付原則,例如 TDD、Pair 程式設計、建構和測試輻射器。最後,我們將與 Agile 和測試自動化方面的投資分享,並說明我們如何達成我們的持續推送軟體更新目標。

使用 GStreamer 和 OpenCV 進行自動機上盒測試

David Röthlisberger (YouView)

我們會使用 GStreamer 的命令列工具和 OpenCV 在 3 分鐘內建立影片擷取系統。(GStreamer 是一種開放原始碼媒體處理架構;OpenCV (「Open Computer Vision」(開放電腦視覺) 是一種開放原始碼圖片處理程式庫)。

這類系統的主要範例是 http://stb-tester.com,這是 YouView 開發的開放原始碼工具,可自動測試機上盒的 UI 測試。我們將說明 stb-tester、GStreamer 提供的彈性、其可能發展的可能性,以及未來面臨的挑戰。

Chrome 專用 Webdriver

Ken Kania (Google)

Chrome 一開始是採用 Windows 專屬瀏覽器,如今已拓展至 Mac、Linux、Chrome OS,以及最新的 Android 和 iOS 版本。在這些平台上,網路應用程式的使用者測試並不容易,因此需要各種自動化做法。本講座將說明 Chrome 小組如何在所有平台上提供 Chrome 專用的 WebDriver 相關工作。這項做法將介紹基礎做法,但會著重於開發人員該如何利用新版 ChromeDriver 為 Chrome 的各種平台撰寫測試。此外,我們也會涵蓋專案的目前狀態和未來發展藍圖。

Karma - JavaScript 測試執行者

Vojta Jina (Google)

Karma 簡介 - 測試執行工具,讓您在實際瀏覽器中測試 JavaScript 應用程式,過程順暢又愉快。

如果開發人員必須建立適用於多種瀏覽器和裝置的 JavaScript 應用程式,就不一定要測試。不過,要在這些各種環境中執行測試並不容易。Karma 經常把這項令人苦惱的任務變成一片蛋糕。可讓您在舒適的瀏覽器或裝置上 (例如手機或平板電腦) 直接執行 JavaScript 測試。

自動化影片品質評估

Patrik Höglund (Google)

可以,您可以自動測試複雜的主觀評估,例如影片畫質!這場講座說明我們如何針對 WebRTC 視訊通話打造持續的自動化端對端測試。我們將探討工具鍊的概要,以及建構工具時遇到的挑戰。想看看如何進一步提升媒體測試成效嗎?

不好事發生在好事時...

Minal Mishra (Netflix)

隨著行動和平板電腦運算的蓬勃發展,軟體產業也採用了應用程式開發平台。在運算平台上開發消費者應用程式,能讓使用者享有神奇的體驗。消費性軟體公司在開發這些平台的應用程式時,會不斷追求最佳方向。不過,在公司推出第一版應用程式後,才是開發應用程式最大的挑戰。消費者和軟體公司都希望能夠快速開發最新的功能與功能。這會導致堆疊中每一層維持相同的程式碼流失。我們的 UI 自動化工程師會建構各種偵測系統,以更快偵測應用程式問題。在這場演講中,我會分享一些在偵測系統中面臨的挑戰和成功,協助發現應用程式層外的問題,但仍對使用者體驗造成負面影響。

教育遊戲和教育遊戲測試

Tao Xie (北卡羅來納州立大學)

這場講座介紹了 Pex4Fun (http://www.pexforfun.com/),利用自動化測試產生功能,以支援線上程式設計系統的自動評分,可擴充至數十萬使用者。在課堂外提供以程式設計為主的遊戲體驗,並訓練使用者學習各種程式設計和軟體工程技能,包括撰寫參數化單元測試等測試技巧。Pex4Fun 對評分評分的已知問題有重大貢獻,同時也根據互動式遊戲提供有趣的學習體驗。Pex4Fun 在社群中備受矚目:自 2010 年 6 月正式發布以來,「發問!」按鈕的點擊次數 (代表使用者嘗試在 Pex4Fun 中解決遊戲問題) 已累積超過 100 萬筆。

主題演講 - Facebook 如何在 Android 裝置上測試 Facebook

Simon Stewart (Facebook)

Facebook 是最熱門的 Android 應用程式之一。在這場對話中,您將找到 Facebook 的運作原理,確保每個版本都能有良好的效能。我們將說明程式碼的管理方式、測試方法,以及 Dogfood 測試。