亚马逊怎么看美国站产品(亚马逊测评网站有哪些)、本站经过数据分析整理出亚马逊怎么看美国站产品(亚马逊测评网站有哪些)相关信息,仅供参考!

袁晓超在过去两年中一直担任亚马逊的首席软件工程师,他的团队负责处理一些面向用户的组件。为了了解亚马逊测试网站的细节,我采访了袁晓超。

问题1:加入亚马逊之前,你在哪里工作?

袁晓超:谷歌。我就职于YouTube team,2015年以实习生身份加入。

问题2:你现在的职位是什么?

袁晓超:我是首席软件工程师,负责采购一些面向用户的产品组件。

问题3:你在测试中最大的挑战是什么?

袁晓超:跨浏览器测试。所有组件必须在不同浏览器(包括Internet Explorer和Safari)中具有完美的视觉和运行体验。

问题4:为什么还支持IE浏览器?

袁晓超:数据显示,我们仍然有一定比例的用户在使用IE。所以,我们不能让这些用户失望。

问题5:当你发现这个真实的时候,你不会感到震惊吗?

袁晓超:不,当我在谷歌工作时,我们也需要支持IE。在那里工作的人的心态是,一个好的网站应该在所有浏览器中都能正常工作,没有人对此有任何怀疑。

问题6:你做过手工测试吗?

袁晓超:是的,一个很好的例子是探索性测试,在这种测试中你不能真正自动化。然而,我们所有的功能测试都是自动化的。这样,我们就可以经常出版版本而不会精神崩溃。

问题7:你的团队是用硒、柏还是木偶?

袁晓超:我不需要它。我们研究了这些库并做了概念验证,结果并不令人鼓舞。

问题8:你能解释为什么吗?

袁晓超:有不同的原因。硒很难管理。它支持所有主流浏览器,但不支持即插即用,所以你需要为每个浏览器的一些操作编写不同的逻辑。

柏树的作用非常有限。不能在Internet Explorer和Safari上使用。它不支持多个浏览器选项卡。它不支持悬停等本机事件。要在基本iframe中使用它,需要做许多修改。在亚马逊,没有人会用柏树。木偶剧没有足够的跨浏览器支持,需要很多改进。

问题9:你正在使用什么库或工具?

袁晓超:去年,我们团队一直使用Endtest。

问题10:你为什么选择这个工具?

袁晓超:在选择工具时,我们总是从各种角度进行分析:灵活性、易用性、投资回报、可靠性等等。去年,我们为Endtest进行了一次概念验证,结果非常好。

我个人更喜欢它可以原生处理跨浏览器测试的优势,不需要额外的调整。它允许我们花更多的时间来构建产品,而不用重新发明轮子来构建我们自己的内部测试框架。

问题11: Endtest是一个没有代码的工具。你不需要更多的灵活性吗?

袁晓超:当构建功能自动化测试时,你需要变量、if语句、循环和重用步骤的能力。End拥有所有这些特性,并且和大多数脚本语言一样灵活。灵活性很重要,但不是唯一要考虑的事情。如果仅仅基于灵活性来选择语言和库,只能得出结论,你一定要写机器码(写一堆0和1)。

问题12:为什么这么多团队还在编写自己的测试框架?

袁晓超:我认为现在这只会发生在小公司。在过去的三年里,我从未听说过像亚马逊、Airbnb、谷歌、Stripe、Instacart和PagerDuty这样的公司做这样的事情。

从历史上看,我认为你可以在21世纪初找到原因。那时候的人用的都是老的测试录制程序,真的很差,还在用屏幕坐标或者图像识别来识别元素。因此,人们把各种库(比如Selenium)放在一起,开始构建自己的内部测试框架。这些内部框架(我们称之为弗兰肯斯坦博士的框架)大多已经处于“差不多准备好了”的状态。

我听过很多故事。一些公司安排一两个保守的员工在内部测试框架上工作几个月或几年,直到它变成一个无法使用的怪物。然后其他人出现,使用不同的语言或库,并开始重复相同的过程。

问题13:你认为团队最终为什么会做出如此糟糕的决定?

袁晓超:综合分析可以防止这种错误。你可以先考虑投资回报,也就是你在这份工作上花了多少时间和资源,需要多久才能开始得到这份工作的回报。

让我们举一个简单的例子:你的公司需要一个视频会议工具。你需要选择是支付每月18美元的缩放订阅费,还是使用WebRTC来构建自己的视频会议工具(WebRTC是Google的一个免费开源项目)。开发人员可能会选择第二个选项,因为它听起来更有趣,更有吸引力,这样他们可以在简历中添加更多内容。

但是他们可能需要七个月的时间来完成这项任务。

如果把决策权留给这些人,你的公司会花很多资源去做这项工作,而且即使一切顺利,事情没有搞砸,大家也只能在七个月之后才能使用。

这是一些公司内部测试框架的故事。当涉及到内部工具时,改造轮子总是一个坏主意。

问题14:可访问性对亚马逊有多重要?

袁晓超:我认为这对我们非常重要。这对任何公司来说都是必不可少的,因为这意味着让尽可能多的人可以使用你的产品。当有人在一个关于可访问性的网络研讨会上忘记提到InternetExplorer时,我耸耸肩。

添加标题属性和使颜色更加友好可以使你的网站对有视觉障碍的人更加有用和友好。

但是,如果你忘记检查你的网站是否可以在Chrome和Firefox之外的浏览器中运行,那基本上说明你并不关心大量用户的体验。

问题15:你如何看待无头浏览器?

袁晓超:我们不使用无头浏览器,因为我们遇到的一些问题只能在无头浏览器中重现。想象一下这样一种情况,用户报告了Windows上Chrome的一个生产错误,而你只在Linux容器中的无头Chrome浏览器上运行测试。

我们在Windows、macOS机器和移动设备上运行测试,但不在Linux容器上运行。

问题16:每次发布之前,你都测试过了吗?

袁晓超:是的,我们会的。即使我们只是添加一个小补丁,我们也会在每个浏览器上测试每个场景。这是有道理的,因为不这样做将使亚马逊面临利润损失的风险。如果您可以并行运行大多数测试,那么测试所有内容就不会花这么长时间。

问题17:您将并行运行多少测试?

袁晓超:400多个,因为有时我们会在一天之内发布多个版本。如果我们每周只发布一个版本,即使只有20个测试并行进行,我们也可以接受。

问题18:测试中使用的是真实数据还是虚拟数据?

袁晓超:伪造看起来真实的数据。我们没有逻辑上的理由在测试中使用真实数据。我们有自己虚构的用户、产品、列表等等。

问题19:如何测试电子邮件?

袁晓超:我们实际上发送真实的电子邮件,并在测试中打开它们。我们将为每个新用户生成一个随机的电子邮件地址,并使用EndtestMailbox自动测试发送的电子邮件。这使得我们可以直观地查看电子邮件,并与电子邮件中的元素进行交互。短信也一样,只是去掉了可见的部分。

问题20:你如何处理地理位置测试?

袁晓超:我们测试了至少50个不同的地理位置。这对我们来说非常重要,因为有些国家要求供应商或客户提供更多信息。我们使用同一工具提供的RealIPGeolocation系统。

即使英语是你的网站的唯一语言,并且内容在所有国家/地区都完全一样,你仍然需要做地理位置测试,因为在某些情况下,当用户从其他国家或大洲访问时,你正在使用的第三方脚本可能会遇到麻烦。

我听说过一个网站,用户从欧洲访问时运行正常,从美国访问时就崩溃了。这是一些第三方脚本造成的。

问题21:你对想要改进其功能自动化测试的团队有什么建议吗?

袁晓超:

在细节上灵活变通,采取防御措施,会让你的创新止步不前。掌握最新的工具和趋势,但不要在没有深入分析的情况下跟风。当假设浏览器不仅仅是一个JavaScript解释器时要小心。仅仅因为你的网站可以在Windows上的Chrome中运行,并不意味着它可以在macOS上的Chrome或移动设备上的Chrome中完美运行。

问题22:请说出一件每个团队都应该做,但大多数团队都没有做到的事情?

袁晓超:在Safari上测试过,这是第二常用的浏览器。而且不会很快消失,会越来越流行。它不断推出新功能,苹果决心从Chrome获得更多市场份额。

更多关于亚马逊怎么看美国站产品(亚马逊测评网站有哪些)的请关注本站。