首页 > 编程知识 正文

前端开发和测试开发哪个好,软件测试自动化真的好吗

时间:2023-05-06 01:21:00 阅读:140853 作者:2331

我们都希望构建一个网络APP应用程序易于维护的测试。 作为这个目标的一部分,我们希望专注于测试本身,不要局限于实施的具体细节。 从长远来看,测试必须是可维护的,软件的定期更改不会破坏测试本身,也不会减慢团队的开发速度。

迭代速度 / 现实环境

有些测试工具在进行更改并显示结果的过程中提供了简单的反馈循环,但无法准确模仿浏览器的行为。 其他工具可能会使用实际的浏览器环境,但这可能会降低迭代速度,并在连续集成系统中变得更加脆弱。

1销售专员

著名的浏览器web APP应用程序测试框架。 可以用多种编程语言(如Java、C#、Ruby、JavaScript、r和Python )编写测试用例。

Selenium为每种语言提供客户端API。

selenium web驱动程序尽可能使用本机操作系统级别的功能来驱动浏览器,而不是使用浏览器基于JavaScript的命令。

这样可以避免由于本机功能和JavaScript命令之间的细微差别而导致的问题,包括安全限制。 它还提供了支持iframe和多个浏览器选项卡的灵活性。

出色的跨浏览器功能令人印象深刻。 可以在主要浏览器(Chrome、Firefox、Safari、Edge和Internet Explorer )中运行Selenium测试。

Selenium Grid可以与web驱动程序一起使用,以在远程系统上运行测试。

使用Selenium的唯一缺点是需要很多技能,而且编写测试需要时间。 对于没有编程经验的人来说,乍一看用Selenium写测试好像很容易; 但是,如果没有最佳实践,项目中的测试自动化框架就很难维护,稳定性和可靠性还不够。

2结束测试

Endtest是一种智能的自动化测试解决方案,它使用多个开源和开源组件来简化测试的创建和运行过程。 其中之一是使用Recorder组件使用户能够在不使用编程技术的情况下创建和执行测试。 您可以使用图形界面编辑和管理自己的测试用例,而无需编写代码。

与Selenium一样灵活,可以自动化iframe、多个浏览器选项卡、文件上传和ShadowDOM等测试场景。 与Selenium一样,它具有浏览器之间的特性,支持所有主要浏览器(Chrome、Firefox、Safari、Edge和Internet Explorer )。 它还包括跨浏览器的云框架,支持Windows、Mac和移动设备上的浏览器。

此外,还有支持执行JavaScripts的组件,以及发送API请求并连接到数据库以执行SQL语句的组件。

这些组件可以用于向测试中添加其他验证步骤,以及准备或清理测试环境。

3 Watir

Watir是Ruby的浏览器自动化测试开源库。

Watir的作用和浏览器和人一样。 例如,单击web元素并输入字符。

其基础是Selenium,它提供了类似的灵活性,还提供了跨浏览器的支持。 它还支持iframes和多个浏览器选项卡。

Watir的最大优点是API很容易使用。 在复杂的Selenium API的基础上添加简洁性。

但是,其主要缺点是没有Selenium那么受欢迎,很难找到答案和解决方案。

4打印机

提供高级API并通过DevTools协议控制Chrome (或Chromium )的Node库。

我想将来会取代Selenium。 它还具有支持iframe和多个浏览器选项卡的灵活性。

有趣的是,有两个不同的软件包: puppeteer-core和puppeteer

唯一的不同在于,puppeteer-core在安装后不会自动下载Chromium。

puppeteer的主要缺点是缺乏跨浏览器功能,因为它仅适用于基于Chromium的浏览器。

即使Opera和Edge迁移到Chromium,也不能保证Firefox和Safari将来也会这样做。

另一个缺点是唯一支持的语言是Node.js。 即使到2020年一切似乎都以JS为中心展开,也可能会有用户想使用其他语言进行自动化测试的开发。

5播放

一个节点库,允许通过单个API在Chromium、Firefox和WebKit浏览器中执行自动测试。

Playwright的目的是在不断增加的Web浏览器集中实现操作自动化。 Playwright与Puppeteer相似。

支持多页、多域名、iframes测试,还可以模拟移动设备,测试地理方向和权限控制。

有更广泛的跨浏览器支持,但不支持Internet Explorer。

p>

因为它是一个相对较新的库,所以你可能现在在线上找不到很多资源。

如果你在编写 Node.js 代码方面有扎实的经验,那么 Playwright 可以一试。

6 Sikuli

在运行 Windows、Mac 或 Linux 的台式计算机屏幕上看到的任何内容,都可以使用 Sikuli 执行自动化测试。

它使用由 OpenCV 支持的图像识别来识别视觉组件。如果无法轻松访问 GUI 内部或要操作的应用程序或网页的源代码,这个工具会非常方便。实际上,这是大多数现代 RPA 解决方案背后的技术。

Sikuli 的优点是,元素具有唯一属性或属性是否更改都无关紧要,因为 Sikuli 仅依赖于视觉识别。

它的主要缺点是视觉容忍度让用户很难在不同的浏览器和屏幕尺寸之间实现自动化。

并且,使用 Sikuli 库需要编程技巧,并且你可以在 Python、Ruby 和 Java 之间选择。

如果你有涉及 Web 应用程序和桌面应用程序的混合自动化测试,则较好的做法是将 Selenium 用于 Web 组件,将 Sikuli 用于桌面组件。

7 Micro Focus UFT (QTP)

专有解决方案,以前称为 QuickTest Professional(QTP)。它提供了使 Web 应用程序和桌面应用程序自动化的功能。

它使用 Visual Basic 脚本语言来定位应用程序中的元素并与之交互。同时,它还提供了一个 IDE,你只需在 GUI 中创建一个流程即可在不编写任何代码的情况下构建测试。

该工具已经存在很长时间,并且确实使 Selenium 失去了很多市场份额。

8 IBM Rational Functional Tester

一个提供功能、回归、GUI 和数据驱动测试的自动化测试的专业工具。它确实包括有限的跨浏览器功能,因为它仅适用于 Chrome、Firefox 和 Internet Explorer。主要优点是它还可用于自动化桌面应用程序。

优势之一是它具有 Eclipse Java Developer Toolkit 编辑器,这让你的团队可以轻松地使用 Eclipse 在 Java 中编写测试脚本。自带的 IDE 工具箱编辑器包含以下功能,如代码自动完成和高级调试选项。

将 IBM Rational Functional Tester 与 CI/CD 系统集成可能会很困难,因为它被设计用在你自己的工作站上

https://www.ibm.com/us-en/marketplace/rational-functional-tester

9 Jest

Jest 是一个 JavaScript 框架,允许你通过 jsdom 访问 DOM。

值得一提的是,jsdom 只是浏览器工作方式的一个近似值,用于 React 应用程序的测试框架,但不是跨浏览器测试的可靠选择。

Jest 确实提供了良好的迭代速度,并且具有强大的功能,例如模拟模块和计时器。

理想情况下,开发人员应使用它来测试某些组件,但结果不能保证该应用程序在实际的浏览器中可以正常工作。

https://jestjs.io/

10 Cucumber

Cucumber 是一个开源的行为驱动测试工具,支持多种编程语言,包括 Ruby,Java,Scala 和 Groovy。

创建测试案例需要编程技术。实际功能可以通过使用 Gherkin 来调用。

使用 Cucumber 的明显优势是,非技术用户可以轻松理解这些方案。

可以说 Cucumber 并不是 Selenium 的替代品,而仅仅是对 Selenium 进行了一层包装。

Selenium 和 Cucumber 的组合可提高代码的可读性,并使其更易于重用组件。

end… … … … … … … … … … … …
多说一句

我是个自动化测试人员上面是我收集的一些视频资源,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们扣扣群(785128166)里面有各种软件测试资源和技术讨论。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。