人工智能测试和启动:Adam Carmi访谈(Applitools)


有一个流行的说法是“挠痒痒”:如果您要创建新产品,请执行您自己缺少的产品。 在这种情况下,您最好了解如何做好。


亚当·卡米(Adam Carmi)敏锐地意识到缺乏一种视觉测试工具,该工具可以帮助人们在寻找行进的布局时不会睁大眼睛。 最后,他创建了这样的工具,以适应AI的需要,并成为Applitools的联合创始人之一。 这听起来像是一项梦想的工作:当您在痛苦中挣扎时,您会感到自己正在使世界变得更好。 但是,当整个公司的命运取决于他时,IT专家将面临什么困难?


而且由于还需要对Applitools工具本身进行测试,因此Adam学会了很多有关使用AI测试项目的知识。 明天在Heisenbug,他将讨论如何做,他的报告将进行现场直播 -这样每个人都可以现场观看。 同时,我们问了他两个话题:创建公司的感觉以及与测试和AI相关的事情。


创业生活


叶夫根尼· 特里弗诺夫 (Evgeny Trifonov( phillennium ):您曾是一名员工多年,然后决定创建一家初创公司。 这是如何发生的,其推动力是什么?


亚当:我以前的工作是一家信息安全公司。 我在那里工作了8年。 我想您可以想象一个安全产品中有多少个UI。 大量的日志,图表,图形,查询和警报。 围绕这一切,有很多不明显的UI。


该用户界面已被翻译成6种语言并以5个不同的品牌提供,因此一切都变得复杂了。 为了从头到尾对所有版本进行手动测试,大约需要一周的时间。 每次迭代都有20位测试员这样做。 也就是说,如果发布需要多次迭代,则这需要至少2-3个月的发布周期。


因此,在我在那里工作的那些年里,我缺乏针对该问题的解决方案。 当然,我们从事自动化。 那时Selenium还是一个年轻产品,我们使用了它,但是它没有涵盖UI。 我不断向当时的供应商(HP,Microsoft和IBM)解释该问题,并寻求解决方案。 答案一直是一个答案:这是不可能的。 为了验证界面的外观是否正确(而不只是“按功能运行”),将始终需要手动测试仪。


听了多年的回答,我决定为我的团队从事这样的工具作为副项目。 我从10岁开始编写代码,我真的很喜欢,我可以做到。 因此,即使我领导一个大团队,我也总是有宠物项目:我为我的孩子们编写游戏,然后我只是在搞些有趣的事情。 我真的很想解决这个问题。 我立即看到它有多困难,但这只是促使我更加努力地做出决定。


在大约一年的工作中,我成功奠定了基础。 而此时,我工作的公司被另一家公司收购。 我决定自己做生意,而不是转移到另一个地方。


通常,我的动机是在技术层面上从事对我感兴趣的事情。 我没有成为一个伟大的商人的野心。 能够从事令我着迷的事情。


尤金:当IT人员找到公司时,通常不是技术问题才是问题,而是业务方面。 您在管理职位上有经验-有什么帮助? 在建立公司之前,您是否建议先获得它?


亚当:首先,我要指出,不要将管理经验与业务相混淆。 这些是完全不同的东西。


成为技术员是一项单独的技能。 您会吸引有才能的人,激励他们努力工作,确保他们留在您的团队中很多年,而工作使他们着迷。 我相信,这在很大程度上是因为他是一名优秀的工程师,与业务无关。


有人相信:自从我创建一家初创公司以来,我将担任首席执行官。 我自己什么都知道,没有人是我的顾问。 许多人认为失败。 即使那些已经成为非常好的CEO。 这样您可以犯任何错误。


我的立场完全不同。 我立即说,我不知道如何成为首席执行官。 因此,我说:让我们找一个已经知道该怎么做并且在这方面有相关经验的人。 让他担任首席执行官,我将负责技术部分。


这完全不能保证在这种情况下一切都可以解决,但是至少我不会浪费时间犯错误,如果有经验的人来解决这个错误可以完全避免。


在吞噬了我工作了8年的公司之前,我们的CEO来告诉我这件事,我们开始考虑未来的计划,然后我告诉了他当时我正在从事的工作。 他立即变得感兴趣,对情况进行了适当的调查,决定加入我的行列,从那时起,我们俩都在Applitools工作。


我再说一遍,我相信工程师不是创业的最佳选择。 机会不在你身边。 值得找一个知道自己在做什么的人。 尽管这不能保证任何事情,但这将增加成功的机会。


尤金:知道了。 在这种情况下,当另一个人承担复杂的业务任务时,最让您流汗的是什么?


亚当:这让我很汗...我不想详细介绍Applitools特有的困难。 我认为:萌芽的企业家非常幼稚真是太好了。 当然,这是每个人都重复的陈词滥调,但是除非您自己这样做,否则您甚至无法想象您在公司中所经历的压力,不确定性,心理起伏。 在同一天,您似乎将征服世界,并且必须解雇所有人。 这需要时间来适应并开始以透视的方式看待事物。 这很难。


好吧,通常会遇到一些困难-产品才能正常工作,处理工程组件并努力工作。


Mikhail Druzhinin( xomyakus ):听起来好像发展是一个简单的部分。 她至少是可以预见的。


亚当:是的。


在初创公司生命的最初阶段,尚不清楚他是否会幸存,但要发现自己已经没有钱了,这并不容易。 您已经爬上了自己的个人储蓄来向员工支付薪水。 那些您以前在您的魅力下说服的人,仅仅是因为他们相信您,所以就离开了他们的职位,为您争取较低的薪水。


但是,即使您退出生存模式,您仍然拥有出色的产品和客户,如果您筹集了资金,您就会拥有一些投资者,他们将等待他们从投资中获利。 现在,持续高速增长的压力不断,这需要创造性的方法和大量的工作,因为您必须应对这种增长。


假设您的销售额达到每年X百万,您为成功而高兴。 但是明年您必须卖掉两倍,怎么办?


迈克尔:您说过创造力,这到底是什么意思?


亚当:通常您会认为:我创造了一个很棒的产品,现在全世界都会使用它。


现实是世界实际上非常繁忙。 这个世界对你的存在一无所知。 世界上总是有10件事要做,您无法控制自己在此列表中的位置。 而且您没有太多钱可以了解您。 金钱是广告,会议,网络研讨会,个人销售的预算。 所有这些仅花费一吨钱。


在这里,创造力意味着超越刻板印象而思考,并使用几乎不需要金钱和资源的方法。 Applitools可以做到这一点,它使我们每年都能迈出新的高度。 但是每次我们都必须超越。


迈克尔:确实,您需要更广泛地思考。 我注意到,许多开发人员和测试人员都非常直接地思考,他们只看到一种解决方案。 它需要五个月的时间和大量的测试资源。 然后他们被告知:您知道,仅剩一个月了,然后我们都会死。 这是创造力开始的地方!


亚当:是的,当然。 还有涉及产品本身的创造力:您始终需要与时俱进,更快,更高效地做一些事情。 这不用说。



尤金(Eugene):回到增长话题:今天有多少人在Applitools工作,这个数字增长有多快?


亚当:今天有110个人在工作。 在2018年初,我们大约有20个人,并且增长很快,几年内增长了五倍。


尤金:印象深刻,是的。 但是,当有许多新人涌入时,以如此高的速度维持公司的文化是否困难?


亚当:很好的问题。 根据我自己的经验,我意识到了定义良好的公司文化的重要性。 看来我现在可以就此主题进行报告。


首先,以色列的企业文化概念不是很发达。 如果有人试图这样做,人们的反应就是“哦,这是公司胡说八道”。


对我们来说,这已成为起点。 我决定将Applitools作为研发经理做什么? 回顾我在其他公司的经验,我想进行一次实验:总的来说,雇用人才时,我不会被允许降低门槛,仅聘请优秀的专家就可以了。 不妥协。 这非常困难。


当然,第一批员工是您个人认识并说服您找的人。 但是在那之后它变得很难生长。 有时,我们需要6-8个月才能找到合适的员工。


但是随着时间的流逝,它变得更加容易,因为您的团队已经拥有许多强大的专家,并且他们认识其他有才华的人。 当这些有才华的人开始寻找工作时,他们会看到您公司员工的名字-并且有扎实的国际会议发言人的发言,这些会议在当地社区中广为人知。 然后这变得容易:与大公司相比,他们对去找您更感兴趣。


这使我们能够创建一个独特的开发过程,甚至很难称其为过程。 我们每个开发人员都应对发生的一切负责。 我们没有冲刺,计划的发布,甚至不要求产品团队提供完整的规范。


您有一个主意就足够了,您要为它的实施负责。 您自己正在寻找所需的信息,您自己正在寻找可以帮助您的人。 如果您不知道该怎么做,则有责任学习如何做。


因此我们设法创造出一些特别的东西。 当我们吸引了大量投资并知道我们会成长时,我对此非常关注。 当工程团队增加三倍时,如何保留我们的独特性,而不在成长过程中破坏它?


决定是要修复此过程并明确定义文化。


我首先聘请了一个非常出色的人力资源专员为Dropbox工作。 实际上,她组建了整个Dropbox团队,现在,它被认为是世界上最好的工作场所之一。 她很有经验。 我们只是坐下来,开始写新文化的草稿。


我们向蒂姆利德犬(Timlids)展示了我们的成就,后者完全拒绝了所有这些。 他们非常生气。 然后对话开始了。 在大量反馈的讨论过程中,我们能够阐明在公司工作的意义。 我们得到了所有团队负责人都同意的价值观清单。


花了几个月的时间,但最后,当我们将结果提交给整个团队时,人们立即将其提取出来。 他们立即感到这些话恰恰说明了为什么在我们公司工作如此令人兴奋。 这次我们得到了很好的反馈。


现在,我们虔诚地维护这些价值观,并确保在扩大国家时不会与它们发生冲突。 它有助于我们做出决定和维持气氛,我希望将来它将继续提供帮助。


尤金:关于Applitools的另一个有趣的细节:您的总部位于硅谷,而研发位于以色列。 你能说出为什么吗?


亚当:首先,当您创办公司时,首先是在家中,在家附近的咖啡馆工作或旅行。


我的公司在以色列成立并成长,因为那里有很多IT。 正是由于我们在以色列的活动,我们才得以传播到世界其他地方。 当一家大公司在以色列拥有一个团队,并且他们在该团队中使用某种工具时,结果是,该公司中的其他团队(在美国,英国,其他地方)看到了这一点。 而且,如果您使用此工具,尽管您尚未从事国外营销或销售,但您的产品突然会有外国客户。


但是从某个角度来说,您希望与客户更接近。 作为一家吸引投资的公司,您希望与拥有适当金额的投资者保持更紧密的联系。 以色列的资金主要是在早期与初创公司合作,因此从他们那里获得大量资金变得更加困难。 或者他们的投资没用,因为它们没有美国风险投资这样的联系。 与这些人保持亲密关系并与他们保持关系很有帮助。 毕竟,我希望处于这样一种情况,即投资者想投资于您并求助于您(并且您同意接受或不接受金钱),而不是您追逐他们。


我也想更接近客户,我们已经有数十名销售经理。 在美国哪个地区可以最积极地开展业务? 我们为这些员工提供的办公室位于此处,这也是位于投资者旁边的总部。


从以色列开始的研发仍然存在。 这里有优秀的专家,同时在这里保留一支工程师团队要比在硅谷便宜得多,而且人才竞争并不那么激烈。 由于所有这些原因,我很高兴留在以色列,领导以色列办事处。 这对我和公司都有好处。 我的两个合伙人已经在旧金山待了将近四年。


迈克尔:除了您在招聘时提到的高标准外,您还使用其他技巧来防止质量水平随着快速增长而下降吗?


亚当:我可以告诉你我现在在做什么(也许将来会改变)。


我坚信,一个好的开发人员会制作出真正有效的软件。 他没有创建自己已经完成的软件,但是其他人仍然需要对其进行测试。 使它真正起作用是他的工作。 我不在乎他是怎么做到的。 不管他是每次手动测试所有内容还是自动进行测试都没关系。 我真的不在乎 但这是他的工作和他的任务。


通常,编写算法和后端的人员对这种情况更加满意。 但是前端不是很高兴,因为测试UI比使用单元测试的API困难得多。


这一切都有一个问题。 当然,您很可能会有一个开发人员了解他必须测试他编写的所有内容。 他知道这是他的工作,因此同意了。 但是当您问“是否一切都经过测试?”他回答“是”时,这是一个非常主观的答案。 他做了一些事情,但可能是预期的50%,他在笔记本上写道:“发布后,有必要恢复原状”。


而且即使进行代码审查也无法完全了解正在发生的事情,因为进行代码审查的员工也很忙。 他说有一些测试,他看了一些-一切都很好,让我们继续。


这就是为什么我要有质量主管(而不是质量检查)的原因。


他有自己的团队。 他在公司的目标是确保所有内容都经过测试,并且开发人员确实涵盖了所有内容。 简而言之,有关质量的一切都应进行测试。 质量主管具有很多权威和自由。 如果他告诉我有些事情还没有解决,我们将不做任何事情,除非我们弄清楚了。


他的团队还帮助开发团队填补了空白。 有时,当相应的团队忙于某些功能并且没有时间切换时,会追溯地发现问题,然后由质量主管的团队来承担这些任务。


但是,该团队负责端到端测试,影响到不同的团队和产品。 对于工程团队来说,这是一个很难覆盖的区域:他们可以弄清楚他们要负责什么,但是当某件事同时影响多个团队或产品时,很难指望其中的一个会对此进行应对并承诺回答为了一切。 它不是那样工作的。 . « -», - .


, . , , , , . - - , . , , .


: , , , . , ? , , , . — .


: , ? Applitools Applitools?


: , UI Applitools Applitools. , , , , UI API. .


, , . , , .


: UI, , . , UI. roadmap, , .


— , , , . , . , .


, . , , UI , .


( , , ), . , . , -, — Apple, Netflix, Dropbox, IBM.


AI


: , . «AI and testing», -: « - AI», « AI». AI: ?


: — , AI. - AI, ? , — , , .


, — , AI. 80% , AI.


: «I» , . ?


: .


« , , , ». , AI . , , . .


, . , .


, — . , . , . , , .


AI . AI — , , , .


: AI AI?


: . Applitools Applitools, , AI-. , - AI AI.


, , « ». , , « ».


— , . — , , , .


: , Applitools, AI - — , ?


: . AI «» . , AI . , — :


  • AI. 这很重要。
  • AI, , AI
  • AI , -

— «self-healing tests». , UI , «», .


AI? . : , .


: , , . - — , . . - , , — «». , UI , , .


: , , , AI.


, , AI. , ! .


, , , , . - , . , , . , .


: . , - , . « », . «, , , - ».


: . . , , . , . , , . , . , , . , ?


, . , . , : 100%, . . , .


: Heisenbug , . , , ?


: . , , . , . , , .


, . . , , , , . . . , - , . 怎么了 .


: . ?


: . , .


, . , - , . , — , , , , .


, . . , , , . , , .


, . , , . .


Heisenbug, 5 . Heisenbug , . , Heisenbug , , ( , ).

Source: https://habr.com/ru/post/zh-CN478672/


All Articles