认识团队:自动化测试团队
当你看到“自动化测试团队”(ATT)这个名字时,你可能已经对这个团队的职能有所了解。但“自动化测试”到底是什么?他们使用什么解决方案?在这个访谈中,我们将了解团队成员以及这个团队是如何工作的。
团队的主要目标是什么?
自动化测试团队的主要目标是提高Joomla代码质量并确保其稳定性。为了实现这一目标,我们致力于进行自动化测试,即每次代码变更被批准/合并或仅通过创建拉取请求提出时都会运行的测试。
这意味着检查代码风格和符合我们的系统要求(例如,你不希望有不能在所有支持平台上运行的代码),但也在实际代码上运行自动化测试。这可以分为单元/集成测试,其中代码中的单个函数和方法使用例如phpUnit进行测试,以及系统或端到端测试,其中自动化的浏览器就像真实的人类一样执行某些步骤,例如在后台执行,以检查是否按预期工作。
为了运行所有这些,我们还使用Drone维护一个持续集成/持续部署系统。最后但并非最不重要的是,我们试图为第三方开发者提供最佳实践和良好工具,以提高他们的质量。
你在Joomla生态系统中扮演什么角色?
自动化测试团队是生产部门的一部分,并试图支持Joomla的实际开发。目标是自动化我们可以自动化的内容,以使实际开发者的生活更轻松。如果我们的工具可以立即显示错误,开发者就不必等待维护者的反馈,维护者也不必经过几轮往返来确保每次提议的变更的代码质量。
你在团队中扮演什么角色?
团队没有严格的角色,但我们的工作领域可以大致分为三个部分
- 为实际测试编写测试
- 分析和实施额外的代码质量工具,如代码质量检查和静态代码分析器
- 管理和支持我们的持续集成系统
团队成员:请自我介绍:)
汉内斯:我叫汉内斯·帕彭贝格,自2019年以来一直担任团队负责人。过去17年里,我在多个领域从事Joomla的开发工作,在团队中我尽力做每一件事。
哈拉德:我叫哈拉德·莱希特纳,自从我开始参与社区以来,我已经参与了生产运营中的许多团队。我曾担任生产部门协调员和董事会成员,现在担任运营部门协调员。几年前,我加入了ATT,并在可能的地方提供帮助。我负责管理无人机基础设施和维护我们的Docker镜像。我还参与了TUF团队,在那里我为未来的自动更新流程编写了Joomla更新签名的基础设施。
罗伯特:我是罗伯特·德特兹。在汉内斯接任之前,我曾担任团队负责人,我会尽我所能提供帮助。不在团队中并不意味着我没有那么多我想拥有的时间。目前,将项目迁移到Cypress是我最关心的事情。
卢埃林:我叫卢埃林·范德梅尔,我很荣幸成为自动化测试团队的一员,尽管我可能不如其他人活跃,并认为自己是一名较为资浅的成员。两年前,我有机会编写脚本,在300台服务器上自动部署Joomla,为“披萨虫”和趣味活动做出贡献,这是一次既兴奋又愉快的经历。这也是我加入团队的原因。目前,我负责维护我们的官方Docker镜像,并开发了一个名为OctoJoom的脚本,用于简化第三方扩展开发者在多Docker环境中的Joomla部署。此外,我还关注语言分发基础设施的自动化方面,并在Joomla生态系统的其他多个领域提供帮助。
尼尔斯:我叫尼尔斯·布拉策克。在我的日常生活中,我大量涉及软件质量和自动化。因此,我对自动化测试的兴趣是自然而然的。我在团队中的角色是利用我的Docker专业知识支持卢埃林。
你们多久开一次会,会议是如何进行的?
虽然我们应该定期开会,但现实情况是,我们现在很少开会。大多数协调和活动都是通过pull请求或Mattermost上的聊天直接处理的。
你们使用哪些工具进行协作?
我们的主要工具是Github,讨论在pull请求中进行。除此之外,我们可能在Mattermost中互相提出想法。
如果你用三个词来形容团队的氛围,那会是什么词?
考虑周到、精确、轻松。
团队在过去一年(几年)里是如何发展的?
在过去几年里,团队通过进一步标准化,如采用PSR-12代码风格标准,采用Cypress进行系统/端到端测试,将我们使用的工具合并为单一集,并为我们的存储库提供更多覆盖,取得了相当大的成就。
不幸的是,团队的工作往往较为高级,因此对加入的新人兴趣较低。随着人们在生活中重新定位自己,我们的团队规模有所缩小。
你们面临哪些困难,以及你们如何(计划)克服它们?
我们面临的主要困难是人手不足,以及phpUnit和cypress中的实际测试数量不足。我们希望今年能吸引更多人加入团队,以解决团队规模问题,并希望这些新成员能帮助我们解决测试不足的问题。
你们需要更多志愿者吗?如果需要,需要哪些职位?
我们绝对需要更多的志愿者。如果您熟悉phpUnit或cypress并且想要改进我们的当前测试套件,您非常受欢迎。如果您想深入了解静态代码分析或持续部署,我们也会有任务为您安排。我们还在考虑创建一个文档页面,其中包含我们在Joomla中所有表单元素的正确文档和实时测试。
链接和信息
在我们的志愿者门户上创建个人资料,您可以访问我们的Mattermost实例
在Joomla社区杂志上发表的一些文章代表了作者在特定主题上的个人观点或经验,可能并不符合Joomla项目的官方立场
通过接受,您将访问https://magazine.joomla.net.cn/外部提供的第三方服务
评论