如果没有人了解Python,那么就不要浪费时间培训Python知识。在选择测试框架时同样会遵循此原则。如果项目开发语言是Java,那么需要支持Java的自动化测试框架。对于遗留项目,同样如此。

译者 | 仇凯

审校 | 孙淑娟


编程语言一直是自动化测试、自动化测试人员、框架甚至工作职责中不可或缺的一部分。如果一个遗留项目已经使用了Java进行测试,该公司会为该项目寻找具备Java专业知识的人员。同样,如果新项目需要从零开始构建测试流程,那么首要考虑的事情就是团队擅长哪种通用编程语言。


如果没有人了解Python,那么就不要浪费时间培训Python知识。在选择测试框架时同样会遵循此原则。如果项目开发语言是Java,那么需要支持Java的自动化测试框架。对于遗留项目,同样如此。


评估的过程可以根据需要调整,但结论是保持不变的,即使测试人员的工作会在这种情况中受到限制。实际上,一个好的测试人员可能擅长编码,也可能不擅长编码,但他在观察功能和应用程序行为方面应该是完美的。


总之,他应该擅长“测试”。


我们正在进入一个无代码时代。


顾名思义,无代码工具遵循类似的方法。如果你擅长软件测试,则不必过多担心语法和库。为了同一个目标,在这篇文章中,我们试图探索适用于无代码和开源这两种令人敬畏的哲学的测试工具,因为软件应该取之于人,用之于人。




一、为什么要使用无代码开源测试工具?




作为一名程序员,我知道如果你擅长编程,你可能会有跳过本节或整篇文章的冲动。但事实是,即便我们非常喜欢编程,也无法让所有人都喜欢编程,尤其是在自动化测试领域。在Katalon(一家提供自动化测试产品的公司)和KMS(一家科技公司)对自动化测试问题进行的一项调查中,排在第二位的是缺乏专业人员。


图片


不仅如此,只有56%的人认为自己或团队有足够的技术来执行自动化和维护测试任务。这是一个巨大的问题,无代码工具似乎可以解决这个问题。


无代码工具不需要通过编程来编写测试用例。每个工具都有独特的使用方法,例如使用英语创建测试用例、拖放UI元素或直接进行数据重放。


开源工具在不同的领域工作。它不关心框架的使用,而是关心框架的开发。开源工具的开发对所有人开放。你和我都可以直接访问贡献页面并以我们认为合适的方式参与贡献(只要他们目前正在接受贡献)。


了解这些信息后,我们可以继续探索适用于无代码和开源技术的组合工具。




二、开源无代码测试工具





以下工具提供了采用开源技术的无代码方案。请注意,这些工具的出现顺序不代表推荐排名。


1.Testsigma


Testsigma是基于云的自动化测试工具,与传统测试相比,它可以显著提升测试开发效率。你可以直接在云上注册使用Testsigma,无需任何额外设置。或使用Docker镜像在本地部署,通过英语或记录用户操作创建测试脚本,自动转换为可编辑的步骤。你还可以通过各种浏览器和设备直接在云上执行测试任务。


所以与其写这样的测试脚本:





Webdriver driver;String URL = “https://testsigma.com”
driver.get(URL);1.2.3.

还不如写类似“打开https://www.testsigma.com页面”的测试用例。


后一种更容易理解和记忆。


图片


该平台具有内置的可视化测试、参数化或数据驱动的测试、2FA(两步验证)测试和更高级的功能,可轻松完成自动化测试。


对于移动设备测试,Testsigma使用配备测试记录器的真实设备以节省时间。记录器可以将用户的操作转换为英文语言测试,反之亦然。这些操作可以被保存或进行进一步编辑。


该工具通过人工智能进行维护,可以在本地或云端运行。提供云服务选项有助于Testsigma为团队之间的顺畅协作提供支持,并通过简单的操作分享报告。此外,你可以通过扩展平台使用内置插件或使用Testsigma的SDK创建属于自己自定义插件,以丰富Testsigma的功能。


可以访问Testsigma的官方GitHub仓库以了解更多信息。


2.Selenium IDE


Selenium IDE是用于Web测试的开源无代码工具。该工具要求用户在测试Web应用程序的浏览器上安装扩展程序。Selenium IDE在无代码领域中使用“记录和重放”理念。这种理念要求用户与应用程序交互,然后所有交互操作都会被IDE记录。随后,这些操作记录会形成测试操作,可以在其他版本或测试套件中执行相同的测试任务。


Selenium IDE也可以通过命令行使用,这种场景需要安装一些额外的组件。


图片


测试人员还可以通过选择不同的插件,来扩展Selenium IDE的功能。他们会向你介绍其他命令或扩展插件对第三方应用程序的支持情况。


你可以访问Selenium IDE的官方GitHub仓库以了解更多信息。


3.SikuliX


SikuliX的官方网站称“SikuliX可以在Windows、Mac或某些Linux/Unix系统中自动执行屏幕中显示的所有内容。”这本身就是一个强有力的声明。


SikuliX使用由OpenCV提供支持的图像识别技术识别各种GUI元素,然后以无代码的方式工作。它不需要检查应用程序的源代码,因此更加易于操作。SikuliX还可以模拟键鼠交互。


图片


你可以访问SikuliX的官方GitHub仓库以了解更多信息。


4.Rapise


Rapise是开源无代码自动化测试工具,用于Web测试、移动应用程序测试和桌面应用程序测试。简而言之,Rapise可以对测试人员想要检测的任何程序进行测试。该工具使用无代码架构中的记录和重放功能,并提供测试用例编辑功能,因此极大扩展了其在测试方面的灵活性和兼容性。


通过Rapise,测试人员可以在测试记录期间对浏览器中执行的重放测试任务进行实时验证。它提供了基于电子表格的编辑器,用于编辑测试记录,如下所示:


图片


Rapise还配备了基于人工智能的测试技术,可以在测试对象变化时进行适配调整。还可以同时为测试目标执行集成数据驱动测试和关键字驱动测试。正如Rapise所说,“通过使用Rapise,你可以为许多技术进行测试。”


你可以访问Rapise的官方GitHub仓库以了解更多信息。


5.Testproject


Testproject是免费且自由使用的,但不是真正的开源软件,而是作为无脚本自动化测试工具被熟知,用于Web、移动应用测试以及API测试。该工具适用于所有主要平台(Windows、macOS和Linux),可用于测试浏览器、版本迭代或移动设备(感谢跨浏览器测试协作)。


图片


基于云的基础架构可帮助测试人员和团队实现远程协同工作。在工具特殊需求和集成方面为很多公司提供附加支持,以便在协作时更有效的使用内建工具达成功能需求。


Testproject与记录器一起工作,可以与Selenium和Appium结合使用,供喜欢脚本的人使用。



三、你喜欢哪种无代码技术?




无代码自动化工具使测试人员更接近软件,而不必担心自己是否精通软件所用的编程语言。无代码测试让测试人员专注于观察以高效发现错误并节省时间,进而加快交付速度。但是,工具开发人员仍然需要制定通用标准,使得人们能够通过通用标准而非编程去完成软件测试任务。


这使得每个无代码工具都是独一无二的。更不用说开源世界的特性可以将开发人员聚集在一起,并尽可能的为项目做出贡献来增强软件功能。


我希望在阅读完这篇文章后,你会关注一种无代码测试方案。如果你有其他可以使用的开源无代码工具,请将它们放在评论中。


祝大家使用无代码测试方案快乐!


原文链接:https://hackernoon.com/popular-codeless-open-source-testing-tools


译者介绍


仇凯,51CTO社区编辑,目前就职于北京宅急送快运股份有限公司,职位为信息安全工程师。主要负责公司信息安全规划和建设(等保,ISO27001),日常主要工作内容为安全方案制定和落地、内部安全审计和风险评估以及管理。