文档章节

GTAC介绍

python测试开发人工智能安全
 python测试开发人工智能安全
发布于 2016/01/29 19:28
字数 2892
阅读 494
收藏 1

GTAC简介

Google Test Automation Conference (GTAC)即谷歌测试自动化会议,代表了互联网自动化测试的最高水准,通常每年举办一次。


GTAC 2015

Using Robots to Test Your Android App

评分:3

学术性地比较了Monkey等测试工具,多数工具未被市场广泛认可,值得一提的是https://code.google.com/archive/p/dyno-droid/也是google出品,有兴趣的可以尝试一下。本文的网址参见

http://www.cc.gatech.edu/~orso/software/androtest


Automated Accessibility Testing

评分:4

https://github.com/google/Accessibility-Test-Framework-for-Android

项目处于试验阶段,期待有好的突破!

安卓的Accessibilit主要涉及TalkBack(对讲,多为语音提示)、盲文和自切换等。特性有:大字体、放大镜、颜色反转与纠正、对比度和大写支持等。

常见错误有:

  • 未标记的内容

  • 标记不当内容

  • 小的触摸目标

  • 对比度差

  • 不正确视图属性/Decoy视图

安卓的Accessibility Test Framework:

  • 包含测试逻辑来检测一些常见的可访问性问题

  • 使用现有的Android UI结构

  • 简单的添加额外的检查

  • 很容易集成到其它工具或框架

Espresso的AccessibilityChecks:

  • 位于android.support.test.espresso.contrib

  • 通过AccessibilityChecks.enable()开启:ViewAction 

  • AccessibilityValidator可对整个视图层次运行评估并抑制已知问题

Robolectric的AccessibilityChecks:

  • 依赖ShadowView.clickOn(View),避免使用using myView.performClick()

  • 正在增强功能中。

局限:

  • 目前集成靠现有的测试覆盖

  • errors才会测试失败的错误

  • 并非所有的accessibility问题可以自动检测

Statistical Data Sampling

评分:4

测试有时需要从生产环境导入数据、数据量太大的时候不可能完全导入,需要一定的取样,尽量选择有代表性的数据并覆盖边界和分支、不重复,比如年龄,用随机数就不太合适

Automation on Wearable Devices

评分:3

可穿戴设置的自动化和Android类似,可以使用Python、Java等驱动Appium,这里不做深入涉及,架构图如下:

Chrome OS Test Automation Lab

评分:4

持续集成基于python构建工具https://pypi.python.org/pypi/buildbot, 进行了改造,参见http://www.chromium.org/chromium-os/build/cbuildbot-overview

测试框架使用python的https://github.com/autotest/autotest。架构图如下:


 

参考资料:https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master.

它有个移动版本,参见:https://www.chromium.org/chromium-os/testing/moblab。主要是Django进行网页展示。

Fake Backends with RpcReplay

评分:3


本文的RpcReplay貌似没有开源出来,有吊胃口的嫌疑,不过后面别人有类似的python开源框架。

Large-scale Automated Visual Testing

评分:4

用拍照比较的方式,感觉这种方式的维护成本会比较高,主要基于selenium。

https://pypi.python.org/pypi/needle 用于测试CSS。

https://github.com/gemini-testing/gemini CSS等测试

https://www.npmjs.com/package/pix-diff 图像比较

小结:


Needle (Python WD)

WebDriverCss (JS WebDriverIO)

Gemini (JS DSL)

Selenium Visual Diff (Java WD)

VisualCeption (PHP CodeCeption)

Pix-Diff (JS Protractor)

Shoov (JS WebDriverIO)

Vizregress (.NET WD)

Rspec Page Regression (Capibara)

Applitools Eyes (All WD + Appium)

PhantomCSS (JS CasperJS)

Specter (JS DSL)

FBSnapshotTestCase (XCTest)

Simulated Event Generators

评分:4

https://github.com/splunk/eventgen 是Splunk的事件生成器,基于Python。


Test Suites and Program Analysis

评分:3

建议动态与静态分析结合,自动生成用例等,关注内容:
Branch count
Merge count
In-loop flag
Exceptional successor count
In-catch-block flag


Testing Integration Between Twitter Services

评分:3

Diffy是Twitter基于apache,通过代理和多播比较接口不同版本差异的工具。小众语言Scala开发,暂时懒得尝试。

项目地址:https://github.com/twitter/diffy


The Uber Challenge of Cross-Application-Cross-Device Testing

评分:3

Uber的司机和用户是一个应用。Android上的测试基于UiAutomator和UiAutomator,也使用adb shell。


Chromecast Testing

评分:3 

电视棒的测试,讲得不是很清晰,暂时不涉及。


Coverage is Not Strongly Correlated with Test Suite Effectiveness

评分:2

标题的理论还是正确的,记住标题足够了。


Effective Testing of a GPS Monitoring Station Software Defined Radio

评分:3

暂时不涉及GPS,感觉一般。


Enabling Streaming Experimentations at Netflix

评分:3

感觉一般。


How To Component Test Soup Dumplings

评分:3

搞软件也要和做菜一样,比如具体到多少度。


Juggling Chainsaws for Fun and Profit

评分:1

基本上无用。


Mock the Internet for your Internal Service Testing

评分:3

LinkedIn的Mock框架FlashBlock, 貌似没有开源出来,仅仅是吊胃口。


Nest Automation Infrastructure

评分:3

智能家居的测试。


Robot Assisted Test Automation

评分:1

这个是OptoFidelity机械手的广告。


Your Tests Aren't Flaky

评分:2

程序要具备可测试性。


Using Image Recognition for Mobile App and Game Testing

评分:2

Testdroid的游戏测试图像识别方案。实属卖广告:


Unified Infra and CI Integration Testing (Docker-Vagrant)

评分:3

Vagrant:创建和配置轻便,可重现,可移植的开发环境。

Docker:针对的分布式应用程序的开放平台。


Synthesizing Multithreaded Tests

评分:4

常见的并发问题有数据竞争、违反原子性、死锁等。


客户端程序不需要考虑并发。

使用线程安全类,比如ConcurrentHashMap、BlockingQueue等。

hazelcast-3.3.2,SynchronizedWriteBehindQueue是线程安全的、类不是线程安全的。

介绍了分析方法和分析工具:http://drona.csa.iisc.ernet.in/~sss/tools/intruder/


GTAC 2014

How Facebook uses bots to manage tests 

评分:4


A Test Automation Language for Behavioral Models

评分:2

学术性文章,实用性不强,暂时不涉及。


The Testing User Experience

评分:4

如何开发出开发愿意使用的工具?

静态分析改成编译错误,强行要求修复。Clang for C++、error-prone for Java。https://github.com/google/error-prone

测试错误时要包含日志、网络分析、约束比如超时、度量、基础组建错误报告服务器及具体进程的日志。


The Importance of Automated Testing on Real and Virtual Mobile Devices

评分:4

移动端测试需要多关注稳定性、网络和延迟等。需要仿真:network, location, accelerometer, gyroscope, magnetometer events, device memory等。网络性能、电池消耗和内存使用等可以导致很差的性能。

移动端的严重bug分布:

收集数据:video capture, logs, power/network/CPU/memory data, crash reports。使用了Appurify云服务,提供了比monkey更强大的压力测试。


Test coverage at Google

评分:4

谷歌的测试覆盖率:

The Challenge of Fairly Comparing Cloud Providers and What We're Doing About It

评分:3

google云平台介绍,暂时不涉及。


Test Automation on an Infrared Set-top Box

评分:3

机顶盒测试方法研究,暂时不涉及。


Selendroid - Selenium for Android

评分:4

项目地址:https://github.com/selendroid/selendroid

文档:https://selendroid.io

是Selenium的一个java项目,比较火爆。


Scalable Continuous Integration  - Using Open Source

评分:4

来自Dropbox的分享,Jenkins的构建是串行的。为此使用python对Jenkins进行了扩展:https://github.com/dropbox/changes。暂时还没到这个量,不涉及。


Round Table Talks

评分:4

主要讲述如何提高测试机型覆盖率

40+ iOS devices
18K+ Android Devices
存在厂商自定义软件、硬件配置、屏幕大小等不同点。

常见问题:
通用的UI和行为问题
低端机手机
内存问题:OutOfMemoryError异常
低分辨率:视频库崩溃
电池,移动信号和Wi-Fi,...
专门的硬件例如,硬键盘打开应用程序崩溃
应用程序状态的处理(后台)

可以考虑外测:
https://www.utest.com/
https://99tests.com
https://crowdsourcedtesting.com

测试框架:
Appium: http://appium.io/
Cucumber/Calabash: http://calaba.sh
eggPlant http://www.testplant.com/eggplant/
Squish: http://www.froglogic.com/squish/gui-testing/
Espresso (Android only)

云测试:
Appthwack: https://appthwack.com/
Appurify : http://appurify.com/ (now Google)
Testdroid: http://testdroid.com/


Move Fast & Don't Break Things

评分:4

主要讲述如何提高测试机型覆盖率

hermetic(密封)测试:一般是无网络环境的测试,主要使用mock技术。

Make Chrome the best mobile browser

评分:3.5

性能测试使用:

https://developers.google.com/octane/

http://dromaeo.com/

https://catapult.gsrc.io/telemetry

录制使用:https://github.com/chromium/web-page-replay


安卓测试采用Robolectric、UIAutomator 


使用https://www.chromium.org/Home/chromium-security/bugs/using-clusterfuzz收集bug。


Maintaining Sanity In A Hypermedia World

评分:3.5

多媒体测试,代码评审使用gerrit,测试系统使用python框架PyFuncTest(貌似没有开源)。API mock使用Hydra(貌似没有开源,可能是https://github.com/robohydra/robohydra)。


Impact of Community Structure on  SAT Solver Performance

评分:2.5

学术性文章,不做涉及。


Google BigQuery Analytics

评分:3

谷歌BigQuery介绍与性能分析。暂不涉及。


Cleaning up the Toxic Mobile Environment

评分:3.5

测试框架基于Python,讲述了环境清理相关的东东,需要实际使用多关注。


Free Tests Are Better Than Free Bananas

评分:3

监控:http://plse.cs.washington.edu/daikon/download/

通过提取日志发现变化,并自动生成无状态的断言。

参考资料:http://en.wikipedia.org/wiki/Invariant_(computer_science)


Fire Away Sooner And Faster With MSL!

评分:3

项目地址:https://github.com/FINRAOS/MSL

主要用于mock服务器层,貌似评分不高,先不关注。

推荐:https://pypi.python.org/pypi/mockpy

它基于:https://github.com/mitmproxy/mitmproxy


Espresso, Spoon, Wiremock, Oh my!

评分:3

项目地址:https://github.com/FINRAOS/MSL

主要用于mock服务器层,貌似评分不高,先不关注。

推荐:https://pypi.python.org/pypi/mockpy

它基于:https://github.com/mitmproxy/mitmproxy

以及:

-Monkey

-MonkeyRunner

-MonkeyTalk ( formerly known as FoneMonkey )

https://github.com/JakeWharton/double-espresso 使espresso支持Gradele。

espresso的文档:https://google.github.io/android-testing-support-library/

http://square.github.io/spoon支持并行测试。需要使用插件:

https://github.com/stanfy/spoon-gradle-plugin

仿真插件:https://wiki.jenkins-ci.org/display/JENKINS/Android+Emulator+Plugin


Applications That Test Themselves

评分:2.5

项目地址:https://github.com/catjsteam/catjs, 移动web测试框架,项目受欢迎程度一般。


Beyond Coverage- What Lurks in Test Suites

评分:3

基于http://eclemma.org/坐覆盖率统计。考虑单元测试自动生成技术:http://korat.sourceforge.net/、https://github.com/randoop/randoop(貌似评分不高)、https://github.com/CERTCC-Vulnerability-Analysis/certfuzz(貌似评分不高)。

更多资料参见:http://mit.bme.hu/~micskeiz/pages/code_based_test_generation.html


Automation for a Better Web

评分:3

平台测试:
W3C 关于开放web平台测试介绍:http://testthewebforward.org

互操作测试:
Apache + PHP
httpd.js + sjs
mozhttpd + Python
lighthttpd + PHP
node
.NET


https://github.com/w3c/wptserve是用于平台测试的python服务端。客户端: https://github.com/w3c/wptrunner
文件参考http://w3c-test.org/


I Don't Test Often ... But When I Do,  I Test in Production

评分:3

Netflix 

服务器端测试:https://github.com/Netflix/SimianArmy

python项目:https://github.com/Netflix/security_monkey


GTAC 2013

Drinking the Ocean - Finding XSS at Google Scale

评分:3

安全测试,暂时不涉及。


AddressSanitizer, ThreadSanitizer and MemorySanitizer -- Dynamic Testing Tools for C++

评分:3

C++调优内容,暂时不涉及。


Empirical Investigation of Software Product Line Quality

评分:2

产品质量调查,比较空洞,暂不涉及。


Finding Culprits Automatically in Failing Builds

评分:2

构建分析。


Continuous Maps Data Testing

评分:3

胶片过于简单,需要看视频才能了解。


Web Performance Testing with WebDriver 

评分:3

性能测试网址:http://www.webpagetest.org/,但是不方便集成,可以考虑用webdirver,录制可以使用

https://github.com/chromium/web-page-replay


Espresso- Fresh Start to Android UI Testing

评分:5

Espresso是google的集成测试框架,直接让robotium暗淡无光。现在其他文档已经比较多,可以参考:http://developer.android.com/intl/zh-cn/training/testing/ui-testing/espresso-testing.html


Building Scalable Mobile Test Infrastructure for Google+ Mobile

评分:3.5

IOS 使用https://github.com/kif-framework/KIF。


Appium- Automation for Mobile Apps

评分:5

IOS 使用https://github.com/kif-framework/KIF。

参考资料:http://saucelabs.com/appium


Android UI Automation

评分:5

安卓最快的功能UI测试框架,python版本参见:https://pypi.python.org/pypi/uiautomator


Breaking the Matrix - Android Testing at Scale

评分:2

内容比较多、泛,不推荐。


Testable JavaScript - Architecting Your Application for Testability

评分:3

写出可测试的JavaScript 。系一本书来着。


How Facebook Tests Facebook on Android

评分:4

构建系统:https://github.com/facebook/buck/, 使用python来描述构建。支持并行构建和部分构建。


Testing for Educational Gaming and Educational Gaming for Testing

评分:2

微软平台的东东,不做涉及。


Evolution from Quality Assurance to Test Engineering

评分:4

谷歌测试体系的介绍,另外有本书《谷歌如何测试》介绍得更加详细。


Testing Systems at Scale @Twitter

评分:2

使用Thrift和Finagle。测试使用工具:http://github.com/twitter/iago

实际不如用工具https://github.com/locustio/locust


How Do You Test a Mobile OS

评分:3

火狐提供的OS测试方案,但是Firefox OS使用量太少,暂时不涉及。


© 著作权归作者所有

python测试开发人工智能安全
粉丝 207
博文 105
码字总数 391361
作品 0
邵阳
QA/测试工程师
私信 提问

暂无文章

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
28
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
65
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
58
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部