GTAC 2013:演示第 1 天

开场白

Tony Voellm (Google)

开场主旨演讲 - 从质量保证到测试工程的演变

Ari Shamash (Google)

您构建了一个应用。您以为自己会完成这些任务,积累一些资金,获得一些资金,把这些东西全部拿出,然后从头开始,这样才能“行得通”。然而,人们对新功能的需求空前高涨,因此,现在您需要以前所未有的速度推动规模效应。呀!该怎么办?

您不能抛开一切,从头开始,只需改进现有的内容,同时继续以惊人的速度添加高品质功能。此外,您还需要确保现有内容不会中断。具体做法幸运的是,在软件工程行业中正在形成一个新领域,以解决这一常见场景:在 Google,我们称之为“测试工程”。

本次演讲将重点介绍测试工程的定义、质量保证流程的演变历程,以及整个行业如何实施测试工程(并举例说明该工程在 Google 中是如何实施的)。

大规模测试系统 @Twitter

James Waldrop (Twitter)

James 将讨论 Twitter 上的性能测试所用的工具、流程和理念。他将特别关注 Iago 开源负载测试库,他编写的这个库可让 Twitter 的工程团队在将代码部署到生产环境之前执行负载测试。本演讲将深入探讨其中一些测试的实现细节(包括源代码),以及如何管理 OAuth 和任意 Thrift 协议等复杂因素。

如何测试移动操作系统?

David Burns (Mozilla) 和 Malini Das (Mozilla)

这正是 Mozilla 决定进军 FirefoxOS 世界时所面临的问题。从哪里开始,怎样做就证明这是一个有趣的任务。欢迎聆听我们如何解决此问题以及我们如何创建新框架。

持续交付流水线中的移动自动化

Igor Dorovskikh(Expedia)和 Kaustubh Gawande(Expedia)

2012 年初,Expedia 开始投资移动网络和 iOS/Android 应用。同时,测试工程师从一开始就开发了测试自动化解决方案,以便在产品中纳入质量和可测试性。在本次演讲中,我们将分享在 Expedia 敏捷开发和持续交付环境中利用开源工具构建自动化测试的经验和经验。我们将介绍测试金字塔,并详细介绍那些效果很好的具体开源工具。我们使用的一些开源工具包括 BDD 工具,例如 Cucumber、网络自动化工具 Selenium-WebDriver、iOS 自动化工具 Frank、Android 自动化工具 Robotium 和 Calabash 以及持续集成系统 Jenkins。此外,我们还将介绍我们尝试采用的一些敏捷交付原则,例如 TDD、配对编程、构建和测试辐射器。最后,我们将介绍我们在敏捷性测试和测试自动化方面的一些优势,以及它们如何帮助我们实现持续交付目标。

使用 GStreamer 和 OpenCV 自动执行机顶盒测试

David Röthlisberger (YouView)

我们将使用 GStreamer 的命令行工具和 OpenCV,在 3 分钟内构建视频捕获图像识别系统。(GStreamer 是一个开源媒体处理框架;OpenCV -“Open Computer Vision” - 是一个开源图像处理库。)

http://stb-tester.com 是此类系统的领先示例,这是一款在 YouView 开发的开源工具,可自动对机顶盒进行界面测试。我们将介绍 stb-tester、其 GStreamer 基础的灵活性、其带来的一些可能性以及未来的挑战。

适用于 Chrome 的 Webdriver

Ken Kania (Google)

从一开始仅支持 Windows 的浏览器开始,Chrome 便扩展到了 Mac、Linux、ChromeOS,最近又扩展到了 Android 和 iOS。对这些平台中的 Web 应用进行用户级测试非常困难,因此必须使用各种自动化方法。本演讲将介绍 Chrome 团队为使 Chrome 在所有平台上都能使用 WebDriver 所做的努力。其中包括对基础方法的技术分析,但会侧重于开发者如何使用新的 ChromeDriver 为 Chrome 的各种平台编写测试。此外,还将介绍项目的当前状态以及未来路线图。

Karma - JavaScript 测试运行程序

Vojta Jina (Google)

Karma 简介 - 测试运行程序,可让您在真实浏览器中顺畅无阻地测试 JavaScript 应用。

如果所构建的 JavaScript 应用必须能在多种浏览器和设备上运行,则测试并非可选项。但是,在所有这些不同的环境中执行测试并非易事。Karma 将这一艰巨的任务变成了一项艰巨的任务。它支持您在真实的浏览器或设备(如手机或平板电脑)中直接执行付款终端操作或喜爱的 IDE 来执行 JavaScript 测试。

自动视频质量衡量

Patrik Höglund(Google)

可以,我们会自动测试视频质量等复杂的主观测量值!本演讲将介绍我们如何针对 WebRTC 视频通话构建连续的自动化端到端测试。我们将概括介绍一下该工具链,以及我们在构建该工具链时遇到的挑战。如果您想获得有关如何让媒体测试更上一层楼的灵感,那么这种策略是理想之选。

糟糕的应用发生坏事时...

Minal Mishra (Netflix)

移动设备和平板电脑计算的蓬勃发展推动了软件行业的应用开发平台开拓。在计算平台上开发消费者应用对最终用户来说,有他们自己魔术般的体验。面向消费者的软件公司在针对这些平台开发应用时,都会尽力展现出最佳的一面。然而,只有在应用推出第一个版本后,应用开发的最大挑战才会开始。消费者和软件公司希望尽快以最高质量的方式开发的最新功能。这就导致了堆栈的每个层都可能出现不稳定的代码流失。作为界面自动化工程师,我们构建了各种检测系统,以便尽早发现应用问题。在本演讲中,我将分享在这种检测系统下所面临的一些挑战和成功经历,这些发现有助于在应用层之外发现问题,但仍然会对用户体验产生负面影响。

教育游戏测试和教育游戏测试

Tao Xie(北卡罗来纳州立大学)

本次演讲将介绍 Pex4Fun (http://www.pexforfun.com/),该网站利用自动化测试生成功能,支持可扩容到数十万用户的在线编程系统中的自动评分系统。它在课堂之外提供以编程为导向的游戏体验,可教用户学习各种编程和软件工程技能,包括编写参数化单元测试等测试技能。Pex4Fun 对作业评分的已知问题做出了重大贡献,还提供了基于互动游戏的趣味学习体验。Pex4Fun 在社区越来越受欢迎:自 2010 年 6 月公开发布以来,“Ask Pex!”按钮(这表明用户尝试解决 Pex4Fun 上的游戏)的点击次数已自 2013 年初以来超过 100 万次。

结束语 - Facebook 在 Android 上测试 Facebook 的方式

Simon Stewart (Facebook)

Facebook 是最受欢迎的 Android 应用之一。在此演讲中,您将了解到 Facebook 如何确保每个版本都尽可能出色。从代码的管理方式、测试方法一直到 Dogfood 测试,内容无所不包。