📜  兼容性测试

📅  最后修改于: 2021-01-11 00:33:11             🧑  作者: Mango

兼容性测试

在本节中,我们将了解什么是兼容性测试,为什么使用它,何时执行它,兼容性测试的类型,兼容性测试过程以及兼容性错误和工具。

什么是兼容性测试?

它是非功能测试的一部分。

在不同的软件,硬件平台,网络和浏览器上检查应用程序的功能称为兼容性测试。

为什么我们使用兼容性测试?

一旦应用程序稳定后,我们将其移至生产环境,可能会被不同平台上的多个用户使用或访问,并且他们可能会遇到一些兼容性问题,为避免这些问题,我们将进行一轮兼容性测试。

我们什么时候应该进行兼容性测试?

通常,仅当应用程序或软件功能稳定时,我们才进行兼容性测试。


注意:并非针对每个应用程序都执行此操作;我们将仅对无法控制用户使用平台的应用程序执行此操作。

兼容性测试的类型

以下是兼容性测试的类型:

  • 软件
  • 硬件
  • 网络
  • 移动

软件

在这里,软件是指不同的操作系统(Linux,Window和Mac),并且还会检查各种版本的操作系统(例如Win98,Window 7,Window 10,Vista,Window XP,Window 8,UNIX,Ubuntu,和Mac。

并且,我们有两种类型的版本兼容性测试,如下所示:

  • 前向兼容性测试:在新版本或最新版本上测试软件或应用程序。例如:平台(软件)的最新版本Win 7→Win 8→Win 8.1→Win 10
  • 向后兼容性测试:在旧版本或早期版本上测试软件或应用程序。例如: Windows XP→Vista→Win 7→Win 8→Win 8.1

还有其他浏览器,例如Google Chrome,FirefoxInternet Explorer等。

硬件

该应用程序兼容各种大小,例如RAM,硬盘,处理器和图形卡等。

移动

检查应用程序是否与iOS,Android等移动平台兼容。

网络

检查软件在不同网络参数(如运行速度,带宽和容量)中的兼容性。

测试兼容性测试中最具挑战性的部分是什么?

执行兼容性测试时,最具挑战性的事情是确定要测试的必要需求。

我们无法在所有现有平台上进行测试,因为这将是一个耗时的过程。

因此,我们仅选择最终用户常用的平台。

兼容性测试流程

在这里,我们正在执行OS(操作系统)兼容性测试过程。

  • 首先,客户将给出功能需求和非功能需求。
  • 在获得非功能性需求后,一个基础平台将根据最常用的平台来决定。
  • 之后,测试工程师将在基础平台上开始功能测试,直到应用程序功能稳定为止。
  • 我们必须在不同的平台上测试该应用程序,因此,我们拥有一个VMware软件。

注意1:VMware软件:在VMware的帮助下,我们可以将一台物理机分为多个虚拟机,可以同时对其进行访问。

  • 为了进行兼容性测试,我们将使用VM Server,其中安装了所有必需的操作系统和浏览器,并使用远程桌面连接访问该服务器。
  • 我们访问远程设置的VMware,然后,测试工程师将在平台上进行一轮兼容性测试,并检查端到端流程。
  • 端到端流程将一直持续到应用程序稳定,并且应用程序可以在所有必需平台上正常工作并移交给客户。

注意2:对于浏览器兼容性测试,我们不必进行VMware设置,因为可以在一台计算机上安装多个浏览器,也可以同时访问它们。对于同一浏览器的各种版本,由于不能从单个系统中同时访问多个版本的浏览器,因此必须采用VMware设置。我们可以在不同平台上进行软件兼容性测试。

兼容性测试错误/问题

这些错误是在一个平台上发生的错误,而不是在另一平台上发生的错误。

通常,兼容性错误是用户界面问题,一些UI问题如下:

  • 对齐问题
  • 重叠问题
  • 分散的问题
  • 外观问题

对齐问题

对齐问题是页面元素未按正确格式对齐,如下图所示:

重叠问题

当一个属性与另一个属性重叠时,当我们尝试在不同平台,浏览器上打开应用程序时,可能会发生这种情况,如下图所示:

分散的问题

当测试工程师在应用程序上执行兼容性测试,并且该应用程序与所有浏览器和平台不兼容时,这就是为什么可能发生分散问题的原因,如下图所示:

在兼容性测试中,我们将在不同平台上测试功能,集成和端到端流程。

兼容性问题:当应用程序功能不在一个操作系统上运行但在其他操作系统上运行正常时。发生这种情况是因为开发人员编写的程序不仅在一个平台上运行,而且在所有其他平台上运行良好。

功能问题:某项功能无法在所有操作系统/平台上正常工作时。这也称为功能缺陷问题。

对于兼容性测试,测试执行报告如下所示:

兼容性测试工具

一些最常用的兼容性测试工具如下:

  • LambdaTest
  • 浏览器堆栈
  • 浏览电子邮件
  • 测试机器人

LambdaTest

它是云中的开源浏览器兼容性测试工具。借助该工具,我们可以在几乎所有移动浏览器和台式机浏览器上测试我们的Web应用程序。 LambdaTest具有屏幕截图功能,使我们可以获取网页的全页面屏幕截图。

在此工具中,我们可以在真实的浏览器上测试我们的应用程序,并且用户拥有大量的移动和桌面浏览器选项来检查应用程序的兼容性。

浏览器堆栈

此工具可帮助我们在多个浏览器和平台上测试网站和移动应用程序的兼容性。

在此,我们可以在各种浏览器中测试Web应用程序,并在所有移动设备中测试诸如android和iOS之类的移动应用程序。

BrowserStack工具的主要产品是Live,Automate,App Live和App Automate,借助这些工具,我们可以保持成本。

这些工具可帮助我们减少与测试相关的时间,价格和维护开销。

浏览电子邮件

该工具可以在不同的操作系统(例如Linux,Windows和macOS)上运行该应用程序,并且它是跨浏览器测试工具。

它用于在所有移动浏览器和台式机上测试应用程序,我们可以在本地计算机和本地网络中直接使用它。

我们可以在没有任何网络延迟的情况下执行回归和可视化测试,还可以针对许多台式机和移动浏览器记录并播放自动化测试。

测试机器人

该工具用于在各种浏览器(如Firefox,Chrome,Edge,IE,Safari等)上执行测试。在此,我们可以比较来自多个浏览器和平台的屏幕截图,并测试应用程序的响应式布局。

它将提供大量浏览器版本,以立即使用自动化测试。