一个从1到100000用户的开源项目|DAN CUELLAR
2020-02-27 163浏览
- 1.一个从 1到100000用户 的开源项目 如何 不经意的创造一个流行的开源项目
- 2.关于主讲人 Dan Cuellar • 毕业于卡内基梅隆大学计算机系 • Appium项目发起人 • 供职于 FOODit,任软件测试工程总监 • 曾供职于Microsoft, Zoosk, and Shazam
- 3.
- 4.
- 5.测试任务中最困难的5个字:
- 6.以及类似的
- 7.不完美的解决方案
- 8.什么是APPIUM • 基于Selenium J SON-‐wire 协 议的,可以控制原生或混合 iOS 及 Android 应 用的实现。 • 移动应用功能测试领域最流行的开源框架。
- 9.APPIUM 哲学 • 使用标准化模块化的APIs 和技术; • 支持多样语言 Java, C #, P ython, Ruby, Objective-‐C, n ode.js, PHP, 以及更多 • 测试中不修改应用本身; • 免费并开源;
- 10.如何工作? JSON-‐Wire Protocol Request Test 脚 本 HTTP JSON-‐Wire Protocol Response UIAutomation / UIAutomator Appium Server
- 11.为世人所知
- 12.为世人所了解 • 解答了论坛中所有关于该项目的问题; • 解答了StackOverflow中所有关于该项目的问题; • 在尽可能多的会议中发表演讲; • 积极向感兴趣的公司介绍我们; • 活跃在 Twitter及其他社交媒体。
- 13.失控是好现象 • 志愿者们自发提交了Android支持 • 代码被移植到了其他语言 • 我甚至曾经一度不能提交修改 (!) • 我曾经因为其他演讲者已经发表了关于 Appium主题演讲,而被大会拒绝接纳。
- 14.扩展性 • 最终, 你无法亲力亲为回答所有问题 • 人们可以从已经丰富了的论坛中学习,开源社区也可以回答他们; • 你无法测试或评估 每一次提交 • 单元测试是必要的 • 你已经不知道appium中正在发生什么 • 撰写高质量的发布说明 • 附加高质量的提交说明
- 15.发起一个开源项目 你不应该: • 使用非开源的技术 • 用电子邮件共享代码 • 缺少文档 • 忘记公开你的讲演文档 • 仅私下交流遇到的问题 正确的做法: • 全程使用开源技术 • 把代码放到 GitHub • 撰写文档 • 共享你的演讲文档及视频 • 在论坛中公开得回应问题
- 16.
- 17.出现分歧时 • 事先约定一致认可你们的思想及目标将会很有帮助 • 这里面不涉及等级、权威 • 分歧和冲突最好公开讨论解决 • 辩论会带来更好的解决方案 • 透明化的解决方案能令最终用户更好得理解你们的决定 • 动手写代码的人,一般有做决定的主动权
- 18.当和平已经遥不可及 • 失去一些开发者是个损失,但也不是什么大不了的 • 除非他们彻底退出开源世界, 他们的工作成果依然可以被大家共享 • 存在多个类似的项目并不是一件坏事 • 竞争带来进步 • 用户喜欢有可选择 总之, 最了不起的那个会胜出
- 19.
- 20.一些数字 在过去的3年里 • 在GitHub上收到超过2,000个??????, 1,500 Forks • 超过100个贡献者及 5,000次提交 • Appium 1.0 被下载超过150,000 次 • 有超过3,000个问题被解决
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.第一条由机器人发出的TWITTER
- 33.APPIUM机器人是如何工作的? • Calibrate the robot to map points in the physical world to points on a device screen • Run an app on the device with Appium that can tell you what coordinates are being touched • Touch three places on the device and record the physical a nd device-‐ centric coordinates • Build a matrix to translate any point between the two systems • Intercept touch actions with the Appium Server and send them to the robot
- 34.数学原理
- 35.
- 36.APPIUM为何成功? • 从第一天开始, 我们就有一个清晰的指导思想和目标 • 尽可能多的吸纳成员, 使我们成为一个活跃的社区 • 支持尽可能多的语言和平台 • 使用已经存在的、大家熟悉的工具 • 我们所有的决定都是为了使我们成为一个活跃的社区 • 我们为之奉献 • 去出席参加每一个可以与我们相关的会议、论坛 • 在第一年里,我们机会回答了社区中每一个问题
- 37.支持的语言和平台
- 38.我们参加的会议
- 39.多种语言的网站
- 40.支持MAC和WINDOWS
- 41.我的习得 “Life can be much broader once you d iscover one simplefact:Everything around you that you call life was made up by people t hat were no smarter than you a nd you c an change it, you c an influence i t, you can build y our own things that other people c an use. Once you learn that, you'll n ever be the same again.” -‐Steve Jobs
- 42.更多 • 网站:http://www.appium.io•Slack:appium.slack.com • 论坛: discuss.appium.io •GitHub:http://www.github.com/appium/appium