一个从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