2016 年 GTAC:演示文稿

开场白

Matt Lowrie(Google)

商业和工程生产力的演变

Manasi Joshi (Google)

链接:视频幻灯片

在此主旨演讲中,我们致力让所有人都参与整个历程,了解 Google 如何提升工程效率,并帮助 Google 实现快速发展、保持稳定以及通过开发/发布/监控流程充满信心,从而实现业务增长。 此外,我们还暗化了我们目前面临的一些挑战,以及 Google 正在经历的互联互通的产品类别中的跨平台测试新视野。

自动化远程信息处理机器人驾驶

Tanya Jenkins(悬臂咨询)

链接:视频幻灯片

测试远程信息设备的驾驶界面颇具挑战性。它在现实世界中运行,可与用户和对象进行交互,但必须在受控环境中进行测试。如何在看不见的同时打造真实的远程驾驶环境,同时验证设备的位置和位置?我会展示一个创新的解决方案。

钱包里有什么?

Hima Mandali(大写字母 1)

链接:视频幻灯片

Capital One 是美国最大的信用卡公司之一,拥有超过 7000 万个帐号。 Capital One 致力于打造大量酷炫产品,为客户提供卓越的数字体验。随着移动设备成为客户首选的渠道,本次讲座将重点介绍我们如何解决移动 Web 应用的测试自动化问题,以及我们如何才能更快地进入软件交付流水线。我们还将分享我们使用的开源工具和为解决相应问题而构建的开源信息中心。

使用测试运行自动化统计信息来预测要运行的测试

Boris Prikhodky (Unity Technologies)

链接:视频幻灯片

测试已成为应用开发流程的重要部分,但当救护员成为日常生活的瓶颈时该怎么做。在本视频中,我们将分享在等待测试配置运行 3-6 小时时的使用体验。这场讲座介绍了简单而又强大的方法,节省了在构建和测试农场运行频繁测试的宝贵时间。 此外还介绍了改进流程的可能方式。

基于 Windows 和 Windows Phone 的 Seronium 测试自动化

Nikolai Abalov (2gis)

链接:视频幻灯片

可用来测试 Web 应用的自动化程度。iOS 版和 Android 版移动应用都有 Appium。但对于 Windows 桌面和 Windows 手机/手机,我们必须开发自己的基于 Selenium 的解决方案。因此,Winium 创办了。Winium 用于测试 Windows 桌面和 Windows Phone/移动应用的自动化测试解决方案。Winium 基于 Selenium,因此如果您已了解 Selenium 或 Appium,那么应该可以相对轻松地开始使用它来满足自动化需求,也可以将其集成到您现有的 Seniium 基础架构中。在这场讲座中,我将介绍 Winium 撰写的项目,演示 Winium.Desktop 和 Winium.Mobile 的实际应用。

测试的侧面

Brian Vanpee(Google)

链接:视频幻灯片

并非所有 bug 都是一样的。有时,我们会因为自己所用的编程语言而出现一些怪异行为,归根结底,即使是最优秀的程序员和测试人员,也会因此发现这些问题。欢迎观看我们的视频,了解我们日常使用的众多测试语言中的精选部分,看看测试中有哪些新奇之处。最后,我们将用 C、Java、Objective-C、PHP 等大家熟知的一系列奇怪的例子 - JavaScript 来让您尝试猜测这些怪异之处。

用于设置移动测试环境的机器学习算法

Rajkumar Bhojan(Wi-Fi 技术)

链接:视频幻灯片

随着移动计算技术的快速发展,对移动应用进行移动应用测试有极大的需求。移动设备管理在移动应用测试中发挥着至关重要的作用,了解移动设备管理方面的挑战对解决此类问题至关重要。为了避免特定于设备的问题,测试自动化开发者必须在大量设备上测试其应用,成本高昂且效率低下。在本演讲中,我们将介绍机器学习算法如何识别一组正确的设备,以设置移动测试环境。

“你能听到我说话吗?”- 音频质量测试

Alexander BrauckmanDan Hislop (Citrix)

链接:视频幻灯片

IATF:一种新的自动化跨平台和多设备 API 测试框架

Yanbin Zhang (Intel)

链接:视频幻灯片

为了简化 WebRTC 技术的采用并广泛推广或开发新应用,Intel 开发了适用于 WebRTC 的端到端 WebRTC 解决方案(Intel® Collaboration Suite)。目前,Intel 已经在全球建立了一个适用于 WebRTC 的 Intel® Collaboration Suite 生态系统。 合作涉及各个领域,包括教育、医疗、行业云、社交媒体在线广播、视频会议和穿戴式设备等。支持 SDK API 的平台数量迅速增长,这使得跨平台兼容性和集成测试工作呈爆炸式增长。如何自动测试不同 SDK 上各种 SDK 的互操作性已成为一个大问题。在本演讲中,我们将介绍自动跨平台和多设备 API 测试框架-IATF。它适用于任何需要跨不同平台进行通信的跨平台和多设备 SDK 测试。

在软件测试中使用正式概念分析

Fedor Strok (Yandex/NRU HSE)

链接:视频幻灯片

正式的概念分析为我们提供了工具集,用于基于说明(以一组特性)表示一组对象构建正式本体。这个代数理论分支于 1984 年引入,现在应用于多种数据挖掘任务。这场讲座重点介绍了对软件测试特别有价值的技术:使用正式本体来方便测试报告以及半自动测试用例派生。

如何在持续集成环境中测试不稳定的测试:Google 的当前做法和未来方向

John Micco (Google)

Atif Memon(马里兰大学帕克分校)

链接:视频幻灯片

Google 在我们庞大的持续集成系统中不断进行大量测试。查看这些数据后,我们发现不稳定的测试会导致我们在几个不同的维度上造成大量浪费。我们正在努力提高对问题的影响,检测并缓解系统内在的不稳定性问题。

全套开发者体验!

Niranjan Tulpule (Google)

链接:视频幻灯片

基于 Docker 的地理分布测试场 - Intel Android 计划中的测试基础架构练习

Jerry Yu (Intel) 和 Guobing Chen (Intel)

链接:视频幻灯片

OpenHTF - 开源硬件测试框架

Joe Ethier (Google) 和 John Hawley(Google)

链接:视频幻灯片

使用定向测试生成循环检测低效环节

Monika Dhok(印度科学院)

链接:视频幻灯片

在许多 Java 库中,冗余遍历被识别为性能 bug 的来源。 因此,我们设计了静态和动态分析技术,以便自动检测这些性能 bug。不过,动态分析的效果取决于分析的输入测试,因此静态分析在自动验证是否存在这些问题、验证修正情况以及避免在未来版本中发生回归的效率较低。我们提出了一种自动生成测试的新方法,以检测 Java 库中的循环效率低下的情况。本次演讲将简要介绍这项工作。

速度需求 - 将自动化测试时间从 3 小时加速到 3 分钟

Emanuil Slavov (Komfo Inc)

链接:视频幻灯片

在当今快速节奏、首个标记的环境中,所有高级别的自动化测试都是缓慢的。这是大家都在忽略的一头大象。这是有充分理由的。实现快速、可靠且有用的自动化测试并不容易。但别无选择,自动测试速度较慢,就是在让客户浪费无聊的体验。Komfo 上的测试每晚持续 3 小时以上。执行时间一直不受限制,这些测试会作为一种反馈循环,变得不稳定且无法使用。有时,测试连续失败超过 20 天。回归 bug 开始出现正式版。经过我们的努力和付出,经过了相当长的努力和投入,我们决定停止这种狂行为,目前相同的测试只用了不到 3 分钟时间。以上就是我们的持续改进案例,说明了我们如何让测试速度提升 60 倍。

“代码覆盖率”是衡量测试套件现实世界效果的重要指标

拉赫尔·戈皮纳斯(俄勒冈州立大学)

链接:视频幻灯片

ClusterRunner:通过横向扩缩轻松实现快速测试反馈

Taejun Lee (Box Inc) 和 Joseph Harrington (Box Inc)

链接:视频幻灯片

Box 会针对每次提交运行大约 30 小时的单元测试和集成测试。我们使用开源测试分发平台 ClusterRunner 在 17 分钟内并行运行这两个测试。Box 为什么有这么多测试?ClusterRunner 如何工作?为您自己的测试设置 ClusterRunner 是否容易?(剧透:是。) ClusterRunner 可在单个主机上并行测试,也可在多个主机上分发,因此您可以超快地提供测试反馈。我们由 Box 的生产力工程团队开发了内部使用 ClusterRunner,在 17 分钟内运行一系列超过 30 小时的线性测试,而且每天会执行数百次这样的测试。ClusterRunner 是与开源无关的语言,因此您可以轻松地将其用于您自己的项目。我们打造的 ClusterRunner 适用于难以应对长期测试反馈延迟或代码测试不足的工程团队。它自下而上设计为易于使用,并且可以与您现有的 CI 系统集成。它会了解您的测试需要多长时间运行,并相应地安排未来的运行时间,以尽快提供反馈。其组件通过友好的 REST API 进行通信,因此既易于访问,又可扩展。

使用多种移动设备和服务进行集成测试

Alexander Dorokhine (Google) 和 Ang Li (Google)

链接:视频幻灯片

Mobly 是一个由 Google 开发的开源框架,用于测试需要在多部设备(例如社交应用)之间进行交互的产品,或需要控制测试环境(例如 Wi-Fi 连接)的测试。我们将讨论多设备测试与单设备测试的区别及其独特问题,例如多台设备之间的同步和代码流,以及 Mobly 如何解决它们。

Scale 与 Value:BBC 测试自动化

Jitesh Gosai (BBC) 和 David Buckhurst (BBC)

链接:视频幻灯片

我们构建了内部开源设备云,以扩展对移动应用和电视应用的测试,但很快就发展成为一个怪物,它迫使我们重新考虑我们的自动化方法,并在规模和价值之间找到适当的平衡。了解我们如何通过有针对性的自动化和共享所有权来解决设备端测试方面的挑战。此外,您还将了解如何构建自己的内部设备云并利用我们的开源工具。

使用 LibFuzzer 在 C++ 库中查找 bug

Kostya Serebryany (Google)

链接:视频幻灯片

我是如何学会让服务器崩溃的测试

Jonathan Abrahams (MongoDB)

链接:视频幻灯片

欢迎了解我们如何测试 MongoDB 服务器的稳健性,使其能够适应各种系统崩溃场景。 了解我们如何自动使任何类型的操作系统和主机配置(物理或虚拟)崩溃。